summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/lsp/analysis.rs18
1 files changed, 11 insertions, 7 deletions
diff --git a/cli/lsp/analysis.rs b/cli/lsp/analysis.rs
index 652697a9e..cd7d45928 100644
--- a/cli/lsp/analysis.rs
+++ b/cli/lsp/analysis.rs
@@ -647,6 +647,10 @@ fn is_preferred(
}
}
true
+ } else if let CodeActionKind::Deno(_) = i {
+ // This is to make sure 'Remove import' isn't preferred over 'Cache
+ // dependencies'.
+ return false;
} else {
true
}
@@ -1031,18 +1035,18 @@ impl CodeActionCollection {
/// Move out the code actions and return them as a `CodeActionResponse`.
pub fn get_response(self) -> lsp::CodeActionResponse {
- // Prefer TSC fixes first, then Deno fixes, then Deno lint fixes.
- let (tsc, rest): (Vec<_>, Vec<_>) = self
+ // Prefer Deno fixes first, then TSC fixes, then Deno lint fixes.
+ let (deno, rest): (Vec<_>, Vec<_>) = self
.actions
.into_iter()
- .partition(|a| matches!(a, CodeActionKind::Tsc(..)));
- let (deno, deno_lint): (Vec<_>, Vec<_>) = rest
- .into_iter()
.partition(|a| matches!(a, CodeActionKind::Deno(_)));
+ let (tsc, deno_lint): (Vec<_>, Vec<_>) = rest
+ .into_iter()
+ .partition(|a| matches!(a, CodeActionKind::Tsc(..)));
- tsc
+ deno
.into_iter()
- .chain(deno)
+ .chain(tsc)
.chain(deno_lint)
.map(|k| match k {
CodeActionKind::Deno(c) => lsp::CodeActionOrCommand::CodeAction(c),