summaryrefslogtreecommitdiff
path: root/cli/lsp/language_server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r--cli/lsp/language_server.rs15
1 files changed, 10 insertions, 5 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs
index 3fe969ba3..6ddbb1a51 100644
--- a/cli/lsp/language_server.rs
+++ b/cli/lsp/language_server.rs
@@ -207,11 +207,11 @@ pub struct Inner {
module_registry: ModuleRegistry,
/// A lazily create "server" for handling test run requests.
maybe_testing_server: Option<testing::TestServer>,
- npm_search_api: CliNpmSearchApi,
+ pub npm_search_api: CliNpmSearchApi,
project_version: usize,
/// A collection of measurements which instrument that performance of the LSP.
performance: Arc<Performance>,
- resolver: Arc<LspResolver>,
+ pub resolver: Arc<LspResolver>,
task_queue: LanguageServerTaskQueue,
/// A memoized version of fixable diagnostic codes retrieved from TypeScript.
ts_fixable_diagnostics: Vec<String>,
@@ -1612,8 +1612,8 @@ impl Inner {
None => false,
})
.collect();
+ let mut code_actions = CodeActionCollection::default();
if !fixable_diagnostics.is_empty() {
- let mut code_actions = CodeActionCollection::default();
let file_diagnostics = self
.diagnostics_server
.get_ts_diagnostics(&specifier, asset_or_doc.document_lsp_version());
@@ -1721,9 +1721,14 @@ impl Inner {
.add_cache_all_action(&specifier, no_cache_diagnostics.to_owned());
}
}
- code_actions.set_preferred_fixes();
- all_actions.extend(code_actions.get_response());
}
+ if let Some(document) = asset_or_doc.document() {
+ code_actions
+ .add_source_actions(document, &params.range, self)
+ .await;
+ }
+ code_actions.set_preferred_fixes();
+ all_actions.extend(code_actions.get_response());
// Refactor
let only = params