Skip to content

Instantly share code, notes, and snippets.

@floam
Last active July 19, 2016 09:19
Show Gist options
  • Save floam/3aa09e916f9cb25d86b177346a8ea224 to your computer and use it in GitHub Desktop.
Save floam/3aa09e916f9cb25d86b177346a8ea224 to your computer and use it in GitHub Desktop.
`__fish_parse` and `fish_indent` --dump output compared
echo "echo 3; and false" | __fish_parse
0 - 0 symbol_job_list <2 children> [0, 18]
1 - 1 symbol_job <3 children> [0, 6]
2 - 3 symbol_statement <1 children> [0, 6]
3 - 6 symbol_decorated_statement <1 children> [0, 6]
4 - 7 symbol_plain_statement <2 children> [0, 6]
5 - 8 parse_token_type_string: "echo"
6 - 9 symbol_arguments_or_redirections_list <2 children> [5, 1]
7 - 10 symbol_argument_or_redirection <1 children> [5, 1]
8 - 12 symbol_argument <1 children> [5, 1]
9 - 13 parse_token_type_string: "3"
10 - 11 symbol_arguments_or_redirections_list [no src]
11 - 4 symbol_job_continuation [no src]
12 - 5 symbol_optional_background [no src]
13 - 2 symbol_job_list <2 children> [6, 12]
14 - 14 parse_token_type_end [6, 2]
15 - 15 symbol_job_list <2 children> [8, 10]
16 - 16 symbol_job <3 children> [8, 9]
17 - 18 symbol_statement <1 children> [8, 9]
18 - 21 symbol_boolean_statement <2 children> [8, 9]
19 - 22 parse_token_type_string: "and"
20 - 23 symbol_statement <1 children> [12, 5]
21 - 24 symbol_decorated_statement <1 children> [12, 5]
22 - 25 symbol_plain_statement <2 children> [12, 5]
23 - 26 parse_token_type_string: "false"
24 - 27 symbol_arguments_or_redirections_list [no src]
25 - 19 symbol_job_continuation [no src]
26 - 20 symbol_optional_background [no src]
27 - 17 symbol_job_list <2 children> [17, 1]
28 - 28 parse_token_type_end [17, 1]
29 - 29 symbol_job_list [no src]
🅸 ~/s/githubfish ((1c4c1de0…)|✚3…) $ echo "echo 3; and false" | fish_indent --dump
{off 0, len 18, indent 0, kw none, symbol_job_list} [ |echo 3; and false
| ]
{off 0, len 6, indent 0, kw none, symbol_job} [ |echo 3|;]
{off 0, len 6, indent 0, kw none, symbol_statement} [ |echo 3|;]
{off 0, len 6, indent 0, kw none, symbol_decorated_statement} [ |echo 3|;]
{off 0, len 6, indent 0, kw none, symbol_plain_statement} [ |echo 3|;]
{off 0, len 4, indent 0, kw none, parse_token_type_string} [ |echo| ]
{off 5, len 1, indent 0, kw none, symbol_arguments_or_redirections_list} [ |3|;]
{off 5, len 1, indent 0, kw none, symbol_argument_or_redirection} [ |3|;]
{off 5, len 1, indent 0, kw none, symbol_argument} [ |3|;]
{off 5, len 1, indent 0, kw none, parse_token_type_string} [ |3|;]
{off 6, len 0, indent 0, kw none, symbol_arguments_or_redirections_list} [3||;]
{off 6, len 0, indent 0, kw none, symbol_job_continuation} [3||;]
{off 6, len 0, indent 0, kw none, symbol_optional_background} [3||;]
{off 6, len 12, indent 0, kw none, symbol_job_list} [3|; and false
| ]
{off 6, len 1, indent 0, kw none, parse_token_type_end} [3|;| ]
{off 8, len 10, indent 0, kw none, symbol_job_list} [ |and false
| ]
{off 8, len 9, indent 0, kw none, symbol_job} [ |and false|\cJ]
{off 8, len 9, indent 0, kw none, symbol_statement} [ |and false|\cJ]
{off 8, len 9, indent 0, kw none, symbol_boolean_statement} [ |and false|\cJ]
{off 8, len 3, indent 0, kw and, parse_token_type_string} [ |and| ]
{off 12, len 5, indent 0, kw none, symbol_statement} [ |false|\cJ]
{off 12, len 5, indent 0, kw none, symbol_decorated_statement} [ |false|\cJ]
{off 12, len 5, indent 0, kw none, symbol_plain_statement} [ |false|\cJ]
{off 12, len 5, indent 0, kw none, parse_token_type_string} [ |false|\cJ]
{off 17, len 0, indent 0, kw none, symbol_arguments_or_redirections_list} [e||\cJ]
{off 17, len 0, indent 0, kw none, symbol_job_continuation} [e||\cJ]
{off 17, len 0, indent 0, kw none, symbol_optional_background} [e||\cJ]
{off 17, len 1, indent 0, kw none, symbol_job_list} [e|
| ]
{off 17, len 1, indent 0, kw none, parse_token_type_end} [e|
| ]
{off 18, len 0, indent 0, kw none, symbol_job_list} [\cJ|| ]
echo 3
and false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment