aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-term/src/commands/lsp.rs2
-rw-r--r--helix-view/src/editor.rs10
2 files changed, 7 insertions, 5 deletions
diff --git a/helix-term/src/commands/lsp.rs b/helix-term/src/commands/lsp.rs
index f7d35873..948f3484 100644
--- a/helix-term/src/commands/lsp.rs
+++ b/helix-term/src/commands/lsp.rs
@@ -1395,7 +1395,7 @@ pub fn rename_symbol(cx: &mut Context) {
let Some(language_server) = doc
.language_servers_with_feature(LanguageServerFeature::RenameSymbol)
- .find(|ls| language_server_id.is_none() || Some(ls.id()) == language_server_id)
+ .find(|ls| language_server_id.map_or(true, |id| id == ls.id()))
else {
cx.editor.set_error("No configured language server supports symbol renaming");
return;
diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs
index afb8d91f..280002bd 100644
--- a/helix-view/src/editor.rs
+++ b/helix-view/src/editor.rs
@@ -1136,8 +1136,9 @@ impl Editor {
let doc_language_servers_not_in_registry =
doc.language_servers.iter().filter(|(name, doc_ls)| {
- !language_servers.contains_key(*name)
- || language_servers[*name].id() != doc_ls.id()
+ language_servers
+ .get(*name)
+ .map_or(true, |ls| ls.id() != doc_ls.id())
});
for (_, language_server) in doc_language_servers_not_in_registry {
@@ -1145,8 +1146,9 @@ impl Editor {
}
let language_servers_not_in_doc = language_servers.iter().filter(|(name, ls)| {
- !doc.language_servers.contains_key(*name)
- || doc.language_servers[*name].id() != ls.id()
+ doc.language_servers
+ .get(*name)
+ .map_or(true, |doc_ls| ls.id() != doc_ls.id())
});
for (_, language_server) in language_servers_not_in_doc {