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
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
1c58b6d83e
Rewrite parser_t::eval_args to use new AST parser
2014-03-20 21:32:02 -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
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
Geoff Nixon
18dd6f58e3
Fixes .c -> .cpp in comments. For doxygen.
2014-02-27 06:23:40 -08:00
ridiculousfish
a57077aba3
Correctly color "end" command, and variable name in for loop.
2014-02-21 18:01:40 -08:00
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
503bbd85b5
Test and fix issue where, if binding X is a prefix of binding Y, and X
...
is specified before Y, then Y will never be invoked because X will
always get there first. Now instead we order bindings in descending
order by length, so that we always test the binding before any others that
prefixes it. Fixes #1283 .
2014-02-12 12:52:31 -08:00
ridiculousfish
5ea7f52df2
Don't complete variables when single quoted. Fixes #1023
2014-02-09 15:27:04 -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
830ab99e6e
Merge branch 'master' into pager
2014-01-24 18:10:41 -08:00
ridiculousfish
535445a555
Replace assertions with new do_test macro in fish_tests.cpp
2014-01-23 18:19:52 -08:00
ridiculousfish
f6afddd94b
Fix for tab-completing arguments. Closes #1261
2014-01-23 18:07:21 -08:00
ridiculousfish
d9d65577f4
Improved navigation of pager list. Added tests for it too.
2014-01-19 16:41:40 -08:00
David Adam
568de7e818
fish_tests.cpp: set return value if tests fail
2014-01-15 23:50:42 +08:00
Konrad Borowski
7874cdf52a
Replace size_t with unsigned long.
...
size_t is not compatible type for `%lu`.
2014-01-15 15:36:50 +01:00
ridiculousfish
53814983ff
Update style and formatting to conform to fish style guide.
2014-01-15 01:40:40 -08:00
ridiculousfish
e2fe873049
Change highlight colors from a bitmask into a combination enum / bitmask
...
so that we can support more than 16 color specifications.
2014-01-15 01:01:25 -08:00
ridiculousfish
28c7094f5b
Fix for issue where 'function' would not define a function if the
...
arguments came before its name. Fixes #1240
2014-01-14 02:29:53 -08:00
ridiculousfish
ff5e2746da
Fix for issue in new parser where no error would be reported if the very
...
first token is an error. Fixes #1239 .
2014-01-14 00:38:55 -08:00
ridiculousfish
dc8014562b
Fix for issue where unterminated quotes would attempt to be executed,
...
instead of continuing edit onto the next line.
2014-01-14 00:02:18 -08:00
ridiculousfish
212eeaa77c
Correctly report errors for 'and' and 'or' in pipelines with new parser
2014-01-13 13:19:58 -08:00
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
096f850433
Eliminate class parse_t
2014-01-12 22:39:12 -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
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
fb882f0b69
Support for stack overflow and infinite recursion detection in new
...
parser
2014-01-01 15:29:56 -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
af21dfd294
Make the tests compile again
2013-12-16 17:18:32 -08:00
ridiculousfish
5cf59de676
Finish rewriting detect_errors to use new parser. All tests now pass (!)
2013-12-12 18:18:07 -08:00
ridiculousfish
7a3f5afee7
Initial work towars improved error reporting. Tests currently fail.
2013-12-08 21:54:06 -08:00
ridiculousfish
925fe65dd8
Remove the indentation part of parser_t::test(). Rename it to
...
detect_errors().
2013-12-08 16:25:07 -08:00
ridiculousfish
67b1f14a6f
Better support for parse errors in indenting
2013-12-08 14:13:23 -08:00
ridiculousfish
dd0cc5ed9f
Rewriting indenting functionality to use new parser
2013-12-08 13:41:12 -08:00
ridiculousfish
a23441109d
Merge branch 'master' into ast
...
Conflicts:
complete.cpp
fish_tests.cpp
highlight.cpp
2013-12-07 12:54:43 -08:00
ridiculousfish
263f919beb
Replace autosuggestions "completions to load" mechanism with moderately
...
less hackish and far simpler "perform on main thread" mechanism
2013-11-29 23:44:26 -08:00
ridiculousfish
9f986d8a86
Implemented iothread_perform_on_main() to support background threads
...
scheduling work on main thread
2013-11-27 16:04:30 -08:00
ridiculousfish
5121417725
Fix for annoying error message when converting out of range escape
...
https://github.com/fish-shell/fish-shell/issues/1107
2013-11-26 10:52:32 -08:00
ridiculousfish
f2211ff3ad
Update some tests
2013-11-26 00:01:23 -08:00
Konrad Borowski
312977d5a6
Fix %lu for size_t in fish_tests.cpp
2013-11-25 16:15:36 +01:00
ridiculousfish
2a1fd421bd
Correctly detect unbalanced 'end' in syntax highlighting
2013-11-25 00:48:01 -08:00
ridiculousfish
34540babdb
Merge branch 'master' into ast
...
Conflicts:
complete.cpp
fish_tests.cpp
2013-11-24 23:21:00 -08:00
ridiculousfish
9f6223311e
Large cleanup and refactoring of unescape() function.
2013-11-24 22:58:39 -08:00
ridiculousfish
964c7e6f3b
Merge branch 'master' into ast
...
Conflicts:
complete.cpp
2013-10-27 13:37:14 -07:00
ridiculousfish
cf766b55cc
Fix formatting
2013-10-26 15:27:39 -07:00
ridiculousfish
ce857b0770
Syntax highlighting for file redirections
2013-10-13 16:58:40 -07:00
ridiculousfish
cbd8a27a6d
Beef up completion tests
2013-10-12 12:04:31 -07:00
ridiculousfish
b60db79866
Modify fish_tests to support specifying the tests to run via arguments
2013-10-12 11:32:34 -07:00
ridiculousfish
ddec870d25
Rework decision process for whether to interpret keywords as structural
...
or as commands (for LL parser). Will allow 'builtin --' to parse as a
plain statement, instead of a decorated statement '--'
2013-10-12 02:46:49 -07:00
ridiculousfish
77e358a001
Support for parsing e.g. 'command --' as a plain statement, instead of
...
executing the command '--'.
2013-10-12 01:47:31 -07:00
ridiculousfish
5490f54d00
Make parse_t::parse a static method so we don't have to create lots of
...
useless parse_t objects
2013-10-12 01:17:55 -07:00
ridiculousfish
58447c147f
Make the new parser LL(2). Support for correct handling of e.g. 'command
...
--help'
2013-10-09 20:37:07 -07:00
ridiculousfish
7b86b2e05a
Adoption of new parser in abbreviations
2013-10-09 02:03:50 -07:00
ridiculousfish
54d7c29221
Syntax highlighting for command substitutions
2013-10-08 18:41:35 -07:00
ridiculousfish
4f718e83b3
Syntax highlighting now correctly handles cd
2013-10-07 03:56:09 -07:00
ridiculousfish
14741518a7
Command highlighting now works
2013-10-06 16:23:45 -07:00
ridiculousfish
dd91779442
Merge branch 'master' into ast_no_templates
...
Conflicts:
configure.ac
exec.cpp
2013-10-06 13:08:57 -07:00
ridiculousfish
991c900fc6
Set of changes to improve detection of escape sequences for prompt width
...
computation. Addresses #767
2013-09-29 02:48:35 -07:00
ridiculousfish
24f1da7f30
Add a fancy new paths_are_equivalent function to test for equivalent
...
paths instead of merely equal ones
2013-08-27 18:26:22 -07:00
ridiculousfish
e58b73179f
More work on new parser
2013-08-11 00:35:00 -07:00
ridiculousfish
8e07e55c1f
More work on new parser
2013-08-08 15:06:46 -07:00
ridiculousfish
3e3eefc2dc
Improvements to new parser. All functions and completions now parse.
2013-07-22 18:26:15 -07:00
ridiculousfish
551d2dfebd
Merge branch 'master' into ast_templates
...
Conflicts:
fish_tests.cpp
2013-07-21 14:04:06 -07:00
ridiculousfish
f9c2a77c67
Next stab at abbreviations. Highlighting should work.
2013-07-19 12:41:35 -07:00
ridiculousfish
92099c7af2
Initial abbreviation work. Tests currently fail.
2013-07-19 12:41:34 -07:00
ridiculousfish
1511de68ed
Make parse_util_locate_cmdsubst return the innermost command substitution instead of the outermost.
...
Fixes https://github.com/fish-shell/fish-shell/issues/913
2013-07-17 01:35:30 -07:00
ridiculousfish
4ca46b7883
Beginning support for new parser error messages
2013-06-15 15:21:35 -07:00
ridiculousfish
827a9d640c
Added parse builtin for testing. Lots of work on simulated execution.
2013-06-15 14:32:38 -07:00
ridiculousfish
048f08080d
Rename expression.h to parse_tree.h and parse_exec.h
2013-06-09 14:21:24 -07:00
ridiculousfish
0a02e0db4b
Merge branch 'master' into parsed
2013-06-09 13:52:18 -07:00
ridiculousfish
f3e5262dc0
Parser limps into existence
2013-06-08 19:20:26 -07:00
ridiculousfish
464187491f
Formatting
2013-06-02 01:14:26 -07:00
ridiculousfish
908b07527e
Support for fuzzy completions
...
https://github.com/fish-shell/fish-shell/issues/568
https://github.com/fish-shell/fish-shell/issues/528
2013-05-25 15:41:18 -07:00
ridiculousfish
2da81b0ae7
Formatting and style updates
2013-05-05 02:33:17 -07:00
ridiculousfish
3e69e5b082
Large set of changes to improve history atomicity on filesystems that do not support locking
...
Should address https://github.com/fish-shell/fish-shell/issues/685
2013-04-27 15:21:14 -07:00
ridiculousfish
10962d7175
Remove code that disabled tests (oops)
2013-04-21 15:49:45 -07:00
ridiculousfish
b936be8e34
Hack up gettext to try to fix CentOS build
...
https://github.com/fish-shell/fish-shell/issues/645
2013-04-08 10:20:56 -07:00
ridiculousfish
b8f34cdd35
Teach case-insensitive completions about tildes. Fixes https://github.com/fish-shell/fish-shell/issues/647
2013-04-07 23:54:43 -07:00
ridiculousfish
e0e0bcdc1e
Update code formatting
2013-03-21 17:44:51 -07:00
ridiculousfish
4d19bb17a9
Break out COMPLETE_NO_CASE and COMPLETE_REPLACES_TOKEN into separate flags, in preparation for upcoming fuzzy completion work
2013-03-05 20:54:16 -08:00
ridiculousfish
1d75c232ff
Teach builtin_test about the special precedence rules in IEEE 1003.1
...
https://github.com/fish-shell/fish-shell/issues/601
2013-03-03 13:22:00 -08:00
ridiculousfish
e918851902
Formatting
2013-02-03 11:38:22 -08:00
ridiculousfish
ded81ec186
Teach fish how to put completion data inside a closing quote
...
Fixes https://github.com/fish-shell/fish-shell/issues/552
2013-02-02 14:50:22 -08:00
ridiculousfish
92b2376c23
Indent switch + case properly. https://github.com/fish-shell/fish-shell/issues/530
2013-01-24 14:59:52 -08:00
ridiculousfish
373cca0bf6
Formatting
2013-01-12 12:55:23 -08:00
ridiculousfish
bf10d6c03b
Tweak test_fork to exercise strerror
2013-01-09 09:36:52 -08:00
ridiculousfish
552d8f394e
Make fishd base its variable files on the MAC address instead of hostname
...
Fixes https://github.com/fish-shell/fish-shell/issues/183
2013-01-08 02:39:22 -08:00
ridiculousfish
bf3e4126b2
Fix for builtin_test crash
...
https://github.com/fish-shell/fish-shell/issues/497
2013-01-06 14:48:46 -08:00
ridiculousfish
8a357e1866
Add some more tests for autosuggestion combining
2013-01-06 14:10:03 -08:00
ridiculousfish
85fdf587c0
When the user input contains capital letters, use its case rather than the autosuggestion's case
...
Fixes https://github.com/fish-shell/fish-shell/issues/335
2013-01-05 15:21:42 -08:00
ridiculousfish
8d4a701f86
Implement builtin [ via builtin test
2013-01-05 01:30:03 -08:00
Jan Kanis
600aeb6ccc
re-enable tests that were accidentally disabled in 0b1e3718
2013-01-01 23:06:41 +01:00
ridiculousfish
e31431140a
Formatting
2012-12-22 12:21:31 -08:00
ridiculousfish
0b1e371880
Changes to work recognition per https://github.com/fish-shell/fish-shell/issues/384
...
Word movement should be very similar to fish 1.x
backward-kill-word remains more liberal, but now stops at any of {,'"=}
2012-12-20 17:37:09 -08:00
ridiculousfish
ce15abd577
Rewrite str2wcstring to properly handle embedded nulls, and be simpler
2012-12-20 12:25:35 -08:00
ridiculousfish
644607c29f
Eliminate str2wcs
2012-12-19 13:31:06 -08:00