Skip to content

Instantly share code, notes, and snippets.

@Porges
Created September 4, 2019 01:10
Show Gist options
  • Save Porges/0ca6988b0b10b665100fba09b177ad05 to your computer and use it in GitHub Desktop.
Save Porges/0ca6988b0b10b665100fba09b177ad05 to your computer and use it in GitHub Desktop.
Good vs bad parse for nushell string members
> open Cargo.toml | get lib.'name'
DEBUG nu::cli > === Parsed ===
DEBUG nu::cli > Pipeline(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 0,
end: 32,
},
},
item: Pipeline {
parts: [
PipelineElement {
pre_ws: None,
call: Tagged {
tag: Tag {
origin: None,
span: Span {
start: 0,
end: 15,
},
},
item: CallNode {
head: Token(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 0,
end: 4,
},
},
item: Bare,
},
),
children: Some(
[
Whitespace(
Span {
start: 4,
end: 5,
},
),
Token(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 5,
end: 15,
},
},
item: Bare,
},
),
],
),
},
},
post_ws: Some(
Span {
start: 15,
end: 16,
},
),
post_pipe: Some(
Span {
start: 16,
end: 17,
},
),
},
PipelineElement {
pre_ws: Some(
Span {
start: 17,
end: 18,
},
),
call: Tagged {
tag: Tag {
origin: None,
span: Span {
start: 18,
end: 26,
},
},
item: CallNode {
head: Token(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 18,
end: 21,
},
},
item: Bare,
},
),
children: Some(
[
Whitespace(
Span {
start: 21,
end: 22,
},
),
Token(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 22,
end: 26,
},
},
item: Bare,
},
),
],
),
},
},
post_ws: None,
post_pipe: None,
},
PipelineElement {
pre_ws: None,
call: Tagged {
tag: Tag {
origin: None,
span: Span {
start: 26,
end: 32,
},
},
item: CallNode {
head: Token(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 26,
end: 32,
},
},
item: String(
Span {
start: 27,
end: 31,
},
),
},
),
children: None,
},
},
post_ws: None,
post_pipe: None,
},
],
post_ws: None,
},
},
)
> open Cargo.toml | get lib.name
DEBUG nu::cli > === Parsed ===
DEBUG nu::cli > Pipeline(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 0,
end: 30,
},
},
item: Pipeline {
parts: [
PipelineElement {
pre_ws: None,
call: Tagged {
tag: Tag {
origin: None,
span: Span {
start: 0,
end: 15,
},
},
item: CallNode {
head: Token(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 0,
end: 4,
},
},
item: Bare,
},
),
children: Some(
[
Whitespace(
Span {
start: 4,
end: 5,
},
),
Token(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 5,
end: 15,
},
},
item: Bare,
},
),
],
),
},
},
post_ws: Some(
Span {
start: 15,
end: 16,
},
),
post_pipe: Some(
Span {
start: 16,
end: 17,
},
),
},
PipelineElement {
pre_ws: Some(
Span {
start: 17,
end: 18,
},
),
call: Tagged {
tag: Tag {
origin: None,
span: Span {
start: 18,
end: 30,
},
},
item: CallNode {
head: Token(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 18,
end: 21,
},
},
item: Bare,
},
),
children: Some(
[
Whitespace(
Span {
start: 21,
end: 22,
},
),
Token(
Tagged {
tag: Tag {
origin: None,
span: Span {
start: 22,
end: 30,
},
},
item: Bare,
},
),
],
),
},
},
post_ws: None,
post_pipe: None,
},
],
post_ws: None,
},
},
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment