diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2024-06-26 23:47:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-26 23:47:01 +0100 |
commit | 67dcd6db518446574d3a1e33f4ce536fcdc4fd25 (patch) | |
tree | 23d6aa1d867b1efded9c0e638c89513ca492a44f /cli/lsp/code_lens.rs | |
parent | 2a2ff96be13047cb50612fde0f12e5f6df374ad3 (diff) |
feat(lsp): ts language service scopes (#24345)
Diffstat (limited to 'cli/lsp/code_lens.rs')
-rw-r--r-- | cli/lsp/code_lens.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/cli/lsp/code_lens.rs b/cli/lsp/code_lens.rs index 21daf0ac4..2996103be 100644 --- a/cli/lsp/code_lens.rs +++ b/cli/lsp/code_lens.rs @@ -1,5 +1,7 @@ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +use crate::lsp::logging::lsp_warn; + use super::analysis::source_range_to_lsp_range; use super::config::CodeLensSettings; use super::language_server; @@ -27,6 +29,7 @@ use std::cell::RefCell; use std::collections::HashSet; use std::rc::Rc; use std::sync::Arc; +use tower_lsp::jsonrpc::Error as LspError; use tower_lsp::lsp_types as lsp; static ABSTRACT_MODIFIER: Lazy<Regex> = lazy_regex!(r"\babstract\b"); @@ -260,7 +263,11 @@ async fn resolve_implementation_code_lens( data.specifier.clone(), line_index.offset_tsc(code_lens.range.start)?, ) - .await?; + .await + .map_err(|err| { + lsp_warn!("{err}"); + LspError::internal_error() + })?; if let Some(implementations) = maybe_implementations { let mut locations = Vec::new(); for implementation in implementations { @@ -357,7 +364,11 @@ async fn resolve_references_code_lens( data.specifier.clone(), line_index.offset_tsc(code_lens.range.start)?, ) - .await?; + .await + .map_err(|err| { + lsp_warn!("Unable to find references: {err}"); + LspError::internal_error() + })?; let locations = get_locations(maybe_referenced_symbols, language_server)?; let title = if locations.len() == 1 { "1 reference".to_string() |