forgot snapshot files in git history
This commit is contained in:
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Expected 'esac' after case block
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m case foo in foo) bar;; bar) foo;;
|
|
||||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Expected 'in' after case variable name
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m case foo foo) bar;; bar) foo;; esac
|
|
||||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^^^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mCommand not found: foo[0m -
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m foo
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
Execution failed
|
|
||||||
[32mnote[0m: Execution failed for this reason
|
|
||||||
|
|
||||||
[32mnote[0m: Here is how to fix it: blah blah blah
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
Execution failed
|
|
||||||
[32mnote[0m: Execution failed for this reason
|
|
||||||
|
|
||||||
[32mnote[0m: Here is how to fix it:
|
|
||||||
[36m[1m-[0m blah
|
|
||||||
[36m[1m-[0m blah
|
|
||||||
[36m[1m-[0m blah
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Expected 'fi' after if statement
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m if foo; then bar;
|
|
||||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Expected 'then' after 'if' condition
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m if foo; bar; fi
|
|
||||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Expected 'do' after loop condition
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m while true; echo foo; done
|
|
||||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^^^^^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Expected 'done' after loop body
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m while true; do echo foo;
|
|
||||||
[36m[1m |[0m [31m[1m^^^^^^^^^^^^^^^^^^^^^^^^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Expected a closing brace for this brace group
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m { foo bar
|
|
||||||
[36m[1m |[0m [31m[1m^^^^^^^^^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Unterminated quote
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m "foo bar
|
|
||||||
[36m[1m |[0m [31m[1m^^^^^^^^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Unterminated quote
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m1[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m 'foo bar
|
|
||||||
[36m[1m |[0m [31m[1m^^^^^^^^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/error.rs
|
|
||||||
expression: err_fmt
|
|
||||||
---
|
|
||||||
[31m[1mParse Error[0m - Unclosed subshell
|
|
||||||
[36m[1m->[0m [[36m[1m1[0m;[36m[1m2[0m]
|
|
||||||
[36m[1m |[0m
|
|
||||||
[36m[1m1 |[0m (foo
|
|
||||||
[36m[1m |[0m [31m[1m^[0m
|
|
||||||
[36m[1m |[0m
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/expand.rs
|
|
||||||
expression: exp_tk.get_words()
|
|
||||||
---
|
|
||||||
[
|
|
||||||
"this",
|
|
||||||
"is",
|
|
||||||
"the",
|
|
||||||
"value",
|
|
||||||
"of",
|
|
||||||
"the",
|
|
||||||
"variable",
|
|
||||||
]
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/expand.rs
|
|
||||||
expression: unescaped
|
|
||||||
---
|
|
||||||
echo foo $bar
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/getopt.rs
|
|
||||||
expression: opts
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Short(
|
|
||||||
'n',
|
|
||||||
),
|
|
||||||
Short(
|
|
||||||
'e',
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/getopt.rs
|
|
||||||
expression: words
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo -n -e foo",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..14,
|
|
||||||
source: "echo -n -e foo",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
]
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/getopt.rs
|
|
||||||
expression: opts
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Short(
|
|
||||||
'n',
|
|
||||||
),
|
|
||||||
Short(
|
|
||||||
'r',
|
|
||||||
),
|
|
||||||
Short(
|
|
||||||
'e',
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/getopt.rs
|
|
||||||
expression: words
|
|
||||||
---
|
|
||||||
[
|
|
||||||
"echo",
|
|
||||||
"foo",
|
|
||||||
]
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/getopt.rs
|
|
||||||
expression: opts
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Short(
|
|
||||||
'n',
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/getopt.rs
|
|
||||||
expression: words
|
|
||||||
---
|
|
||||||
[
|
|
||||||
"echo",
|
|
||||||
"foo",
|
|
||||||
]
|
|
||||||
@@ -1,186 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/lexer.rs
|
|
||||||
expression: tokens
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: SOI,
|
|
||||||
span: Span {
|
|
||||||
range: 0..0,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..9,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 10..12,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 13..17,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 21..24,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 24..28,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 29..32,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 32..35,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 35..39,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 40..43,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 43..46,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 46..50,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: EOI,
|
|
||||||
span: Span {
|
|
||||||
range: 50..50,
|
|
||||||
source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/lexer.rs
|
|
||||||
expression: tokens
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: SOI,
|
|
||||||
span: Span {
|
|
||||||
range: 0..0,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..10,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..16,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 16..17,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..21,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 22..25,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 26..29,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 29..30,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 30..34,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 35..38,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 39..42,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: EOI,
|
|
||||||
span: Span {
|
|
||||||
range: 42..42,
|
|
||||||
source: "echo hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/lexer.rs
|
|
||||||
expression: tokens
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: SOI,
|
|
||||||
span: Span {
|
|
||||||
range: 0..0,
|
|
||||||
source: "echo \"foo bar\" biz baz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo \"foo bar\" biz baz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..14,
|
|
||||||
source: "echo \"foo bar\" biz baz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 15..18,
|
|
||||||
source: "echo \"foo bar\" biz baz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 19..22,
|
|
||||||
source: "echo \"foo bar\" biz baz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: EOI,
|
|
||||||
span: Span {
|
|
||||||
range: 22..22,
|
|
||||||
source: "echo \"foo bar\" biz baz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/lexer.rs
|
|
||||||
expression: tokens
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: SOI,
|
|
||||||
span: Span {
|
|
||||||
range: 0..0,
|
|
||||||
source: "echo foo > bar.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo > bar.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo > bar.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Redir,
|
|
||||||
span: Span {
|
|
||||||
range: 9..10,
|
|
||||||
source: "echo foo > bar.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..18,
|
|
||||||
source: "echo foo > bar.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: EOI,
|
|
||||||
span: Span {
|
|
||||||
range: 18..18,
|
|
||||||
source: "echo foo > bar.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/lexer.rs
|
|
||||||
expression: tokens
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: SOI,
|
|
||||||
span: Span {
|
|
||||||
range: 0..0,
|
|
||||||
source: "echo foo 1>&2",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo 1>&2",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo 1>&2",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Redir,
|
|
||||||
span: Span {
|
|
||||||
range: 9..13,
|
|
||||||
source: "echo foo 1>&2",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: EOI,
|
|
||||||
span: Span {
|
|
||||||
range: 13..13,
|
|
||||||
source: "echo foo 1>&2",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/lexer.rs
|
|
||||||
expression: tokens
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: SOI,
|
|
||||||
span: Span {
|
|
||||||
range: 0..0,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..10,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..16,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: EOI,
|
|
||||||
span: Span {
|
|
||||||
range: 16..16,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,126 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/lexer.rs
|
|
||||||
expression: tokens
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: SOI,
|
|
||||||
span: Span {
|
|
||||||
range: 0..0,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..2,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 3..7,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 7..9,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 9..13,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 14..18,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 19..22,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 22..24,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 24..26,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Tk {
|
|
||||||
class: EOI,
|
|
||||||
span: Span {
|
|
||||||
range: 26..26,
|
|
||||||
source: "if true; then echo foo; fi",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: check_nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..10,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..16,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..10,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..16,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 16..18,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..22,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 23..26,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 27..30,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..22,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 23..26,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 27..30,
|
|
||||||
source: "echo hello world; echo foo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
@@ -1,595 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
elements: [
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: CaseNode {
|
|
||||||
pattern: Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
case_blocks: [
|
|
||||||
CaseNode {
|
|
||||||
pattern: Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 13..17,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
body: [
|
|
||||||
Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 21..27,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 21..27,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
CaseNode {
|
|
||||||
pattern: Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 27..31,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
body: [
|
|
||||||
Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 32..35,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 32..35,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 35..41,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 32..35,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 35..41,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
CaseNode {
|
|
||||||
pattern: Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 41..45,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
body: [
|
|
||||||
Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 46..49,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 46..49,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 49..54,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 46..49,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 49..54,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 9..11,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 11..13,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 13..17,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 21..27,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 27..31,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 32..35,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 35..41,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 41..45,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 46..49,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 49..54,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 54..58,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 9..11,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 11..13,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 13..17,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 21..27,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 27..31,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 32..35,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 35..41,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 41..45,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 46..49,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 49..54,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 54..58,
|
|
||||||
source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,575 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
elements: [
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: CaseNode {
|
|
||||||
pattern: Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
case_blocks: [
|
|
||||||
CaseNode {
|
|
||||||
pattern: Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 12..16,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
body: [
|
|
||||||
Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..20,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..20,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 20..23,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..20,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 20..23,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
CaseNode {
|
|
||||||
pattern: Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 23..27,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
body: [
|
|
||||||
Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 28..31,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 28..31,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 31..34,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 28..31,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 31..34,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
CaseNode {
|
|
||||||
pattern: Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 34..38,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
body: [
|
|
||||||
Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 39..42,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 39..42,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 42..45,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 39..42,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 42..45,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 9..11,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 12..16,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..20,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 20..23,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 23..27,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 28..31,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 31..34,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 34..38,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 39..42,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 42..45,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 45..49,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 9..11,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 12..16,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..20,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 20..23,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 23..27,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 28..31,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 31..34,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: CasePattern,
|
|
||||||
span: Span {
|
|
||||||
range: 34..38,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 39..42,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 42..45,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 45..49,
|
|
||||||
source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,248 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
elements: [
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: And,
|
|
||||||
},
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 12..16,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..20,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 12..16,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..20,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 12..16,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..20,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: And,
|
|
||||||
span: Span {
|
|
||||||
range: 9..11,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 12..16,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 17..20,
|
|
||||||
source: "echo foo && echo bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,826 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
elements: [
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Pipe,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: And,
|
|
||||||
},
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Pipe,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Or,
|
|
||||||
},
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Pipe,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Pipe,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: And,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Pipe,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Or,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Pipe,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
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/",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,435 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
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 > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 3..6,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 6..8,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
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 > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 6..8,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
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 > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 13..17,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 21..23,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
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 > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 21..23,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
else_block: [],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [
|
|
||||||
Redir {
|
|
||||||
io_mode: File {
|
|
||||||
tgt_fd: 1,
|
|
||||||
file: File {
|
|
||||||
fd: 3,
|
|
||||||
path: "/home/pagedmov/Coding/projects/rust/fern/file.txt",
|
|
||||||
read: false,
|
|
||||||
write: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
class: Output,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..2,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 3..6,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 6..8,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 8..12,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 13..17,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 21..23,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 23..25,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Redir,
|
|
||||||
span: Span {
|
|
||||||
range: 26..27,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 28..36,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..2,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 3..6,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 6..8,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 8..12,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 13..17,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..21,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 21..23,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 23..25,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
KEYWORD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Redir,
|
|
||||||
span: Span {
|
|
||||||
range: 26..27,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 28..36,
|
|
||||||
source: "if foo; then echo bar; fi > file.txt",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,382 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
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,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,708 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
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,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,350 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
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,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,330 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
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,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,330 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
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,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,555 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
elements: [
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 1..5,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 6..11,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 12..17,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 1..5,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 6..11,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 12..17,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 17..18,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 1..5,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 6..11,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 12..17,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 17..18,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 1..5,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 6..11,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 12..17,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 17..18,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
elements: [
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..22,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 23..26,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 27..30,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..22,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 23..26,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 27..30,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 30..31,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..22,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 23..26,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 27..30,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 30..31,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 18..22,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 23..26,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 27..30,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Sep,
|
|
||||||
span: Span {
|
|
||||||
range: 30..31,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
elements: [
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 31..35,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 36..39,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 40..43,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 31..35,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 36..39,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 40..43,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 31..35,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 36..39,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 40..43,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 31..35,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 36..39,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 40..43,
|
|
||||||
source: "\necho hello world\necho foo bar\necho boo biz",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,242 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
elements: [
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..14,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 15..24,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..14,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 15..24,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Pipe,
|
|
||||||
span: Span {
|
|
||||||
range: 9..10,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..14,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 15..24,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..8,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Pipe,
|
|
||||||
span: Span {
|
|
||||||
range: 9..10,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..14,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 15..24,
|
|
||||||
source: "echo foo | sed s/foo/bar",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,169 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/parser.rs
|
|
||||||
expression: nodes
|
|
||||||
---
|
|
||||||
[
|
|
||||||
Ok(
|
|
||||||
Node {
|
|
||||||
class: Conjunction {
|
|
||||||
elements: [
|
|
||||||
ConjunctNode {
|
|
||||||
cmd: Node {
|
|
||||||
class: Pipeline {
|
|
||||||
cmds: [
|
|
||||||
Node {
|
|
||||||
class: Command {
|
|
||||||
assignments: [],
|
|
||||||
argv: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..10,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..16,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..10,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..16,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
pipe_err: false,
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..10,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..16,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
operator: Null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
flags: NdFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
redirs: [],
|
|
||||||
tokens: [
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 0..4,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
IS_CMD | BUILTIN,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 5..10,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Tk {
|
|
||||||
class: Str,
|
|
||||||
span: Span {
|
|
||||||
range: 11..16,
|
|
||||||
source: "echo hello world",
|
|
||||||
},
|
|
||||||
flags: TkFlags(
|
|
||||||
0x0,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/term.rs
|
|
||||||
expression: styled
|
|
||||||
---
|
|
||||||
[44m[1mtext with background[0m
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/term.rs
|
|
||||||
expression: styled
|
|
||||||
---
|
|
||||||
[31m[1m[4mstyled text[0m
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/term.rs
|
|
||||||
expression: styled
|
|
||||||
---
|
|
||||||
[1m[0mreset test[0m
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/term.rs
|
|
||||||
expression: styled
|
|
||||||
---
|
|
||||||
[38;2;255;99;71mRGB styled text[0m
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/term.rs
|
|
||||||
expression: styled
|
|
||||||
---
|
|
||||||
[35m[3mmulti-style text[0m
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
source: src/tests/term.rs
|
|
||||||
expression: styled
|
|
||||||
---
|
|
||||||
[32mhello world[0m
|
|
||||||
Reference in New Issue
Block a user