summaryrefslogtreecommitdiff
path: root/cli/lsp/tsc.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/tsc.rs')
-rw-r--r--cli/lsp/tsc.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/cli/lsp/tsc.rs b/cli/lsp/tsc.rs
index 7442f8a1e..2c63131b6 100644
--- a/cli/lsp/tsc.rs
+++ b/cli/lsp/tsc.rs
@@ -2817,10 +2817,10 @@ impl CompletionEntry {
let mut kind: Option<lsp::CompletionItemKind> =
Some(self.kind.clone().into());
- let sort_text = if self.source.is_some() {
- Some(format!("\u{ffff}{}", self.sort_text))
+ let mut sort_text = if self.source.is_some() {
+ format!("\u{ffff}{}", self.sort_text)
} else {
- Some(self.sort_text.clone())
+ self.sort_text.clone()
};
let preselect = self.is_recommended;
@@ -2888,6 +2888,13 @@ impl CompletionEntry {
}
}
}
+ // We want relative or bare (import-mapped or otherwise) specifiers to
+ // appear at the top.
+ if resolve_url(&source).is_err() {
+ sort_text += "_0";
+ } else {
+ sort_text += "_1";
+ }
label_details
.get_or_insert_with(Default::default)
.description = Some(source);
@@ -2919,7 +2926,7 @@ impl CompletionEntry {
label,
label_details,
kind,
- sort_text,
+ sort_text: Some(sort_text),
preselect,
text_edit,
filter_text,