diff options
Diffstat (limited to 'support/texlab/src/features/completion/builder.rs')
-rw-r--r-- | support/texlab/src/features/completion/builder.rs | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/support/texlab/src/features/completion/builder.rs b/support/texlab/src/features/completion/builder.rs index 686d39b62b..0373587a06 100644 --- a/support/texlab/src/features/completion/builder.rs +++ b/support/texlab/src/features/completion/builder.rs @@ -11,7 +11,7 @@ use serde::{Deserialize, Serialize}; use smol_str::SmolStr; use crate::{ - db::{Document, Workspace}, + db::{Document, ServerContext, Workspace}, syntax::{ bibtex::{self, HasName, HasType}, latex, @@ -44,7 +44,7 @@ impl<'db> CompletionBuilder<'db> { let items = Vec::new(); let matcher = SkimMatcherV2::default().ignore_case(); let text_pattern = match &context.cursor { - Cursor::Tex(token) if token.kind().is_command_name() => { + Cursor::Tex(token) if token.kind() == latex::COMMAND_NAME => { if token.text_range().start() + TextSize::from(1) == context.offset { // Handle cases similar to this one correctly: // $\|$ % (| is the cursor) @@ -426,18 +426,9 @@ impl<'db> CompletionBuilder<'db> { .map(|(i, item)| self.convert_item(item, i)) .collect(); - list.is_incomplete = if self - .context - .workspace - .client_info(self.context.db) - .as_ref() - .map_or(false, |client| client.name.as_str() == "Visual Studio Code") - { - true - } else { - list.items.len() >= COMPLETION_LIMIT - }; - + let db = self.context.db; + let always_incomplete = ServerContext::get(db).always_incomplete_completion_list(db); + list.is_incomplete = always_incomplete || list.items.len() >= COMPLETION_LIMIT; list } |