Unnamed repository; edit this file 'description' to name the repository.
improve logic for trailing comma addition
Eduardo Canellas 2022-01-05
parent a961266 · commit 838944b
-rw-r--r--crates/ide_completion/src/completions/fn_param.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/crates/ide_completion/src/completions/fn_param.rs b/crates/ide_completion/src/completions/fn_param.rs
index e73e39d136..2fb5336f87 100644
--- a/crates/ide_completion/src/completions/fn_param.rs
+++ b/crates/ide_completion/src/completions/fn_param.rs
@@ -98,8 +98,18 @@ fn should_add_self_completions(ctx: &CompletionContext, param_list: ast::ParamLi
}
fn surround_with_commas(ctx: &CompletionContext, param: String) -> Option<String> {
- let end_of_param_list = matches!(ctx.token.next_token()?.kind(), SyntaxKind::R_PAREN);
- let trailing = if end_of_param_list { "" } else { "," };
+ let next_token = {
+ let t = ctx.token.next_token()?;
+ if !matches!(t.kind(), SyntaxKind::WHITESPACE) {
+ t
+ } else {
+ t.next_token()?
+ }
+ };
+
+ let trailing_comma_missing = matches!(next_token.kind(), SyntaxKind::IDENT);
+ let trailing = if trailing_comma_missing { "," } else { "" };
+ dbg!(&ctx.token.next_token()?);
let previous_token = if matches!(ctx.token.kind(), SyntaxKind::IDENT | SyntaxKind::WHITESPACE) {
ctx.previous_token.as_ref()?