Files
shed/src/tests/snapshots/fern__tests__parser__parse_if_multiline.snap

1095 lines
64 KiB
Plaintext

---
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: 4..7,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
],
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 4..7,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 7..9,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
],
pipe_err: false,
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 4..7,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 7..9,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
body: [
Node {
class: Pipeline {
cmds: [
Node {
class: Command {
assignments: [],
argv: [
Tk {
class: Str,
span: Span {
range: 15..19,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 20..23,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 15..19,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 20..23,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 23..24,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
],
pipe_err: false,
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 15..19,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 20..23,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 23..24,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
],
},
CondNode {
cond: Node {
class: Pipeline {
cmds: [
Node {
class: Command {
assignments: [],
argv: [
Tk {
class: Str,
span: Span {
range: 29..32,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
],
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 29..32,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 32..34,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
],
pipe_err: false,
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 29..32,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 32..34,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
body: [
Node {
class: Pipeline {
cmds: [
Node {
class: Command {
assignments: [],
argv: [
Tk {
class: Str,
span: Span {
range: 40..44,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 45..48,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 40..44,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 45..48,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 48..50,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
],
pipe_err: false,
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 40..44,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 45..48,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 48..50,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
],
},
CondNode {
cond: Node {
class: Pipeline {
cmds: [
Node {
class: Command {
assignments: [],
argv: [
Tk {
class: Str,
span: Span {
range: 55..58,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
],
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 55..58,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 58..60,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
],
pipe_err: false,
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 55..58,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 58..60,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
body: [
Node {
class: Pipeline {
cmds: [
Node {
class: Command {
assignments: [],
argv: [
Tk {
class: Str,
span: Span {
range: 66..70,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 71..74,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 66..70,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 71..74,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 74..75,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
],
pipe_err: false,
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 66..70,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 71..74,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 74..75,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
],
},
],
},
],
else_block: [],
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 1..3,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Str,
span: Span {
range: 4..7,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 7..9,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 9..13,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Sep,
span: Span {
range: 13..15,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 15..19,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 20..23,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 23..24,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 24..28,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Str,
span: Span {
range: 29..32,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 32..34,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 34..38,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Sep,
span: Span {
range: 38..40,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 40..44,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 45..48,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 48..50,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 50..54,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Str,
span: Span {
range: 55..58,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 58..60,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 60..64,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Sep,
span: Span {
range: 64..66,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 66..70,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 71..74,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 74..75,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 75..77,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
],
},
operator: Null,
},
],
},
flags: NdFlags(
0x0,
),
redirs: [],
tokens: [
Tk {
class: Str,
span: Span {
range: 1..3,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Str,
span: Span {
range: 4..7,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 7..9,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 9..13,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Sep,
span: Span {
range: 13..15,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 15..19,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 20..23,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 23..24,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 24..28,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Str,
span: Span {
range: 29..32,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 32..34,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 34..38,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Sep,
span: Span {
range: 38..40,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 40..44,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 45..48,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 48..50,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 50..54,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Str,
span: Span {
range: 55..58,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD,
),
},
Tk {
class: Sep,
span: Span {
range: 58..60,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 60..64,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
Tk {
class: Sep,
span: Span {
range: 64..66,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 66..70,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
IS_CMD | BUILTIN,
),
},
Tk {
class: Str,
span: Span {
range: 71..74,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Sep,
span: Span {
range: 74..75,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
0x0,
),
},
Tk {
class: Str,
span: Span {
range: 75..77,
source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi",
},
flags: TkFlags(
KEYWORD,
),
},
],
},
),
]