summaryrefslogtreecommitdiff
path: root/support/texlab/src/features/symbol/latex.rs
diff options
context:
space:
mode:
Diffstat (limited to 'support/texlab/src/features/symbol/latex.rs')
-rw-r--r--support/texlab/src/features/symbol/latex.rs29
1 files changed, 4 insertions, 25 deletions
diff --git a/support/texlab/src/features/symbol/latex.rs b/support/texlab/src/features/symbol/latex.rs
index 81927ab515..8bb5680483 100644
--- a/support/texlab/src/features/symbol/latex.rs
+++ b/support/texlab/src/features/symbol/latex.rs
@@ -9,7 +9,6 @@ use crate::{
syntax::latex::{self, HasBrack, HasCurly},
util::{
label::{find_caption_by_parent, LabeledFloatKind},
- lang_data::LANGUAGE_DATA,
line_index_ext::LineIndexExt,
},
Db,
@@ -41,17 +40,9 @@ fn visit(db: &dyn Db, document: Document, node: latex::SyntaxNode) -> Vec<Intern
.and_then(|name| name.key())
.map(|name| name.to_string())
.and_then(|name| {
- if LANGUAGE_DATA
- .math_environments
- .iter()
- .any(|env| env == &name)
- {
+ if db.config().syntax.math_environments.contains(&name) {
visit_equation_environment(db, document, node.clone())
- } else if LANGUAGE_DATA
- .enum_environments
- .iter()
- .any(|env| env == &name)
- {
+ } else if db.config().syntax.enum_environments.contains(&name) {
visit_enumeration(db, document, node.clone(), &name)
} else if let Ok(float_kind) = LabeledFloatKind::from_str(&name) {
visit_float(db, document, node.clone(), float_kind)
@@ -86,7 +77,6 @@ fn visit_section(
) -> Option<InternalSymbol> {
let section = latex::Section::cast(node)?;
let full_range = document
- .contents(db)
.line_index(db)
.line_col_lsp_range(latex::small_range(&section));
@@ -133,6 +123,7 @@ fn visit_enum_item(
document: Document,
node: latex::SyntaxNode,
) -> Option<InternalSymbol> {
+ let enum_envs = &db.config().syntax.enum_environments;
let enum_item = latex::EnumItem::cast(node.clone())?;
if !enum_item
.syntax()
@@ -141,18 +132,12 @@ fn visit_enum_item(
.filter_map(|environment| environment.begin())
.filter_map(|begin| begin.name())
.filter_map(|name| name.key())
- .any(|name| {
- LANGUAGE_DATA
- .enum_environments
- .iter()
- .any(|e| e == &name.to_string())
- })
+ .any(|name| enum_envs.contains(&name.to_string()))
{
return None;
}
let full_range = document
- .contents(db)
.line_index(db)
.line_col_lsp_range(latex::small_range(&enum_item));
@@ -198,7 +183,6 @@ fn visit_equation(
let equation = latex::Equation::cast(node)?;
let full_range = document
- .contents(db)
.line_index(db)
.line_col_lsp_range(latex::small_range(&equation));
@@ -213,7 +197,6 @@ fn visit_equation_environment(
let environment = latex::Environment::cast(node)?;
let full_range = document
- .contents(db)
.line_index(db)
.line_col_lsp_range(latex::small_range(&environment));
@@ -268,7 +251,6 @@ fn visit_enumeration(
) -> Option<InternalSymbol> {
let environment = latex::Environment::cast(node)?;
let full_range = document
- .contents(db)
.line_index(db)
.line_col_lsp_range(latex::small_range(&environment));
@@ -315,7 +297,6 @@ fn visit_float(
) -> Option<InternalSymbol> {
let environment = latex::Environment::cast(node)?;
let full_range = document
- .contents(db)
.line_index(db)
.line_col_lsp_range(latex::small_range(&environment));
@@ -382,7 +363,6 @@ fn visit_theorem(
.and_then(|option| option.content_text());
let full_range = document
- .contents(db)
.line_index(db)
.line_col_lsp_range(latex::small_range(&node));
@@ -454,7 +434,6 @@ fn find_label_by_parent(
let node = parent.children().find_map(latex::LabelDefinition::cast)?;
let name = Word::new(db, node.name()?.key()?.to_string());
let range = document
- .contents(db)
.line_index(db)
.line_col_lsp_range(latex::small_range(&node));