mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-27 05:13:10 +00:00
Turn on the new "ast" parser by default for execution.
This change replaces fish's execution model, and obviates much of parser_t. Instead of parsing fish code into a sequence of commands-arguments, this reifies syntactic constructs into a grammar, builds a parse tree, and executes that. This provides a big simplification and (sometimes) performance boost. fish while loops become C++ while loops, etc. There are some known regressions in error reporting, which ought to be fixed in the soon-to-be-merged parser_cleanup branch. There's also legitimate changes in edge cases. For example, `command builtin ...` now executes a command called "builtin" instead of doing something else weird. The most significant change is that syntactic elements must be unexpected: for example, single quoting 'command' will now cause it to not be recognized. This should be fixed soon. Please open issues for any regressions you find!
This commit is contained in:
parent
0d64bbed46
commit
a4cafaad2e
1 changed files with 1 additions and 1 deletions
|
@ -3145,7 +3145,7 @@ bool parser_use_ast(void)
|
|||
env_var_t var = env_get_string(L"fish_new_parser");
|
||||
if (var.missing_or_empty())
|
||||
{
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue