Commit graph

3770 commits

Author SHA1 Message Date
ridiculousfish
ad6367018b Excise use of parser_t's error() functionality. Thread a
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.
2014-03-21 17:13:33 -07:00
ridiculousfish
c71b168402 Remove current_tokenizer and current_tokenizer_pos from old parser 2014-03-20 21:32:03 -07:00
ridiculousfish
4deb46290d Remove additional dead code from old parser 2014-03-20 21:32:03 -07:00
ridiculousfish
e5ef45e4c0 Rewrite parser_t::test_args and parser_t::eval_args to use new parser 2014-03-20 21:32:02 -07:00
ridiculousfish
e780637cf4 Add some tests for parse_util_detect_errors_in_argument 2014-03-20 21:32:02 -07:00
ridiculousfish
d659e55646 Correct the last keyword enum to reflect the actual last keyword 2014-03-20 21:32:02 -07:00
ridiculousfish
1c58b6d83e Rewrite parser_t::eval_args to use new AST parser 2014-03-20 21:32:02 -07:00
ridiculousfish
1305c02579 Rewrite parser_t::current_line() to respect new parser 2014-03-20 21:32:02 -07:00
ridiculousfish
2c19ca0dbf Fix for issue where pager contents may stay around if you executed a
command with pager contents visible
2014-03-20 21:32:02 -07:00
ridiculousfish
3cfdc6d126 Fix line number reporting in new parser 2014-03-20 21:32:02 -07:00
ridiculousfish
8ec73b2dd4 Removing some variables from parser_t that are no longer used in the new
execution model
2014-03-20 21:32:02 -07:00
ridiculousfish
5c54ef7b0d Merge branch 'master' into parser_cleanup 2014-03-15 20:24:25 -07:00
ridiculousfish
73c2846d64 Remove support for input IO_BUFFERs, which were only used by fish_pager 2014-03-15 19:49:55 -07:00
ridiculousfish
acd2038407 Remove old pager remnants, including documentation and references in the
build system
2014-03-15 14:24:05 -07:00
ridiculousfish
2442ae60db Remove old fish_pager source and implementation 2014-03-15 14:00:18 -07:00
ridiculousfish
6c096191ba Remove support for invoking old pager 2014-03-15 13:46:15 -07:00
ridiculousfish
20f9dd9a6b Fix for extra newline that gets appended if a command is not found in
the new parser
2014-03-15 13:07:19 -07:00
David Adam
44e94b8cfa ignore (generated) messages.pot 2014-03-13 21:56:56 +08:00
David Adam
8c21cf7761 translations: update new strings, convert all to UTF-8 2014-03-13 21:56:04 +08:00
David Adam
d2851cf5c5 translations: correct strings for fish_greeting default message 2014-03-13 21:16:35 +08:00
David Adam
b0716253a2 Makefile: assume UTF-8 in our codebase for translation generation 2014-03-13 21:16:35 +08:00
David Adam
eaf023b4d8 Makefile: separate messages.pot error lines 2014-03-13 21:16:35 +08:00
ridiculousfish
e47ad09130 Make contains take the string by const reference again, for performance reasons 2014-03-11 12:43:52 +08:00
David Adam
689d0082d8 README.md: document build and runtime dependencies even better. 2014-03-10 10:09:52 +08:00
ridiculousfish
390a49072d Reorganize keyword recognition in the parser to use a single table 2014-03-10 07:38:14 +08:00
Daniel J. Hofmann
7dc0b6f40b Fixed various Undefined Behavior occurrences.
Conditionally uninitialized:
 - builtin_commandline.cpp:577
 - expand.cpp:869
 - parse_util.cpp:1036

Initialization of POD structs:
 - event.cpp:61
 - autoload.cpp:22

References used with va_start:
 - common.cpp:608:18

