diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/lsp/language_server.rs | 10 | ||||
-rw-r--r-- | cli/lsp/tsc.rs | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index 367be2c3b..5879a7491 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -1550,8 +1550,14 @@ impl Inner { match diagnostic.source.as_deref() { Some("deno-ts") => { let code = match diagnostic.code.as_ref().unwrap() { - NumberOrString::String(code) => code.to_string(), - NumberOrString::Number(code) => code.to_string(), + NumberOrString::String(code) => match code.parse() { + Ok(c) => c, + Err(e) => { + lsp_warn!("Invalid diagnostic code {code}: {e}"); + continue; + } + }, + NumberOrString::Number(code) => *code, }; let codes = vec![code]; let actions = self diff --git a/cli/lsp/tsc.rs b/cli/lsp/tsc.rs index 0f7ec2b6c..61308092e 100644 --- a/cli/lsp/tsc.rs +++ b/cli/lsp/tsc.rs @@ -511,7 +511,7 @@ impl TsServer { snapshot: Arc<StateSnapshot>, specifier: ModuleSpecifier, range: Range<u32>, - codes: Vec<String>, + codes: Vec<i32>, format_code_settings: FormatCodeSettings, preferences: UserPreferences, ) -> Vec<CodeFixAction> { @@ -4817,7 +4817,7 @@ pub enum TscRequest { String, u32, u32, - Vec<String>, + Vec<i32>, FormatCodeSettings, UserPreferences, )>, |