Unnamed repository; edit this file 'description' to name the repository.
Address feedback from @DropDemBits
- move `edit.rename()` to the end of the function - use a match statement to set `res.command`
Josh McKinney 2024-07-14
parent 8efe8a8 · commit bfa6a5c
-rw-r--r--crates/ide-assists/src/handlers/extract_variable.rs4
-rw-r--r--crates/rust-analyzer/src/config.rs2
-rw-r--r--crates/rust-analyzer/src/lsp/to_proto.rs17
3 files changed, 10 insertions, 13 deletions
diff --git a/crates/ide-assists/src/handlers/extract_variable.rs b/crates/ide-assists/src/handlers/extract_variable.rs
index af21a83972..cb34f8d81a 100644
--- a/crates/ide-assists/src/handlers/extract_variable.rs
+++ b/crates/ide-assists/src/handlers/extract_variable.rs
@@ -135,7 +135,6 @@ pub(crate) fn extract_variable(acc: &mut Assists, ctx: &AssistContext<'_>) -> Op
}
}
}
- edit.rename();
}
Anchor::Replace(stmt) => {
cov_mark::hit!(test_extract_var_expr_stmt);
@@ -150,7 +149,6 @@ pub(crate) fn extract_variable(acc: &mut Assists, ctx: &AssistContext<'_>) -> Op
}
}
}
- edit.rename();
}
Anchor::WrapInBlock(to_wrap) => {
let indent_to = to_wrap.indent_level();
@@ -194,12 +192,12 @@ pub(crate) fn extract_variable(acc: &mut Assists, ctx: &AssistContext<'_>) -> Op
}
}
}
- edit.rename();
// fixup indentation of block
block.indent(indent_to);
}
}
+ edit.rename();
},
)
}
diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs
index 990ef77642..91cde4dc0a 100644
--- a/crates/rust-analyzer/src/config.rs
+++ b/crates/rust-analyzer/src/config.rs
@@ -1128,7 +1128,7 @@ pub struct WorkspaceSymbolConfig {
/// How many items are returned at most.
pub search_limit: usize,
}
-
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct ClientCommandsConfig {
pub run_single: bool,
pub debug_single: bool,
diff --git a/crates/rust-analyzer/src/lsp/to_proto.rs b/crates/rust-analyzer/src/lsp/to_proto.rs
index b0003fa89e..323926e435 100644
--- a/crates/rust-analyzer/src/lsp/to_proto.rs
+++ b/crates/rust-analyzer/src/lsp/to_proto.rs
@@ -1336,15 +1336,14 @@ pub(crate) fn code_action(
command: None,
};
- if assist.command == Some(assists::Command::TriggerSignatureHelp)
- && snap.config.client_commands().trigger_parameter_hints
- {
- res.command = Some(command::trigger_parameter_hints());
- } else if assist.command == Some(assists::Command::Rename)
- && snap.config.client_commands().rename
- {
- res.command = Some(command::rename());
- }
+ let commands = snap.config.client_commands();
+ res.command = match assist.command {
+ Some(assists::Command::TriggerSignatureHelp) if commands.trigger_parameter_hints => {
+ Some(command::trigger_parameter_hints())
+ }
+ Some(assists::Command::Rename) if commands.rename => Some(command::rename()),
+ _ => None,
+ };
match (assist.source_change, resolve_data) {
(Some(it), _) => res.edit = Some(snippet_workspace_edit(snap, it)?),