diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2021-11-08 11:50:48 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-08 11:50:48 +1100 |
commit | 182de1452b7e03f1dd7cd85ac80ca432ef4a621c (patch) | |
tree | cbdf877ffee33ef1724edae8236d45460edeaefa /cli/lsp/language_server.rs | |
parent | 91f8bdda2cfb98ffdbce59a600fc3602534d5249 (diff) |
fix(lsp): display module types only dependencies on hover (#12683)
Fixes: #12675
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r-- | cli/lsp/language_server.rs | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index 656bff1f4..89e286718 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -1087,21 +1087,34 @@ impl Inner { &specifier, ¶ms.text_document_position_params.position, ) { - let value = match (&dep.maybe_code, &dep.maybe_type) { - (Some(code_dep), Some(type_dep)) => format!( + let maybe_types_dependency = + self.documents.get_maybe_types_for_dependency(&dep); + let value = match (&dep.maybe_code, &dep.maybe_type, &maybe_types_dependency) { + (Some(code_dep), Some(type_dep), None) => format!( "**Resolved Dependency**\n\n**Code**: {}\n\n**Types**: {}\n", to_hover_text(code_dep), to_hover_text(type_dep) ), - (Some(code_dep), None) => format!( + (Some(code_dep), Some(type_dep), Some(types_dep)) => format!( + "**Resolved Dependency**\n\n**Code**: {}\n**Types**: {}\n**Import Types**: {}\n", + to_hover_text(code_dep), + to_hover_text(types_dep), + to_hover_text(type_dep) + ), + (Some(code_dep), None, None) => format!( "**Resolved Dependency**\n\n**Code**: {}\n", to_hover_text(code_dep) ), - (None, Some(type_dep)) => format!( + (Some(code_dep), None, Some(types_dep)) => format!( + "**Resolved Dependency**\n\n**Code**: {}\n\n**Types**: {}\n", + to_hover_text(code_dep), + to_hover_text(types_dep) + ), + (None, Some(type_dep), _) => format!( "**Resolved Dependency**\n\n**Types**: {}\n", to_hover_text(type_dep) ), - (None, None) => unreachable!("{}", json!(params)), + (None, None, _) => unreachable!("{}", json!(params)), }; Some(Hover { contents: HoverContents::Markup(MarkupContent { @@ -2661,11 +2674,6 @@ impl Inner { .performance .mark("virtual_text_document", Some(¶ms)); let specifier = self.url_map.normalize_url(¶ms.text_document.uri); - info!( - "virtual_text_document\n{}\nspecifier: {}", - json!(params), - specifier - ); let contents = if specifier.as_str() == "deno:/status.md" { let mut contents = String::new(); let mut documents_specifiers = self.documents.specifiers(false, false); |