Skip to content

Commit c50a255

Browse files
fix
1 parent 1d94af4 commit c50a255

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

pyrefly/lib/state/lsp/quick_fixes/introduce_parameter.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -715,12 +715,13 @@ fn build_call_argument_insertion(
715715
let insertion_text;
716716
match insert_style {
717717
ParameterInsertStyle::Positional => {
718-
if let Some(last_arg) = args.last() {
718+
if let Some(first_kw) = keywords.first() {
719+
let keyword_argument = format!("{param_name}={argument_text}");
720+
insertion_point = Some(first_kw.range().start());
721+
insertion_text = format!("{keyword_argument}, ");
722+
} else if let Some(last_arg) = args.last() {
719723
insertion_point = Some(last_arg.range().end());
720724
insertion_text = format!(", {argument_text}");
721-
} else if let Some(first_kw) = keywords.first() {
722-
insertion_point = Some(first_kw.range().start());
723-
insertion_text = format!("{argument_text}, ");
724725
} else {
725726
insertion_text = argument_text.to_owned();
726727
}

pyrefly/lib/test/lsp/code_actions.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1429,7 +1429,7 @@ def add(a, b, param):
14291429
)
14301430
14311431
def caller():
1432-
add(1, (1) + (2), b=2)
1432+
add(1, param=(1) + (2), b=2)
14331433
"#;
14341434
assert_eq!(expected.trim(), updated.trim());
14351435
}

0 commit comments

Comments
 (0)