Skip to content

Commit ef8be02

Browse files
committed
fix(parser): missing span of short flag that requires a value
1 parent 4e56cd5 commit ef8be02

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

crates/nu-cli/tests/completions/mod.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1563,9 +1563,7 @@ fn flag_completions() {
15631563
let mut completer = NuCompleter::new(Arc::new(engine), Arc::new(stack));
15641564
// Test completions for the 'ls' flags
15651565
let suggestions = completer.complete("ls -", 4);
1566-
15671566
assert_eq!(18, suggestions.len());
1568-
15691567
let expected: Vec<_> = vec![
15701568
"--all",
15711569
"--directory",
@@ -1586,9 +1584,12 @@ fn flag_completions() {
15861584
"-s",
15871585
"-t",
15881586
];
1589-
15901587
// Match results
15911588
match_suggestions(&expected, &suggestions);
1589+
1590+
// https://github.com/nushell/nushell/issues/16375
1591+
let suggestions = completer.complete("table -", 7);
1592+
assert_eq!(20, suggestions.len());
15921593
}
15931594

15941595
#[test]

crates/nu-parser/src/parser.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,15 @@ pub fn parse_internal_call(
11441144
working_set.error(ParseError::MissingFlagParam(
11451145
arg_shape.to_string(),
11461146
arg_span,
1147-
))
1147+
));
1148+
call.add_named((
1149+
Spanned {
1150+
item: String::new(),
1151+
span: spans[spans_idx],
1152+
},
1153+
None,
1154+
None,
1155+
));
11481156
}
11491157
} else if flag.long.is_empty() {
11501158
if let Some(short) = flag.short {

0 commit comments

Comments
 (0)