From 836efd237cf1a532ab7513ba147f5f88ad7bfad2 Mon Sep 17 00:00:00 2001 From: bailey-layzer Date: Sun, 19 Jul 2020 10:49:40 -0700 Subject: [PATCH] fix internal command parsing (args.is_last) (#2224) --- crates/nu-parser/src/parse.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/nu-parser/src/parse.rs b/crates/nu-parser/src/parse.rs index aedb288c68..bc34fdf69e 100644 --- a/crates/nu-parser/src/parse.rs +++ b/crates/nu-parser/src/parse.rs @@ -1381,10 +1381,11 @@ fn classify_pipeline( if let Some(signature) = registry.get(&format!("{} {}", lite_cmd.name.item, lite_cmd.args[0].item)) { - let (internal_command, err) = + let (mut internal_command, err) = parse_internal_command(&lite_cmd, registry, &signature, 1); error = error.or(err); + internal_command.args.is_last = iter.peek().is_none(); commands.push(ClassifiedCommand::Internal(internal_command)); continue; } @@ -1392,10 +1393,11 @@ fn classify_pipeline( // Check if it's an internal command if let Some(signature) = registry.get(&lite_cmd.name.item) { - let (internal_command, err) = + let (mut internal_command, err) = parse_internal_command(&lite_cmd, registry, &signature, 0); error = error.or(err); + internal_command.args.is_last = iter.peek().is_none(); commands.push(ClassifiedCommand::Internal(internal_command)); continue; }