├── .github └── workflows │ └── ci.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── src ├── compiler.rs ├── errors.rs ├── lib.rs ├── main.rs ├── parser.rs ├── resolver.rs ├── snapshots │ ├── new_nu_parser__test__node_output@closure.nu.snap │ ├── new_nu_parser__test__node_output@closure2.nu.snap │ ├── new_nu_parser__test__node_output@for.nu.snap │ ├── new_nu_parser__test__node_output@for_break_continue.nu.snap │ ├── new_nu_parser__test__node_output@if_.nu.snap │ ├── new_nu_parser__test__node_output@invalid_range.nu.snap │ ├── new_nu_parser__test__node_output@invalid_record.nu.snap │ ├── new_nu_parser__test__node_output@let_.nu.snap │ ├── new_nu_parser__test__node_output@list.nu.snap │ ├── new_nu_parser__test__node_output@literals.nu.snap │ ├── new_nu_parser__test__node_output@loop.nu.snap │ ├── new_nu_parser__test__node_output@math.nu.snap │ ├── new_nu_parser__test__node_output@math_precedence.nu.snap │ ├── new_nu_parser__test__node_output@mut_.nu.snap │ ├── new_nu_parser__test__node_output@record.nu.snap │ ├── new_nu_parser__test__node_output@record2.nu.snap │ ├── new_nu_parser__test__node_output@record3.nu.snap │ ├── new_nu_parser__test__node_output@reparse.nu.snap │ ├── new_nu_parser__test__node_output@string.nu.snap │ ├── new_nu_parser__test__node_output@string_operation.nu.snap │ ├── new_nu_parser__test__node_output@table.nu.snap │ └── new_nu_parser__test__node_output@table2.nu.snap └── test.rs ├── tests ├── closure.nu ├── closure2.nu ├── for.nu ├── for_break_continue.nu ├── if_.nu ├── invalid_range.nu ├── invalid_record.nu ├── let_.nu ├── list.nu ├── literals.nu ├── loop.nu ├── math.nu ├── math_precedence.nu ├── mut_.nu ├── record.nu ├── record2.nu ├── record3.nu ├── reparse.nu ├── string.nu ├── string_operation.nu ├── table.nu └── table2.nu └── toolkit.nu /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | 3 | **/*.rs.bk 4 | 5 | .vscode/* 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/Cargo.toml -------------------------------------------------------------------------------- /src/compiler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/compiler.rs -------------------------------------------------------------------------------- /src/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/errors.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/parser.rs -------------------------------------------------------------------------------- /src/resolver.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/resolver.rs -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@closure.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@closure.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@closure2.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@closure2.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@for.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@for.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@for_break_continue.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@for_break_continue.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@if_.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@if_.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@invalid_range.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@invalid_range.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@invalid_record.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@invalid_record.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@let_.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@let_.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@list.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@list.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@literals.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@literals.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@loop.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@loop.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@math.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@math.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@math_precedence.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@math_precedence.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@mut_.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@mut_.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@record.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@record.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@record2.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@record2.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@record3.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@record3.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@reparse.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@reparse.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@string.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@string.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@string_operation.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@string_operation.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@table.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@table.nu.snap -------------------------------------------------------------------------------- /src/snapshots/new_nu_parser__test__node_output@table2.nu.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/snapshots/new_nu_parser__test__node_output@table2.nu.snap -------------------------------------------------------------------------------- /src/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/src/test.rs -------------------------------------------------------------------------------- /tests/closure.nu: -------------------------------------------------------------------------------- 1 | { |a, b| $a + $b} 2 | $a # doesn't leak scope -------------------------------------------------------------------------------- /tests/closure2.nu: -------------------------------------------------------------------------------- 1 | { 2 | $a + $b 3 | } 4 | -------------------------------------------------------------------------------- /tests/for.nu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/tests/for.nu -------------------------------------------------------------------------------- /tests/for_break_continue.nu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/tests/for_break_continue.nu -------------------------------------------------------------------------------- /tests/if_.nu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/tests/if_.nu -------------------------------------------------------------------------------- /tests/invalid_range.nu: -------------------------------------------------------------------------------- 1 | 1 .. 2 2 | -------------------------------------------------------------------------------- /tests/invalid_record.nu: -------------------------------------------------------------------------------- 1 | { 2 | a: 1, 3 | b 4 | } 5 | -------------------------------------------------------------------------------- /tests/let_.nu: -------------------------------------------------------------------------------- 1 | let x = 123 2 | 3 | $x -------------------------------------------------------------------------------- /tests/list.nu: -------------------------------------------------------------------------------- 1 | [1, 2, 3] -------------------------------------------------------------------------------- /tests/literals.nu: -------------------------------------------------------------------------------- 1 | [true null 1 abc "foo"] 2 | -------------------------------------------------------------------------------- /tests/loop.nu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/tests/loop.nu -------------------------------------------------------------------------------- /tests/math.nu: -------------------------------------------------------------------------------- 1 | 3 + 4 -------------------------------------------------------------------------------- /tests/math_precedence.nu: -------------------------------------------------------------------------------- 1 | 1 + 2 * 3 + 4 -------------------------------------------------------------------------------- /tests/mut_.nu: -------------------------------------------------------------------------------- 1 | mut x: int = 123 2 | 3 | $x = 3 + 456 -------------------------------------------------------------------------------- /tests/record.nu: -------------------------------------------------------------------------------- 1 | {a: 1, b: 2} 2 | -------------------------------------------------------------------------------- /tests/record2.nu: -------------------------------------------------------------------------------- 1 | {"a": 1, "b": 2} 2 | -------------------------------------------------------------------------------- /tests/record3.nu: -------------------------------------------------------------------------------- 1 | { 2 | a: 1, 3 | b: 2, 4 | } 5 | -------------------------------------------------------------------------------- /tests/reparse.nu: -------------------------------------------------------------------------------- 1 | def foo [x: string] { echo $x } 2 | 3 | foo 4 -------------------------------------------------------------------------------- /tests/string.nu: -------------------------------------------------------------------------------- 1 | "hello world" -------------------------------------------------------------------------------- /tests/string_operation.nu: -------------------------------------------------------------------------------- 1 | "abc" + "def" -------------------------------------------------------------------------------- /tests/table.nu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/tests/table.nu -------------------------------------------------------------------------------- /tests/table2.nu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/tests/table2.nu -------------------------------------------------------------------------------- /toolkit.nu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiajt/new-nu-parser/HEAD/toolkit.nu --------------------------------------------------------------------------------