Commit graph

3604 commits

Author SHA1 Message Date
ridiculousfish
95f87cdd56 Support for special && and || error messages in new parser 2014-01-13 02:24:11 -08:00
ridiculousfish
746cc4c10b Rename highlight_shell_magic to highlight_shell_new_parser 2014-01-13 00:31:25 -08:00
ridiculousfish
51c18e3f9a Turn off new parser for execution by default in preparation for merge
with trunk
2014-01-13 00:05:43 -08:00
ridiculousfish
25b25e3e49 Include missing algorithm header in parse_execution.cpp 2014-01-12 23:52:33 -08:00
ridiculousfish
096f850433 Eliminate class parse_t 2014-01-12 22:39:12 -08:00
ridiculousfish
ec469782c8 Improvements to error messages with new parser. In particular, "naked
builtins" now print their help (e.g. just 'while')
2014-01-12 15:10:59 -08:00
ridiculousfish
40e223c12d Additional miscellaneous fixes based on cppcheck static analysis 2014-01-12 13:53:59 -08:00
ridiculousfish
b2c78dbd57 Fix for issue where we compute a default USER variable, but never set
its value.
2014-01-12 13:42:26 -08:00
ridiculousfish
89069fdaa4 Miscellaneous minor fixes based on cppcheck static analyzer 2014-01-12 13:33:35 -08:00
ridiculousfish
1130e4782d Remove some unused defines 2014-01-12 00:11:29 -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
d69f408b14 Rename builtin parse to __fish_parse 2014-01-08 15:13:08 -08:00
ridiculousfish
e8d6c96c1e Merge branch 'master' into ast 2014-01-08 15:07:56 -08:00
ridiculousfish
041120aab4 Clean up and reduce memory allocations in string escaping 2014-01-08 15:06:40 -08:00
Сергей Романов
d20f45b949 fix two minor typos in tutorial 2014-01-08 20:09:32 +03:00
David Adam
02bd933c58 Add Alt+. as a default binding for history-token-search-backward
Closes #89.
2014-01-08 15:15:15 +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
Siteshwar Vashisht
8160c85e44 Updated makefile to install javascript files and partials 2014-01-04 10:32:33 +05:30
ridiculousfish
426f58aa61 Merge branch 'master' into ast 2014-01-03 18:12:29 -08:00
ridiculousfish
e0bfa1e422 Merge branch 'fish_config_angular' 2014-01-03 17:54:54 -08:00
ridiculousfish
bf75731bbe Fix for wrong syntax highlighting in the face of tokenizer errors, e.g.
"echo 'hi"
2014-01-03 17:42:25 -08:00
ridiculousfish
c8eec109b2 Support in parse_dump_tree for "forests", which occur when there's a
parse error
2014-01-03 16:54:34 -08:00
ridiculousfish
b8079953d8 Fix for cross-test interference where cancellation from one test would
lead to failure in expansion test
2014-01-03 15:27:39 -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
1863be7be4 Fix some warnings 2014-01-01 15:49:41 -08:00
ridiculousfish
358145c4bd Merge branch 'master' into ast 2014-01-01 15:32:50 -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
e2da73bf4f Fix for issue where 'while |' would be incorrectly interpreted as a
"naked statement" causing a wonky error message
2013-12-31 16:38:15 -08:00
ridiculousfish
4402f73bf7 Improve error reporting for tokens ending with newlines 2013-12-31 16:37:15 -08:00
ridiculousfish
7356a0f6c8 Clean up and rationalize error handling in parse_execution.cpp 2013-12-31 14:37:37 -08:00
David Adam
1efb120248 __fish_complete_svn: remove GNU extension options
Continuation of https://github.com/fish-shell/fish-shell/pull/1195/.
Removes use of --delimiter and --fields with cut(1) as these are GNU
extensions.

Note that a number of completions use these options, but as they are
only for GNU/Linux-specific tools have remained unmodified.
2013-12-30 12:32:24 +08:00
Mandeep Sandhu
8078d29fda Fix completion bug for special fish characters.
Issue #1108: If there are special characters like '{' in the
completion suggestions, then we fail to parse it successfully
as we are passing an unescaped version of the character to
parser_t::eval_args(...).

This causes us to retun w/o completion suggestions.

This bug was discovered while implementing 'git stash' completion
as the suggestion contained strings like 'stash@\{0\}'.

Th fix is to properly escape the string before parsing it.
2013-12-30 12:20:44 +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
maxried
541db5fbbe Update adb.fish
Added semi-documented but often used adb subcommand.
2013-12-28 12:24:58 +01: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
a6ca809a4e Fix for issue where last job_list in tree would have a -1 production_idx
because we never actually sent the terminal token type
2013-12-26 14:52:15 -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
Derek Li
93f7c14ea6 Math: disable bc multi-line output. 2013-12-26 18:32:36 +01: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
Andreas Eger
a3a918e900 adding elixir, iex, mix completions 2013-12-24 12:43:38 +08:00