diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2022-03-02 16:06:38 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-03 08:06:38 +1100 |
commit | e8c47755bbde3d14b38fd51de70922b1773ef6ee (patch) | |
tree | c692371b0f5e78d3b2a4afbff3cab1b3ba25f833 /cli/lsp/documents.rs | |
parent | 9de5275030b294bdcc9950bc6fa05feb93a43953 (diff) |
chore(lsp): log more for "unexpected positions" lsp error (#13815)
Ref #13657
Diffstat (limited to 'cli/lsp/documents.rs')
-rw-r--r-- | cli/lsp/documents.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/cli/lsp/documents.rs b/cli/lsp/documents.rs index cc320db46..13071157b 100644 --- a/cli/lsp/documents.rs +++ b/cli/lsp/documents.rs @@ -159,12 +159,19 @@ impl IndexValid { } #[derive(Debug, Clone)] -pub(crate) enum AssetOrDocument { +pub enum AssetOrDocument { Document(Document), Asset(AssetDocument), } impl AssetOrDocument { + pub fn specifier(&self) -> &ModuleSpecifier { + match self { + AssetOrDocument::Asset(asset) => asset.specifier(), + AssetOrDocument::Document(doc) => doc.specifier(), + } + } + pub fn document(&self) -> Option<&Document> { match self { AssetOrDocument::Asset(_) => None, @@ -211,6 +218,10 @@ impl AssetOrDocument { pub fn document_lsp_version(&self) -> Option<i32> { self.document().and_then(|d| d.maybe_lsp_version()) } + + pub fn is_open(&self) -> bool { + self.document().map(|d| d.is_open()).unwrap_or(false) + } } #[derive(Debug, Clone)] @@ -229,7 +240,7 @@ struct DocumentInner { } #[derive(Debug, Clone)] -pub(crate) struct Document(Arc<DocumentInner>); +pub struct Document(Arc<DocumentInner>); impl Document { fn new( |