-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: wrong hint for deprecated Deno APIs #1222
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for catching the wrong URLs suggested by the linter. It also seems like the doc is outdated too - would you be interested in working on it? (if not, no worries. I will open an issue in that case)
Replacement::NameAndUrls(name_and_urls) => { | ||
let mut hint = String::from("Use "); | ||
for (i, (name, url)) in name_and_urls.into_iter().enumerate() { | ||
if i != 0 { | ||
hint.push_str(" and "); | ||
} | ||
hint.push_str(&format!("`{}` from {}", name, url)); | ||
} | ||
hint.push_str(" instead"); | ||
hint | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we get a unit test for the method hint
? It would be great to confirm what hints are generated for complicated cases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added unit test 68b0003
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
I'm a bit worried that putting all the information in one line might look overwhelming to users.
One idea that came up to my mind is to separate hints into multiple lines, where each line contains just one reference to alternative API. Something like this:
Use the following APIs instead
- `WritableStream` from https://deno.land/api?s=WritableStream
- `ReadableStream.from` from https://deno.land/api?s=ReadableStream#variable_ReadableStream
- `ReadableStream.pipeTo` from https://deno.land/api?s=ReadableStream#method_pipeTo_4
But I'm not really sure if this is doable with the current mechanism of showing diagnostics that depends on miette
crate.
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@magurotuna
Yes, such diagnostic results are indeed easy to understand.
However, I am not familiar with miette, so I don't know if it can output such diagnostic results
Also, since this is a sample implementation, I wonder if I need to work that hard
How about drafting a separate issue from this PR and improving it?
I would like to limit the scope of this issue to fixing the wrong message for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That makes sense, we can do further improvement in a follow-up PR. Let's land it as-is then 👍
I'll update docs in other PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
fix #1221
The results