diff options
Diffstat (limited to 'crates/ide')
-rw-r--r-- | crates/ide/src/completion/presentation.rs | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/crates/ide/src/completion/presentation.rs b/crates/ide/src/completion/presentation.rs index c7d460465..987cbfa7a 100644 --- a/crates/ide/src/completion/presentation.rs +++ b/crates/ide/src/completion/presentation.rs | |||
@@ -225,7 +225,7 @@ impl Completions { | |||
225 | .flat_map(|(it, param_ty)| { | 225 | .flat_map(|(it, param_ty)| { |
226 | if let Some(pat) = it.pat() { | 226 | if let Some(pat) = it.pat() { |
227 | let name = pat.to_string(); | 227 | let name = pat.to_string(); |
228 | let arg = name.trim_start_matches('_'); | 228 | let arg = name.trim_start_matches("mut ").trim_start_matches('_'); |
229 | return Some(add_arg(arg, param_ty.ty(), ctx)); | 229 | return Some(add_arg(arg, param_ty.ty(), ctx)); |
230 | } | 230 | } |
231 | None | 231 | None |
@@ -962,6 +962,27 @@ fn main() { | |||
962 | } | 962 | } |
963 | 963 | ||
964 | #[test] | 964 | #[test] |
965 | fn trim_mut_keyword_in_func_completion() { | ||
966 | check_edit( | ||
967 | "take_mutably", | ||
968 | r#" | ||
969 | fn take_mutably(mut x: &i32) {} | ||
970 | |||
971 | fn main() { | ||
972 | take_m<|> | ||
973 | } | ||
974 | "#, | ||
975 | r#" | ||
976 | fn take_mutably(mut x: &i32) {} | ||
977 | |||
978 | fn main() { | ||
979 | take_mutably(${1:x})$0 | ||
980 | } | ||
981 | "#, | ||
982 | ); | ||
983 | } | ||
984 | |||
985 | #[test] | ||
965 | fn inserts_parens_for_tuple_enums() { | 986 | fn inserts_parens_for_tuple_enums() { |
966 | mark::check!(inserts_parens_for_tuple_enums); | 987 | mark::check!(inserts_parens_for_tuple_enums); |
967 | check_edit( | 988 | check_edit( |