Found with clang-3.4's awesome -Wconditional-uninitialized,
-Wmissing-field-initializers and -Wvarargs.
2014-03-07 18:28:16 +01:00
ridiculousfish
79d14521db Support for error detection in arguments in new parser. Restores error
reporting for bad arguments (e.g. with bad variable names)
2014-03-04 02:54:08 -08:00
ridiculousfish
8d6b0c8d76 Allow the caller to specify the goal node when parsing a string via the
new parser. This enables parsing either a job list or an argument list.
2014-03-04 02:54:08 -08:00
Konrad Borowski
1486774249 Force at least one line of output for set_color.
This should fix #1323.
2014-03-03 22:17:55 +01:00
ridiculousfish
1fa9167f25 Allow the caller to specify the goal node when parsing a string via the
new parser. This enables parsing either a job list or an argument list.
2014-03-02 16:03:05 -08:00
ridiculousfish
cc12225142 Clean up various block types and state as part of new parser 2014-03-02 13:46:30 -08:00
ridiculousfish
6b3a37c597 Remove obviated builtins and additional cleanup of old parser 2014-03-02 13:11:17 -08:00
ridiculousfish
b187125b63 Merge branch 'master' into parser_cleanup 2014-03-01 20:33:26 -08:00
ridiculousfish
d232a0f951 Implement status -n (line number) with new parser 2014-03-01 16:04:13 -08:00
ridiculousfish
84ea96f383 Begin removing remnants of old parser 2014-02-28 20:01:04 -08:00
ridiculousfish
be33d3f2a4 Revert "Merge pull request #1317 from pullreq/cpp"
This reverts commit 74135c0600, reversing
changes made to 6d749789ce.

See discussion in #1317
2014-02-28 02:16:48 -08:00
ridiculousfish
0e991c596f Enable new parser by default (!). Fixes #557.
This entirely replaces fish's execution model. Bugs are likely. See commit 290aae80 for what this is about.
2014-02-27 21:06:39 -08:00
ridiculousfish
858b6aa257 Correct some mistakes in the fish grammar comment 2014-02-27 20:34:42 -08:00
Konrad Borowski
74135c0600 Merge pull request #1317 from pullreq/cpp
Fixup filenames in comments; remove dead code found with scan-build.
2014-02-27 17:18:18 +01:00
Geoff Nixon
18dd6f58e3 Fixes .c -> .cpp in comments. For doxygen. 2014-02-27 06:23:40 -08:00
Geoff Nixon
ddcd2b0810 Dead stores 2014-02-27 06:23:40 -08:00
Konrad Borowski
6d749789ce Use 127.0.0.1 for fish config.
Before this change, fish config used 0 as its address. However, this
isn't a good idea from security point of view, as web service can be
accessed from everywhere, and do anything on the account it was ran on.

This also deals with firewalls which block the access to 0 even from
the host machine itself. It possibly might fix #673, but I'm not sure.
2014-02-27 14:47:08 +01:00
ridiculousfish
3224062b32 Optimize some fast paths in autoload loading. Use an iterator to avoid
doing multiple set lookups, and cache the tokenized path to avoid
multiple memory allocations.
2014-02-24 13:06:54 -08:00
ridiculousfish
688ea28bed Optimize the tokenize_variable_array hot spot to do less string copying 2014-02-24 09:54:30 -08:00
ridiculousfish
5e7c01c251 Rework color editing in fish_config. Bury customization mode a bit:
initially the user only sees the various themes, and has to activate
customization mode to change colors. Tweak the appearance as well.
2014-02-24 01:56:02 -08:00
ridiculousfish
de2eea05b4 Turn on the new pager by default, as described in #291 2014-02-22 22:24:23 -08:00
ridiculousfish
1de819e3de Fix for busted tab completions in for loop arguments, switch statements,
and other syntactic constructs. Fixes #1309
2014-02-21 19:55:55 -08:00
ridiculousfish
bc43409624 Expand the variable name as an ordinary parameter in for loops. Added
test for it too.
2014-02-21 18:20:51 -08:00
ridiculousfish
a57077aba3 Correctly color "end" command, and variable name in for loop. 2014-02-21 18:01:40 -08:00
ridiculousfish
8eaabacf44 Allow double-tapping tab to fully disclose pager, per #291 2014-02-20 13:30:26 -08:00