From 8577d3ff413e6cecf8f84e03f89080c99995632f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=BD=C3=A1dn=C3=ADk?= Date: Sun, 12 Sep 2021 15:48:19 +0300 Subject: [PATCH] Check for left-unbounded range before external cmd --- crates/nu-parser/src/parser.rs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/crates/nu-parser/src/parser.rs b/crates/nu-parser/src/parser.rs index 839f43db88..27acdeca6b 100644 --- a/crates/nu-parser/src/parser.rs +++ b/crates/nu-parser/src/parser.rs @@ -469,15 +469,6 @@ pub fn parse_call( spans: &[Span], expand_aliases: bool, ) -> (Expression, Option) { - // We might be parsing left-unbounded range ("..10") - let bytes = working_set.get_span_contents(spans[0]); - if let (Some(b'.'), Some(b'.')) = (bytes.get(0), bytes.get(1)) { - let (range_expr, range_err) = parse_range(working_set, spans[0]); - if range_err.is_none() { - return (range_expr, range_err); - } - } - // assume spans.len() > 0? let mut pos = 0; let mut shorthand = vec![]; @@ -601,6 +592,14 @@ pub fn parse_call( err, ) } else { + // We might be parsing left-unbounded range ("..10") + let bytes = working_set.get_span_contents(spans[0]); + if let (Some(b'.'), Some(b'.')) = (bytes.get(0), bytes.get(1)) { + let (range_expr, range_err) = parse_range(working_set, spans[0]); + if range_err.is_none() { + return (range_expr, range_err); + } + } parse_external_call(working_set, spans) } }