Maintain language servers TOML array order in `doc.language_servers`

pull/2507/head
Philipp Mildenberger 2 years ago
parent ff26208427
commit 073000e54d

@ -1429,13 +1429,17 @@ impl Document {
self.version self.version
} }
/// maintains the order as configured in the language_servers TOML array
pub fn language_servers(&self) -> impl Iterator<Item = &helix_lsp::Client> { pub fn language_servers(&self) -> impl Iterator<Item = &helix_lsp::Client> {
self.language_servers.values().filter_map(|l| { self.language_config().into_iter().flat_map(move |config| {
if l.is_initialized() { config.language_servers.iter().filter_map(move |features| {
Some(&**l) let ls = &**self.language_servers.get(&features.name)?;
} else { if ls.is_initialized() {
None Some(ls)
} } else {
None
}
})
}) })
} }

Loading…
Cancel
Save