about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-10-15 07:41:29 +0000
committerbors <bors@rust-lang.org>2023-10-15 07:41:29 +0000
commit65532e417d6554e895b07361382078384ffc93d6 (patch)
tree10ac33a4f97ea211da05c79295e58261bffceca7
parentdbe53920102ec5f16fd6bb4d7fb9d6a58e7dd6c7 (diff)
parentbc34e8f1ad252aeda6064708abe3af944b6faf5d (diff)
Auto merge of #15755 - Young-Flash:cursor_selection, r=lnicola
fix: make cursor select at _tmp

Here make cursor select at `_tmp` atuomatically after the assist apply. Refer to [vscode snippet placeholder](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_placeholders).

![cursor_selection](https://github.com/rust-lang/rust-analyzer/assets/71162630/a7866efe-2d54-488b-903e-9df039f34a7e)

following https://github.com/rust-lang/rust-analyzer/pull/15752
-rw-r--r--crates/ide-assists/src/handlers/replace_is_method_with_if_let_method.rs8
-rw-r--r--crates/ide-assists/src/tests/generated.rs2
2 files changed, 5 insertions, 5 deletions
diff --git a/crates/ide-assists/src/handlers/replace_is_method_with_if_let_method.rs b/crates/ide-assists/src/handlers/replace_is_method_with_if_let_method.rs
index b897ddc2457..e5b4c33eb34 100644
--- a/crates/ide-assists/src/handlers/replace_is_method_with_if_let_method.rs
+++ b/crates/ide-assists/src/handlers/replace_is_method_with_if_let_method.rs
@@ -16,7 +16,7 @@ use crate::{AssistContext, AssistId, AssistKind, Assists};
 // ```
 // fn main() {
 //     let x = Some(1);
-//     if let Some(_tmp) = x {}
+//     if let Some(${0:_tmp}) = x {}
 // }
 // ```
 pub(crate) fn replace_is_method_with_if_let_method(
@@ -44,7 +44,7 @@ pub(crate) fn replace_is_method_with_if_let_method(
             };
 
             acc.add(AssistId(assist_id, AssistKind::RefactorRewrite), message, target, |edit| {
-                let replacement = format!("let {}(_tmp) = {}", text, receiver);
+                let replacement = format!("let {}({}) = {}", text, "${0:_tmp}", receiver);
                 edit.replace(target, replacement);
             })
         }
@@ -71,7 +71,7 @@ fn main() {
             r#"
 fn main() {
     let x = Some(1);
-    if let Some(_tmp) = x {}
+    if let Some(${0:_tmp}) = x {}
 }
 "#,
         );
@@ -103,7 +103,7 @@ fn main() {
             r#"
 fn main() {
     let x = Ok(1);
-    if let Ok(_tmp) = x {}
+    if let Ok(${0:_tmp}) = x {}
 }
 "#,
         );
diff --git a/crates/ide-assists/src/tests/generated.rs b/crates/ide-assists/src/tests/generated.rs
index d2b801336a5..6b4a9744087 100644
--- a/crates/ide-assists/src/tests/generated.rs
+++ b/crates/ide-assists/src/tests/generated.rs
@@ -2571,7 +2571,7 @@ fn main() {
         r#####"
 fn main() {
     let x = Some(1);
-    if let Some(_tmp) = x {}
+    if let Some(${0:_tmp}) = x {}
 }
 "#####,
     )