diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2021-03-25 11:13:37 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-25 11:13:37 +1100 |
commit | 5ebb4017030c065c31d52be50dc7fa7a4c128d64 (patch) | |
tree | 2983a0deeb164cc64ab45feb0f892e969b386115 /cli/lsp/tsc.rs | |
parent | d6d5ced1ab90404d25a87a242ee5b03ca655abe5 (diff) |
feat(lsp): add import completions (#9821)
Diffstat (limited to 'cli/lsp/tsc.rs')
-rw-r--r-- | cli/lsp/tsc.rs | 22 |
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(); } } |