diff options
author | Norbert Preining <norbert@preining.info> | 2021-06-04 03:02:48 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-06-04 03:02:48 +0000 |
commit | a5ae129f3aa3a3a0aeaa21c55b75a1d543fe4111 (patch) | |
tree | fe5e1e212aec203e668df8581a17374cdde352a1 /support/texlab/src/diagnostics/latex.rs | |
parent | d231c6331f53a048d29c2f847254a9f56d5ee2dd (diff) |
CTAN sync 202106040302
Diffstat (limited to 'support/texlab/src/diagnostics/latex.rs')
-rw-r--r-- | support/texlab/src/diagnostics/latex.rs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/support/texlab/src/diagnostics/latex.rs b/support/texlab/src/diagnostics/latex.rs index b835f88398..012e9b399f 100644 --- a/support/texlab/src/diagnostics/latex.rs +++ b/support/texlab/src/diagnostics/latex.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use cstree::TextRange; -use lsp_types::{Diagnostic, DiagnosticSeverity}; +use lsp_types::{Diagnostic, DiagnosticSeverity, NumberOrString}; use multimap::MultiMap; use crate::{ @@ -31,7 +31,7 @@ pub fn analyze_latex_static( Diagnostic { range: document.line_index.line_col_lsp_range(node.text_range()), severity: Some(DiagnosticSeverity::Error), - code: None, + code: Some(NumberOrString::Number(1)), code_description: None, source: Some("texlab".to_string()), message: "Unexpected \"}\"".to_string(), @@ -56,15 +56,15 @@ fn analyze_environment( node: &latex::SyntaxNode, ) -> Option<()> { let environment = latex::Environment::cast(node)?; - let name1 = environment.begin()?.name()?.word()?; - let name2 = environment.end()?.name()?.word()?; - if name1.text() != name2.text() { + let name1 = environment.begin()?.name()?.key()?; + let name2 = environment.end()?.name()?.key()?; + if name1 != name2 { diagnostics_by_uri.insert( Arc::clone(&document.uri), Diagnostic { - range: document.line_index.line_col_lsp_range(name1.text_range()), + range: document.line_index.line_col_lsp_range(name1.small_range()), severity: Some(DiagnosticSeverity::Error), - code: None, + code: Some(NumberOrString::Number(3)), code_description: None, source: Some("texlab".to_string()), message: "Mismatched environment".to_string(), @@ -98,8 +98,10 @@ fn analyze_curly_group( .filter_map(latex::Environment::cast) .filter_map(|env| env.begin()) .filter_map(|begin| begin.name()) - .filter_map(|name| name.word()) - .any(|name| ["asy", "lstlisting", "minted", "verbatim"].contains(&name.text())); + .filter_map(|name| name.key()) + .any(|name| { + ["asy", "lstlisting", "minted", "verbatim"].contains(&name.to_string().as_str()) + }); if !is_inside_verbatim_environment && !node @@ -114,7 +116,7 @@ fn analyze_curly_group( .line_index .line_col_lsp_range(TextRange::empty(node.text_range().end())), severity: Some(DiagnosticSeverity::Error), - code: None, + code: Some(NumberOrString::Number(2)), code_description: None, source: Some("texlab".to_string()), message: "Missing \"}\" inserted".to_string(), |