Scripting bug fixes and more tests
This commit is contained in:
@@ -9,6 +9,7 @@ fn simple_expansion() {
|
||||
write_vars(|v| v.new_var("foo", "this is the value of the variable".into()));
|
||||
|
||||
let mut tokens: Vec<Tk> = LexStream::new(varsub, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.filter(|tk| !matches!(tk.class, TkRule::EOI | TkRule::SOI))
|
||||
.collect();
|
||||
let var_tk = tokens.pop().unwrap();
|
||||
|
||||
@@ -3,7 +3,9 @@ use super::super::*;
|
||||
#[test]
|
||||
fn parse_simple() {
|
||||
let input = "echo hello world";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty()).collect();
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
@@ -12,7 +14,9 @@ fn parse_simple() {
|
||||
#[test]
|
||||
fn parse_pipeline() {
|
||||
let input = "echo foo | sed s/foo/bar";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty()).collect();
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
@@ -21,7 +25,9 @@ fn parse_pipeline() {
|
||||
#[test]
|
||||
fn parse_conjunction() {
|
||||
let input = "echo foo && echo bar";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty()).collect();
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
@@ -30,7 +36,9 @@ fn parse_conjunction() {
|
||||
#[test]
|
||||
fn parse_conjunction_and_pipeline() {
|
||||
let input = "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty()).collect();
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
@@ -42,7 +50,90 @@ fn parse_multiline() {
|
||||
echo hello world
|
||||
echo foo bar
|
||||
echo boo biz";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty()).collect();
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_if_simple() {
|
||||
let input = "if foo; then echo bar; fi";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
}
|
||||
#[test]
|
||||
fn parse_if_with_elif() {
|
||||
let input = "if foo; then echo bar; elif bar; then echo foo; fi";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
}
|
||||
#[test]
|
||||
fn parse_if_multiple_elif() {
|
||||
let input = "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
}
|
||||
#[test]
|
||||
fn parse_if_multiline() {
|
||||
let input = "
|
||||
if foo; then
|
||||
echo bar
|
||||
elif bar; then
|
||||
echo foo;
|
||||
elif biz; then
|
||||
echo baz
|
||||
fi";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
}
|
||||
#[test]
|
||||
fn parse_loop_simple() {
|
||||
let input = "while foo; do bar; done";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
}
|
||||
#[test]
|
||||
fn parse_loop_until() {
|
||||
let input = "until foo; do bar; done";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
}
|
||||
#[test]
|
||||
fn parse_loop_multiline() {
|
||||
let input = "
|
||||
until foo; do
|
||||
bar
|
||||
done";
|
||||
let tk_stream: Vec<_> = LexStream::new(input, LexFlags::empty())
|
||||
.map(|tk| tk.unwrap())
|
||||
.collect();
|
||||
let nodes: Vec<_> = ParseStream::new(tk_stream).collect();
|
||||
|
||||
insta::assert_debug_snapshot!(nodes)
|
||||
|
||||
@@ -3,160 +3,160 @@ source: src/tests/lexer.rs
|
||||
expression: tokens
|
||||
---
|
||||
[
|
||||
Tk {
|
||||
class: SOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
Ok(
|
||||
Tk {
|
||||
class: SOI,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..10,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 5..10,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..16,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 11..16,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 16..17,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 16..17,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 17..21,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 17..21,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 22..25,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 22..25,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 26..29,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 26..29,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 29..30,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 29..30,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 30..34,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 30..34,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 35..38,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 35..38,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 39..42,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 39..42,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: EOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 42..42,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: EOI,
|
||||
span: Span {
|
||||
range: 42..42,
|
||||
source: "echo hello world\necho foo bar\necho boo biz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
||||
|
||||
@@ -3,76 +3,76 @@ source: src/tests/lexer.rs
|
||||
expression: tokens
|
||||
---
|
||||
[
|
||||
Tk {
|
||||
class: SOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
Ok(
|
||||
Tk {
|
||||
class: SOI,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..14,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 5..14,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 15..18,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 15..18,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 19..22,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 19..22,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: EOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 22..22,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: EOI,
|
||||
span: Span {
|
||||
range: 22..22,
|
||||
source: "echo \"foo bar\" biz baz",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
||||
|
||||
@@ -3,76 +3,76 @@ source: src/tests/lexer.rs
|
||||
expression: tokens
|
||||
---
|
||||
[
|
||||
Tk {
|
||||
class: SOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo foo > bar.txt",
|
||||
Ok(
|
||||
Tk {
|
||||
class: SOI,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo foo > bar.txt",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo > bar.txt",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo > bar.txt",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo > bar.txt",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo > bar.txt",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Redir,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 9..10,
|
||||
source: "echo foo > bar.txt",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Redir,
|
||||
span: Span {
|
||||
range: 9..10,
|
||||
source: "echo foo > bar.txt",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..18,
|
||||
source: "echo foo > bar.txt",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 11..18,
|
||||
source: "echo foo > bar.txt",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: EOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 18..18,
|
||||
source: "echo foo > bar.txt",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: EOI,
|
||||
span: Span {
|
||||
range: 18..18,
|
||||
source: "echo foo > bar.txt",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
||||
|
||||
@@ -3,64 +3,64 @@ source: src/tests/lexer.rs
|
||||
expression: tokens
|
||||
---
|
||||
[
|
||||
Tk {
|
||||
class: SOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo foo 1>&2",
|
||||
Ok(
|
||||
Tk {
|
||||
class: SOI,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo foo 1>&2",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo 1>&2",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo 1>&2",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo 1>&2",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo 1>&2",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Redir,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 9..13,
|
||||
source: "echo foo 1>&2",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Redir,
|
||||
span: Span {
|
||||
range: 9..13,
|
||||
source: "echo foo 1>&2",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: EOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 13..13,
|
||||
source: "echo foo 1>&2",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: EOI,
|
||||
span: Span {
|
||||
range: 13..13,
|
||||
source: "echo foo 1>&2",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
||||
|
||||
@@ -3,64 +3,64 @@ source: src/tests/lexer.rs
|
||||
expression: tokens
|
||||
---
|
||||
[
|
||||
Tk {
|
||||
class: SOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo hello world",
|
||||
Ok(
|
||||
Tk {
|
||||
class: SOI,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "echo hello world",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo hello world",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo hello world",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..10,
|
||||
source: "echo hello world",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 5..10,
|
||||
source: "echo hello world",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..16,
|
||||
source: "echo hello world",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 11..16,
|
||||
source: "echo hello world",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: EOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 16..16,
|
||||
source: "echo hello world",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: EOI,
|
||||
span: Span {
|
||||
range: 16..16,
|
||||
source: "echo hello world",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
||||
|
||||
@@ -3,124 +3,124 @@ source: src/tests/lexer.rs
|
||||
expression: tokens
|
||||
---
|
||||
[
|
||||
Tk {
|
||||
class: SOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "if true; then echo foo; fi",
|
||||
Ok(
|
||||
Tk {
|
||||
class: SOI,
|
||||
span: Span {
|
||||
range: 0..0,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..2,
|
||||
source: "if true; then echo foo; fi",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..2,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 3..7,
|
||||
source: "if true; then echo foo; fi",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..7,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 7..9,
|
||||
source: "if true; then echo foo; fi",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 7..9,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 9..13,
|
||||
source: "if true; then echo foo; fi",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 9..13,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 14..18,
|
||||
source: "if true; then echo foo; fi",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..18,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 19..22,
|
||||
source: "if true; then echo foo; fi",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 19..22,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 22..24,
|
||||
source: "if true; then echo foo; fi",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 22..24,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 24..26,
|
||||
source: "if true; then echo foo; fi",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 24..26,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: EOI,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 26..26,
|
||||
source: "if true; then echo foo; fi",
|
||||
),
|
||||
Ok(
|
||||
Tk {
|
||||
class: EOI,
|
||||
span: Span {
|
||||
range: 26..26,
|
||||
source: "if true; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
||||
|
||||
@@ -17,8 +17,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -29,8 +27,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -48,8 +44,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -60,8 +54,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -82,8 +74,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -94,8 +84,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -118,8 +106,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 12..16,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -130,8 +116,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 17..20,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -149,8 +133,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 12..16,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -161,8 +143,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 17..20,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -183,8 +163,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 12..16,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -195,8 +173,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 17..20,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -218,8 +194,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -230,8 +204,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -242,8 +214,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: And,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 9..11,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -254,8 +224,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 12..16,
|
||||
source: "echo foo && echo bar",
|
||||
@@ -266,8 +234,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 17..20,
|
||||
source: "echo foo && echo bar",
|
||||
|
||||
@@ -17,8 +17,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -29,8 +27,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -48,8 +44,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -60,8 +54,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -78,8 +70,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..14,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -90,8 +80,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 15..25,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -109,8 +97,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..14,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -121,8 +107,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 15..25,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -143,8 +127,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -155,8 +137,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -167,8 +147,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Pipe,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 9..10,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -179,8 +157,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..14,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -191,8 +167,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 15..25,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -215,8 +189,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 29..33,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -227,8 +199,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 34..37,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -246,8 +216,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 29..33,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -258,8 +226,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 34..37,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -276,8 +242,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 40..43,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -288,8 +252,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 44..54,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -307,8 +269,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 40..43,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -319,8 +279,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 44..54,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -341,8 +299,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 29..33,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -353,8 +309,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 34..37,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -365,8 +319,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Pipe,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 38..39,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -377,8 +329,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 40..43,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -389,8 +339,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 44..54,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -413,8 +361,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 58..62,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -425,8 +371,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 63..66,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -437,8 +381,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 67..70,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -456,8 +398,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 58..62,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -468,8 +408,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 63..66,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -480,8 +418,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 67..70,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -498,8 +434,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 73..76,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -510,8 +444,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 77..82,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -522,8 +454,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 83..90,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -534,8 +464,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 91..95,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -553,8 +481,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 73..76,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -565,8 +491,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 77..82,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -577,8 +501,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 83..90,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -589,8 +511,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 91..95,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -611,8 +531,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 58..62,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -623,8 +541,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 63..66,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -635,8 +551,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 67..70,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -647,8 +561,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Pipe,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 71..72,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -659,8 +571,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 73..76,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -671,8 +581,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 77..82,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -683,8 +591,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 83..90,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -695,8 +601,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 91..95,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -718,8 +622,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -730,8 +632,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -742,8 +642,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Pipe,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 9..10,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -754,8 +652,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..14,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -766,8 +662,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 15..25,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -778,8 +672,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: And,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 26..28,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -790,8 +682,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 29..33,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -802,8 +692,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 34..37,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -814,8 +702,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Pipe,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 38..39,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -826,8 +712,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 40..43,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -838,8 +722,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 44..54,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -850,8 +732,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Or,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 55..57,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -862,8 +742,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 58..62,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -874,8 +752,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 63..66,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -886,8 +762,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 67..70,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -898,8 +772,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Pipe,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 71..72,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -910,8 +782,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 73..76,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -922,8 +792,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 77..82,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -934,8 +802,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 83..90,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
@@ -946,8 +812,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 91..95,
|
||||
source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/",
|
||||
|
||||
1094
src/tests/snapshots/fern__tests__parser__parse_if_multiline.snap
Normal file
1094
src/tests/snapshots/fern__tests__parser__parse_if_multiline.snap
Normal file
File diff suppressed because it is too large
Load Diff
1034
src/tests/snapshots/fern__tests__parser__parse_if_multiple_elif.snap
Normal file
1034
src/tests/snapshots/fern__tests__parser__parse_if_multiple_elif.snap
Normal file
File diff suppressed because it is too large
Load Diff
382
src/tests/snapshots/fern__tests__parser__parse_if_simple.snap
Normal file
382
src/tests/snapshots/fern__tests__parser__parse_if_simple.snap
Normal file
@@ -0,0 +1,382 @@
|
||||
---
|
||||
source: src/tests/parser.rs
|
||||
expression: nodes
|
||||
---
|
||||
[
|
||||
Ok(
|
||||
Node {
|
||||
class: CmdList {
|
||||
elements: [
|
||||
ConjunctNode {
|
||||
cmd: Node {
|
||||
class: IfNode {
|
||||
cond_nodes: [
|
||||
CondNode {
|
||||
cond: Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 6..8,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 6..8,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
body: [
|
||||
Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 21..23,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 21..23,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
else_block: [],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..2,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 6..8,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 8..12,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 21..23,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 23..25,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
operator: Null,
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..2,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 6..8,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 8..12,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 21..23,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 23..25,
|
||||
source: "if foo; then echo bar; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
),
|
||||
]
|
||||
708
src/tests/snapshots/fern__tests__parser__parse_if_with_elif.snap
Normal file
708
src/tests/snapshots/fern__tests__parser__parse_if_with_elif.snap
Normal file
@@ -0,0 +1,708 @@
|
||||
---
|
||||
source: src/tests/parser.rs
|
||||
expression: nodes
|
||||
---
|
||||
[
|
||||
Ok(
|
||||
Node {
|
||||
class: CmdList {
|
||||
elements: [
|
||||
ConjunctNode {
|
||||
cmd: Node {
|
||||
class: IfNode {
|
||||
cond_nodes: [
|
||||
CondNode {
|
||||
cond: Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 6..8,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 6..8,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
body: [
|
||||
Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 21..23,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 21..23,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
CondNode {
|
||||
cond: Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 28..31,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 28..31,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 31..33,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 28..31,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 31..33,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
body: [
|
||||
Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 38..42,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 43..46,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 38..42,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 43..46,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 46..48,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 38..42,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 43..46,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 46..48,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
else_block: [],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..2,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 6..8,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 8..12,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 21..23,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 23..27,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 28..31,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 31..33,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 33..37,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 38..42,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 43..46,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 46..48,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 48..50,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
operator: Null,
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..2,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 3..6,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 6..8,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 8..12,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 13..17,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 18..21,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 21..23,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 23..27,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 28..31,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 31..33,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 33..37,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 38..42,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD | BUILTIN,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 43..46,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 46..48,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 48..50,
|
||||
source: "if foo; then echo bar; elif bar; then echo foo; fi",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,350 @@
|
||||
---
|
||||
source: src/tests/parser.rs
|
||||
expression: nodes
|
||||
---
|
||||
[
|
||||
Ok(
|
||||
Node {
|
||||
class: CmdList {
|
||||
elements: [
|
||||
ConjunctNode {
|
||||
cmd: Node {
|
||||
class: LoopNode {
|
||||
kind: Until,
|
||||
cond_node: CondNode {
|
||||
cond: Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 7..10,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 7..10,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 10..12,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 7..10,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 10..12,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
body: [
|
||||
Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 16..19,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 16..19,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 19..20,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 16..19,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 19..20,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 1..6,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 7..10,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 10..12,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 12..14,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 14..16,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 16..19,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 19..20,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 20..24,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
operator: Null,
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 1..6,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 7..10,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 10..12,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 12..14,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 14..16,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 16..19,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 19..20,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 20..24,
|
||||
source: "\nuntil foo; do\n\tbar\ndone",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
),
|
||||
]
|
||||
330
src/tests/snapshots/fern__tests__parser__parse_loop_simple.snap
Normal file
330
src/tests/snapshots/fern__tests__parser__parse_loop_simple.snap
Normal file
@@ -0,0 +1,330 @@
|
||||
---
|
||||
source: src/tests/parser.rs
|
||||
expression: nodes
|
||||
---
|
||||
[
|
||||
Ok(
|
||||
Node {
|
||||
class: CmdList {
|
||||
elements: [
|
||||
ConjunctNode {
|
||||
cmd: Node {
|
||||
class: LoopNode {
|
||||
kind: While,
|
||||
cond_node: CondNode {
|
||||
cond: Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 9..11,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 9..11,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
body: [
|
||||
Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 17..19,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 17..19,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..5,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 9..11,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 11..13,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 17..19,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 19..23,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
operator: Null,
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..5,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 9..11,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 11..13,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 17..19,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 19..23,
|
||||
source: "while foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
),
|
||||
]
|
||||
330
src/tests/snapshots/fern__tests__parser__parse_loop_until.snap
Normal file
330
src/tests/snapshots/fern__tests__parser__parse_loop_until.snap
Normal file
@@ -0,0 +1,330 @@
|
||||
---
|
||||
source: src/tests/parser.rs
|
||||
expression: nodes
|
||||
---
|
||||
[
|
||||
Ok(
|
||||
Node {
|
||||
class: CmdList {
|
||||
elements: [
|
||||
ConjunctNode {
|
||||
cmd: Node {
|
||||
class: LoopNode {
|
||||
kind: Until,
|
||||
cond_node: CondNode {
|
||||
cond: Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 9..11,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 9..11,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
body: [
|
||||
Node {
|
||||
class: Pipeline {
|
||||
cmds: [
|
||||
Node {
|
||||
class: Command {
|
||||
assignments: [],
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 17..19,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
pipe_err: false,
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 17..19,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..5,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 9..11,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 11..13,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 17..19,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 19..23,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
operator: Null,
|
||||
},
|
||||
],
|
||||
},
|
||||
flags: NdFlags(
|
||||
0x0,
|
||||
),
|
||||
redirs: [],
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 0..5,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 6..9,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 9..11,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 11..13,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 14..17,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
IS_CMD,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
span: Span {
|
||||
range: 17..19,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
0x0,
|
||||
),
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
span: Span {
|
||||
range: 19..23,
|
||||
source: "until foo; do bar; done",
|
||||
},
|
||||
flags: TkFlags(
|
||||
KEYWORD,
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -17,8 +17,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 1..5,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -29,8 +27,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 6..11,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -41,8 +37,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 12..17,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -60,8 +54,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 1..5,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -72,8 +64,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 6..11,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -84,8 +74,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 12..17,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -96,8 +84,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 17..18,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -118,8 +104,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 1..5,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -130,8 +114,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 6..11,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -142,8 +124,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 12..17,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -154,8 +134,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 17..18,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -177,8 +155,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 1..5,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -189,8 +165,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 6..11,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -201,8 +175,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 12..17,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -213,8 +185,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 17..18,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -240,8 +210,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 18..22,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -252,8 +220,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 23..26,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -264,8 +230,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 27..30,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -283,8 +247,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 18..22,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -295,8 +257,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 23..26,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -307,8 +267,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 27..30,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -319,8 +277,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 30..31,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -341,8 +297,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 18..22,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -353,8 +307,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 23..26,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -365,8 +317,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 27..30,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -377,8 +327,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 30..31,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -400,8 +348,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 18..22,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -412,8 +358,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 23..26,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -424,8 +368,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 27..30,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -436,8 +378,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Sep,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 30..31,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -463,8 +403,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 31..35,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -475,8 +413,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 36..39,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -487,8 +423,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 40..43,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -506,8 +440,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 31..35,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -518,8 +450,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 36..39,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -530,8 +460,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 40..43,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -552,8 +480,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 31..35,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -564,8 +490,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 36..39,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -576,8 +500,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 40..43,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -599,8 +521,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 31..35,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -611,8 +531,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 36..39,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
@@ -623,8 +541,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 40..43,
|
||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
||||
|
||||
@@ -17,8 +17,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -29,8 +27,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -48,8 +44,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -60,8 +54,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -78,8 +70,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..14,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -90,8 +80,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 15..24,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -109,8 +97,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..14,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -121,8 +107,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 15..24,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -143,8 +127,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -155,8 +137,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -167,8 +147,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Pipe,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 9..10,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -179,8 +157,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..14,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -191,8 +167,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 15..24,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -214,8 +188,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -226,8 +198,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..8,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -238,8 +208,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Pipe,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 9..10,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -250,8 +218,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..14,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
@@ -262,8 +228,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 15..24,
|
||||
source: "echo foo | sed s/foo/bar",
|
||||
|
||||
@@ -17,8 +17,6 @@ expression: nodes
|
||||
argv: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo hello world",
|
||||
@@ -29,8 +27,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..10,
|
||||
source: "echo hello world",
|
||||
@@ -41,8 +37,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..16,
|
||||
source: "echo hello world",
|
||||
@@ -60,8 +54,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo hello world",
|
||||
@@ -72,8 +64,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..10,
|
||||
source: "echo hello world",
|
||||
@@ -84,8 +74,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..16,
|
||||
source: "echo hello world",
|
||||
@@ -106,8 +94,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo hello world",
|
||||
@@ -118,8 +104,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..10,
|
||||
source: "echo hello world",
|
||||
@@ -130,8 +114,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..16,
|
||||
source: "echo hello world",
|
||||
@@ -153,8 +135,6 @@ expression: nodes
|
||||
tokens: [
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 0..4,
|
||||
source: "echo hello world",
|
||||
@@ -165,8 +145,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 5..10,
|
||||
source: "echo hello world",
|
||||
@@ -177,8 +155,6 @@ expression: nodes
|
||||
},
|
||||
Tk {
|
||||
class: Str,
|
||||
err_span: None,
|
||||
err: Null,
|
||||
span: Span {
|
||||
range: 11..16,
|
||||
source: "echo hello world",
|
||||
|
||||
Reference in New Issue
Block a user