on master help sign in
Use let else instead of variable and fix some error messages
8ab6d7bPhilipp Mildenberger
helix-term/src/commands.rs+1−1
@@ -4093,7 +4093,7 @@ fn format_selections(cx: &mut Context) {
4093 Some(future_offset_encoding) => future_offset_encoding,
4093 Some(future_offset_encoding) => future_offset_encoding,
4094 None => {
4094 None => {
4095 cx.editor
4095 cx.editor
4096− .set_error("No language server supports range formatting");
4096+ .set_error("No configured language server supports range formatting");
4097 return;
4097 return;
4098 }
4098 }
4099 };
4099 };
helix-term/src/commands/lsp.rs+11−9
@@ -389,7 +389,7 @@ pub fn symbol_picker(cx: &mut Context) {
389
389
390 if futures.is_empty() {
390 if futures.is_empty() {
391 cx.editor
391 cx.editor
392− .set_error("No Language server does support document symbols");
392+ .set_error("No configured language server supports document symbols");
393 return;
393 return;
394 }
394 }
395
395
@@ -433,7 +433,7 @@ pub fn workspace_symbol_picker(cx: &mut Context) {
433 .collect();
433 .collect();
434
434
435 if futures.is_empty() {
435 if futures.is_empty() {
436− editor.set_error("No Language server does support workspace symbols");
436+ editor.set_error("No configured language server supports workspace symbols");
437 }
437 }
438
438
439 async move {
439 async move {
@@ -663,7 +663,7 @@ pub fn code_action(cx: &mut Context) {
663
663
664 if futures.is_empty() {
664 if futures.is_empty() {
665 cx.editor
665 cx.editor
666− .set_error("No Language server does support code actions");
666+ .set_error("No configured language server supports code actions");
667 return;
667 return;
668 }
668 }
669
669
@@ -1043,7 +1043,8 @@ where
1043 },
1043 },
1044 );
1044 );
1045 } else {
1045 } else {
1046+ cx.editor
1046− cx.editor.set_error("No language server supports {feature}");
1047+ .set_error("No configured language server supports {feature}");
1047 }
1048 }
1048}
1049}
1049
1050
@@ -1106,7 +1107,7 @@ pub fn goto_reference(cx: &mut Context) {
1106 );
1107 );
1107 } else {
1108 } else {
1108 cx.editor
1109 cx.editor
1109− .set_error("No language server supports goto-reference");
1110+ .set_error("No configured language server supports goto-reference");
1110 }
1111 }
1111}
1112}
1112
1113
@@ -1138,7 +1139,7 @@ pub fn signature_help_impl(cx: &mut Context, invoked: SignatureHelpInvoked) {
1138 // automatically on backspace, trigger characters, etc.
1139 // automatically on backspace, trigger characters, etc.
1139 if invoked == SignatureHelpInvoked::Manual {
1140 if invoked == SignatureHelpInvoked::Manual {
1140 cx.editor
1141 cx.editor
1141− .set_error("No language server supports signature-help");
1142+ .set_error("No configured language server supports signature-help");
1142 }
1143 }
1143 return;
1144 return;
1144 }
1145 }
@@ -1269,7 +1270,8 @@ pub fn hover(cx: &mut Context) {
1269 let future = match request {
1270 let future = match request {
1270 Some(future) => future,
1271 Some(future) => future,
1271 None => {
1272 None => {
1273+ cx.editor
1272− cx.editor.set_error("No language server supports hover");
1274+ .set_error("No configured language server supports hover");
1273 return;
1275 return;
1274 }
1276 }
1275 };
1277 };
@@ -1393,7 +1395,7 @@ pub fn rename_symbol(cx: &mut Context) {
1393 }
1395 }
1394 } else {
1396 } else {
1395 cx.editor
1397 cx.editor
1396− .set_error("No language server supports symbol renaming");
1398+ .set_error("No configured language server supports symbol renaming");
1397 }
1399 }
1398 },
1400 },
1399 )
1401 )
@@ -1459,7 +1461,7 @@ pub fn select_references_to_symbol_under_cursor(cx: &mut Context) {
1459 Some(future_offset_encoding) => future_offset_encoding,
1461 Some(future_offset_encoding) => future_offset_encoding,
1460 None => {
1462 None => {
1461 cx.editor
1463 cx.editor
1462− .set_error("No language server supports document-highlight");
1464+ .set_error("No configured language server supports document-highlight");
1463 return;
1465 return;
1464 }
1466 }
1465 };
1467 };
helix-term/src/commands/typed.rs+7−11
@@ -1330,23 +1330,19 @@ fn lsp_workspace_command(
1330 return Ok(());
1330 return Ok(());
1331 }
1331 }
1332 let doc = doc!(cx.editor);
1332 let doc = doc!(cx.editor);
1333− let id_options = doc
1333+ let Some((language_server_id, options)) = doc
1334 .language_servers_with_feature(LanguageServerFeature::WorkspaceCommand)
1334 .language_servers_with_feature(LanguageServerFeature::WorkspaceCommand)
1335 .find_map(|ls| {
1335 .find_map(|ls| {
1336 ls.capabilities()
1336 ls.capabilities()
1337 .execute_command_provider
1337 .execute_command_provider
1338 .as_ref()
1338 .as_ref()
1339 .map(|options| (ls.id(), options))
1339 .map(|options| (ls.id(), options))
1340− });
1340+ })
1341−
1341+ else {
1342− let (language_server_id, options) = match id_options {
1343− Some(id_options) => id_options,
1344− None => {
1345− cx.editor.set_status(
1342+ cx.editor.set_status(
1346− "No active language servers for this document support workspace commands",
1343+ "No active language servers for this document support workspace commands",
1347− );
1344+ );
1348− return Ok(());
1345+ return Ok(());
1349− }
1350 };
1346 };
1351
1347
1352 if args.is_empty() {
1348 if args.is_empty() {