on master help sign in
Maintain language servers TOML array order in `doc.language_servers`
073000ePhilipp Mildenberger
helix-view/src/document.rs+10−6
@@ -1429,13 +1429,17 @@ impl Document {
1429 self.version
1429 self.version
1430 }
1430 }
1431
1431
1432+ /// maintains the order as configured in the language_servers TOML array
1432 pub fn language_servers(&self) -> impl Iterator<Item = &helix_lsp::Client> {
1433 pub fn language_servers(&self) -> impl Iterator<Item = &helix_lsp::Client> {
1434+ self.language_config().into_iter().flat_map(move |config| {
1433− self.language_servers.values().filter_map(|l| {
1435+ config.language_servers.iter().filter_map(move |features| {
1436+ let ls = &**self.language_servers.get(&features.name)?;
1434− if l.is_initialized() {
1437+ if ls.is_initialized() {
1435− Some(&**l)
1438+ Some(ls)
1436− } else {
1439+ } else {
1437− None
1440+ None
1441+ }
1438− }
1442+ })
1439 })
1443 })
1440 }
1444 }
1441
1445