feat: add support for lsp workspace command arguments in prompt

pull/12075/head
Louis D 1 week ago
parent b8313da5a8
commit 0e03a66aa0
No known key found for this signature in database
GPG Key ID: 3B92AF37D48795B0

@ -1426,19 +1426,28 @@ fn lsp_workspace_command(
};
cx.jobs.callback(callback);
} else {
let command = args.join(" ");
let command = args.first().unwrap().to_string();
let matches: Vec<_> = ls_id_commands
.filter(|(_ls_id, c)| *c == &command)
.collect();
match matches.as_slice() {
[(ls_id, _command)] => {
let lsp_command_args: Vec<Value> = args[1..]
.iter()
.map(|s| Value::String(s.to_string()))
.collect();
execute_lsp_command(
cx.editor,
*ls_id,
helix_lsp::lsp::Command {
title: command.clone(),
arguments: None,
arguments: if lsp_command_args.is_empty() {
None
} else {
Some(lsp_command_args)
},
command,
},
);

Loading…
Cancel
Save