Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Simplify begin_header production | Sanne Wouda | 2015-04-13 |
| | | | | The TOK_END is swallowed by the subsequent job_list anyway. | ||
* | Modify parser to accept 'begin' without ';' | Sanne Wouda | 2015-04-13 |
| | | | | | | | | | | | | Examples that work as expected (even completions don't get confused): $ begin true; end; $ begin if true; end; end $ begin if true; echo hi; end The last example correctly expects another 'end' to match 'begin'. Fixes #1248. | ||
* | Tweak comment handling. Mark a parse node with a new flag when it has comments | ridiculousfish | 2014-12-23 |
| | |||
* | Disallow backgrounding in conditionals and before and/or bool statements | ridiculousfish | 2014-11-02 |
| | | | | Fixes #1136 | ||
* | Set of fixes for issues identified by cppcheck | ridiculousfish | 2014-10-30 |
| | |||
* | Fix to indent comments in blocks properly (#1710) | ridiculousfish | 2014-09-29 |
| | | | | | | | | | | | | | | | | | | | | This makes two changes to parse trees: 1. Unmaterialized nodes no longer have an invalid source location For example, with the code `while false;end` there are no tokens associated with the while loop's job_list, and therefore it is unmaterialized. Previously it would have had a SOURCE_OFFSET_INVALID. But now it has a zero source length, but an offset equal to the end of the while loop (i.e. the semicolon), and a zero length. Correspondingly, the has_source function now checks the length instead of the offset. 2. Special (comment and error) nodes have always been "disconnected," meaning they are not the child of any other node. However, they now have their parent offsets set to whatever the top of the node stack was when the node was encountered. This gives us a sense of which node the comment is "in", e.g. if we are constructing a job list then the comment's parent will be the job list. This lets us determine the comment's indent. | ||
* | Run restyle.sh to enforce style rules. | ridiculousfish | 2014-03-31 |
| | |||
* | Fix switch statement syntax highlighting so that the arguemnt to switch | ridiculousfish | 2014-03-28 |
| | | | | | is colored as a parameter, not a command. Promote this from a tok_string to a symbol_argument in the grammar too. | ||
* | Fix initially backgrounded jobs. Fixes #1373 | ridiculousfish | 2014-03-28 |
| | |||
* | Teach parser_t how to parse an argument list that contains newlines, for | ridiculousfish | 2014-03-27 |
| | | | | complete -a support. Fixes #1369 | ||
* | Merge branch 'master' into parser_cleanup | ridiculousfish | 2014-03-26 |
|\ | | | | | | | | | | | Conflicts: parse_constants.h parse_tree.h | ||
| * | Space and time optimizations for parse_node_t. Reduced size from 48 | ridiculousfish | 2014-03-25 |
| | | | | | | | | bytes to 20 bytes. | ||
* | | Excise use of parser_t's error() functionality. Thread a | ridiculousfish | 2014-03-21 |
| | | | | | | | | | | | | parse_error_list_t through all of the expand functions, enabling them to report errors more directly. Improve aspects of error reporting for expansion failures. | ||
* | | Rewrite parser_t::test_args and parser_t::eval_args to use new parser | ridiculousfish | 2014-03-20 |
| | | |||
| * | Allow the caller to specify the goal node when parsing a string via the | ridiculousfish | 2014-03-04 |
| | | | | | | | | new parser. This enables parsing either a job list or an argument list. | ||
* | | Allow the caller to specify the goal node when parsing a string via the | ridiculousfish | 2014-03-02 |
|/ | | | | new parser. This enables parsing either a job list or an argument list. | ||
* | Correct some mistakes in the fish grammar comment | ridiculousfish | 2014-02-27 |
| | |||
* | Tweak error reporting in new parser to use fewer lines | ridiculousfish | 2014-02-17 |
| | |||
* | Reimplement exec parsing. Instead of special-casing exec as a command, | ridiculousfish | 2014-02-13 |
| | | | | | | promote it to a decoration (like 'command' or 'builtin'). This makes tab completion and syntax highlighting treat exec's first argument as a command and is otherwise a nice simplification. Fixes #1300 | ||
* | Update style and formatting to conform to fish style guide. | ridiculousfish | 2014-01-15 |
| | |||
* | Fix for issue where 'function' would not define a function if the | ridiculousfish | 2014-01-14 |
| | | | | arguments came before its name. Fixes #1240 | ||
* | Fix for issue where unterminated quotes would attempt to be executed, | ridiculousfish | 2014-01-14 |
| | | | | instead of continuing edit onto the next line. | ||
* | Correctly report errors for 'and' and 'or' in pipelines with new parser | ridiculousfish | 2014-01-13 |
| | |||
* | Support for special && and || error messages in new parser | ridiculousfish | 2014-01-13 |
| | |||
* | Eliminate class parse_t | ridiculousfish | 2014-01-12 |
| | |||
* | Add a convenience method next_node_in_node_list which can be used for | ridiculousfish | 2014-01-05 |
| | | | | iterating over lists in a parse tree | ||
* | Support in parse_dump_tree for "forests", which occur when there's a | ridiculousfish | 2014-01-03 |
| | | | | parse error | ||
* | Support for stack overflow and infinite recursion detection in new | ridiculousfish | 2014-01-01 |
| | | | | parser | ||
* | Further improvements to error reporting with new parser | ridiculousfish | 2014-01-01 |
| | |||
* | Fix issues related to redirections and block level IO with new parser | ridiculousfish | 2013-12-28 |
| | |||
* | Bringup of function definitions, switch statements with new parser | ridiculousfish | 2013-12-27 |
| | |||
* | Hook up for statements, if statements, and function definition in new | ridiculousfish | 2013-12-27 |
| | | | | parser | ||
* | Factor execution aspects from parser_t to parse_execution_context_t . | ridiculousfish | 2013-12-24 |
| | | | | Still searching for best way to use new parser for execution. | ||
* | Very early work in adopting new parser for actual execution of commands. | ridiculousfish | 2013-12-23 |
| | | | | Not turned on yet. | ||
* | Clean up some error messages. Don't show the line in the error message | ridiculousfish | 2013-12-16 |
| | | | | if it's the first line and we're interactive, since then it's obvious | ||
* | Finish rewriting detect_errors to use new parser. All tests now pass (!) | ridiculousfish | 2013-12-12 |
| | |||
* | Initial work towards rewriting detect_errors to use new parser. | ridiculousfish | 2013-12-11 |
| | | | | Low-level tests currently pass; high level tests fail. | ||
* | Initial work towars improved error reporting. Tests currently fail. | ridiculousfish | 2013-12-08 |
| | |||
* | Rewriting indenting functionality to use new parser | ridiculousfish | 2013-12-08 |
| | |||
* | Fix compilation errors under Clang. | Konrad Borowski | 2013-10-14 |
| | |||
* | Syntax highlighting for file redirections | ridiculousfish | 2013-10-13 |
| | |||
* | Adopt new parser in tab completions | ridiculousfish | 2013-10-12 |
| | |||
* | Rework decision process for whether to interpret keywords as structural | ridiculousfish | 2013-10-12 |
| | | | | | or as commands (for LL parser). Will allow 'builtin --' to parse as a plain statement, instead of a decorated statement '--' | ||
* | Support for parsing e.g. 'command --' as a plain statement, instead of | ridiculousfish | 2013-10-12 |
| | | | | executing the command '--'. | ||
* | Make parse_t::parse a static method so we don't have to create lots of | ridiculousfish | 2013-10-12 |
| | | | | useless parse_t objects | ||
* | Make the new parser LL(2). Support for correct handling of e.g. 'command | ridiculousfish | 2013-10-09 |
| | | | | --help' | ||
* | Reduce child_count in node structure to 8 bits | ridiculousfish | 2013-10-09 |
| | |||
* | Adoption of new parser in abbreviations | ridiculousfish | 2013-10-09 |
| | |||
* | Autosuggestion adoption of new parser | ridiculousfish | 2013-10-08 |
| | |||
* | Syntax highlighting now correctly handles cd | ridiculousfish | 2013-10-07 |
| |