diff --git a/helix-term/src/ui/mod.rs b/helix-term/src/ui/mod.rs index 01ffe243..60ad3b24 100644 --- a/helix-term/src/ui/mod.rs +++ b/helix-term/src/ui/mod.rs @@ -330,13 +330,19 @@ pub mod completers { pub fn language(editor: &Editor, input: &str) -> Vec { let matcher = Matcher::default(); - let mut matches: Vec<_> = editor + let text: String = "text".into(); + + let language_ids = editor .syn_loader .language_configs() - .filter_map(|config| { + .map(|config| &config.language_id) + .chain(std::iter::once(&text)); + + let mut matches: Vec<_> = language_ids + .filter_map(|language_id| { matcher - .fuzzy_match(&config.language_id, input) - .map(|score| (&config.language_id, score)) + .fuzzy_match(language_id, input) + .map(|score| (language_id, score)) }) .collect();