ridiculousfish
1fbf633817
Reimplement exec parsing. Instead of special-casing exec as a command,
...
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
2014-02-13 10:10:49 -08:00
ridiculousfish
29ddb68da4
Tests and fix to allow return to work correctly within if statements. Closes #1297 .
2014-02-12 01:39:06 -08:00
ridiculousfish
414530c9c2
Partially rework profiling. Fix profiling crash with new parser. Fixes
...
1295
2014-02-09 14:04:43 -08:00
ridiculousfish
e632d39b1f
Make if statements always return success at the end, matching other
...
shells. Fixes #1061 .
2014-02-07 17:57:53 -08:00
ridiculousfish
bac3b39227
Highlight the entire variable name, not just the dollar sign. Fixes #1201
2014-02-03 14:16:00 -08:00
ridiculousfish
53814983ff
Update style and formatting to conform to fish style guide.
2014-01-15 01:40:40 -08:00
ridiculousfish
6fc1d7dc77
Further cleanup and improvements to error messages
2014-01-13 03:57:59 -08:00
ridiculousfish
d9056081e7
Added tests for piping an fd other than stdout
2014-01-13 02:49:41 -08:00
ridiculousfish
25b25e3e49
Include missing algorithm header in parse_execution.cpp
2014-01-12 23:52:33 -08:00
ridiculousfish
0e9d159bc2
Improvements to error reporting. In particular, we now append a newline
...
in reader_shell_test, so that there's always a statement terminator.
Otherwise commands like 'echo |' would not be considered an error (just
incomplete).
2014-01-08 18:20:55 -08:00
ridiculousfish
b34721b3f4
Miscellaneous optimizations to reduce string copying
2014-01-07 14:57:58 -08:00
ridiculousfish
cb6be2a50d
Support for "simple block" optimization, where we can run blocks
...
directly if there are no arguments or redirections to the block itself
2014-01-07 10:45:36 -08:00
ridiculousfish
45852f0497
Add a convenience method next_node_in_node_list which can be used for
...
iterating over lists in a parse tree
2014-01-05 15:23:42 -08:00
ridiculousfish
993148552e
Support for Ctrl-C cancellation in new parser. Added tests for it too.
2014-01-02 16:19:33 -08:00
ridiculousfish
fb882f0b69
Support for stack overflow and infinite recursion detection in new
...
parser
2014-01-01 15:29:56 -08:00
ridiculousfish
27cba56761
Further improvements to error reporting with new parser
2014-01-01 00:04:02 -08:00
ridiculousfish
7356a0f6c8
Clean up and rationalize error handling in parse_execution.cpp
2013-12-31 14:37:37 -08:00
ridiculousfish
a9787b769f
Support for implicit cd, no-exec, and the exit builtin. All tests now
...
pass (!). Error reporting still unsteady.
2013-12-29 16:23:26 -08:00
ridiculousfish
a42711e31c
Support for break/continue with new parser execution
2013-12-28 22:52:06 -08:00
ridiculousfish
c632307eaa
Make eval_node_at_offset return an error indication instead of the exit
...
status of the last command
2013-12-28 16:33:26 -08:00
ridiculousfish
0f9de11a67
Fix issues related to redirections and block level IO with new parser
2013-12-28 16:18:38 -08:00
ridiculousfish
715823a666
Bringup of function definitions, switch statements with new parser
2013-12-27 03:58:42 -08:00
ridiculousfish
6ce4b344e4
Hook up for statements, if statements, and function definition in new
...
parser
2013-12-27 01:38:43 -08:00
ridiculousfish
c1a13ae8bc
Fix a few errors identified by testing new parser
2013-12-26 13:36:43 -08:00
ridiculousfish
6536ffe178
Facilities for turning on new AST-based parser.
2013-12-26 13:24:10 -08:00
ridiculousfish
562946d055
Cleanup thrashing around in parser_t. New parser execution lives in
...
parse_execution.cpp
2013-12-26 12:55:10 -08:00
ridiculousfish
924b8cbe24
New ideas about how to use new parser for execution. Beginnings of
...
implementation.
2013-12-26 12:24:00 -08:00
ridiculousfish
5b1a532652
Factor execution aspects from parser_t to parse_execution_context_t .
...
Still searching for best way to use new parser for execution.
2013-12-24 13:17:24 -08:00