ast для отладки
Вывести абстрактное синтаксическое дерево (AST) конвейера.
Сигнатура
> ast {flags} (pipeline)
Флаги
-
--json, -j: Сериализовать в JSON. -
--minify, -m: Минифицировать вывод в формате nuon или JSON. -
--flatten, -f: Более удобочитаемая версия AST.
Параметры
-
pipeline: Конвейер, для которого нужно вывести AST.
Типы входных и выходных данных:
| вход | выход |
|---|---|
| ничего | таблица |
| ничего | запись |
| ничего | строка |
Примеры
Вывести AST строки.
> ast 'hello'
Вывести AST конвейера.
> ast 'ls | where name =~ README'
Вывести AST конвейера с ошибкой.
> ast 'for x in 1..10 { echo $x 'Вывести AST конвейера с ошибкой в формате JSON в таблице Nushell.
> ast 'for x in 1..10 { echo $x ' --json | get block | from jsonВывести AST конвейера с ошибкой в минифицированном формате JSON.
> ast 'for x in 1..10 { echo $x ' --json --minifyВывести уплощённое AST строки.
> ast "'hello'" --flatten ╭───┬─────────┬──────────────┬───────────────╮ │ # │ content │ shape │ span │ ├───┼─────────┼──────────────┼───────────────┤ │ 0 │ 'hello' │ shape_string │ ╭───────┬───╮ │ │ │ │ │ │ start │ 0 │ │ │ │ │ │ │ end │ 7 │ │ │ │ │ │ ╰───────┴───╯ │ ╰───┴─────────┴──────────────┴───────────────╯
Вывести уплощённое AST строки в минифицированном формате JSON.
> ast "'hello'" --flatten --json --minify
[{"content":"'hello'","shape":"shape_string","span":{"start":0,"end":7}}]Вывести уплощённое AST конвейера.
> ast 'ls | sort-by type name -i' --flatten ╭───┬─────────┬────────────────────┬────────────────╮ │ # │ content │ shape │ span │ ├───┼─────────┼────────────────────┼────────────────┤ │ 0 │ ls │ shape_internalcall │ ╭───────┬───╮ │ │ │ │ │ │ start │ 0 │ │ │ │ │ │ │ end │ 2 │ │ │ │ │ │ ╰───────┴───╯ │ │ 1 │ | │ shape_pipe │ ╭───────┬───╮ │ │ │ │ │ │ start │ 3 │ │ │ │ │ │ │ end │ 4 │ │ │ │ │ │ ╰───────┴───╯ │ │ 2 │ sort-by │ shape_internalcall │ ╭───────┬────╮ │ │ │ │ │ │ start │ 5 │ │ │ │ │ │ │ end │ 12 │ │ │ │ │ │ ╰───────┴────╯ │ │ 3 │ type │ shape_string │ ╭───────┬────╮ │ │ │ │ │ │ start │ 13 │ │ │ │ │ │ │ end │ 17 │ │ │ │ │ │ ╰───────┴────╯ │ │ 4 │ name │ shape_string │ ╭───────┬────╮ │ │ │ │ │ │ start │ 18 │ │ │ │ │ │ │ end │ 22 │ │ │ │ │ │ ╰───────┴────╯ │ │ 5 │ -i │ shape_flag │ ╭───────┬────╮ │ │ │ │ │ │ start │ 23 │ │ │ │ │ │ │ end │ 25 │ │ │ │ │ │ ╰───────┴────╯ │ ╰───┴─────────┴────────────────────┴────────────────╯
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/ast.html