summaryrefslogtreecommitdiff
path: root/support/texlab/src/diagnostics/latex.rs
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-04 03:02:48 +0000
committerNorbert Preining <norbert@preining.info>2021-06-04 03:02:48 +0000
commita5ae129f3aa3a3a0aeaa21c55b75a1d543fe4111 (patch)
treefe5e1e212aec203e668df8581a17374cdde352a1 /support/texlab/src/diagnostics/latex.rs
parentd231c6331f53a048d29c2f847254a9f56d5ee2dd (diff)
CTAN sync 202106040302
Diffstat (limited to 'support/texlab/src/diagnostics/latex.rs')
-rw-r--r--support/texlab/src/diagnostics/latex.rs22
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(),