summaryrefslogtreecommitdiff
path: root/cli/lsp/tsc.rs
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2021-03-25 11:13:37 +1100
committerGitHub <noreply@github.com>2021-03-25 11:13:37 +1100
commit5ebb4017030c065c31d52be50dc7fa7a4c128d64 (patch)
tree2983a0deeb164cc64ab45feb0f892e969b386115 /cli/lsp/tsc.rs
parentd6d5ced1ab90404d25a87a242ee5b03ca655abe5 (diff)
feat(lsp): add import completions (#9821)
Diffstat (limited to 'cli/lsp/tsc.rs')
-rw-r--r--cli/lsp/tsc.rs22
1 files changed, 14 insertions, 8 deletions
diff --git a/cli/lsp/tsc.rs b/cli/lsp/tsc.rs
index c2418d157..7569036f5 100644
--- a/cli/lsp/tsc.rs
+++ b/cli/lsp/tsc.rs
@@ -1202,7 +1202,7 @@ impl CompletionEntry {
None
};
- let data = CompletionItemData {
+ let tsc = CompletionItemData {
specifier: specifier.clone(),
position,
name: self.name.clone(),
@@ -1220,7 +1220,9 @@ impl CompletionEntry {
filter_text,
detail,
tags,
- data: Some(serde_json::to_value(data).unwrap()),
+ data: Some(json!({
+ "tsc": tsc,
+ })),
..Default::default()
}
}
@@ -2075,12 +2077,16 @@ mod tests {
let specifier =
resolve_url(specifier).expect("failed to create specifier");
documents.open(specifier.clone(), *version, source);
- if let Some((deps, _)) = analysis::analyze_dependencies(
- &specifier,
- source,
- &MediaType::from(&specifier),
- &None,
- ) {
+ let media_type = MediaType::from(&specifier);
+ if let Ok(parsed_module) =
+ analysis::parse_module(&specifier, source, &media_type)
+ {
+ let (deps, _) = analysis::analyze_dependencies(
+ &specifier,
+ &media_type,
+ &parsed_module,
+ &None,
+ );
documents.set_dependencies(&specifier, Some(deps)).unwrap();
}
}