Commit graph

3383 commits

Author SHA1 Message Date
ridiculousfish
b06e798373 Revert "Remove undefined behavior from parse_error()."
Per my understanding this is not undefined behavior. No ABI depends on the called function reading
variadic arguments, nor does any standard require it. So if this is crashing something else must be going
on.

This reverts commit 22d22f6aa8.
2013-10-16 01:25:47 -07:00
Konrad Borowski
22d22f6aa8 Remove undefined behavior from parse_error().
Having function that takes arbitrary number of arguments without
actually reading them is undefined behavior, as it could cause stack
to be in the corrupted state. Now arguments after token are parsed,
even if they aren't needed.

See also: http://asciinema.org/a/5904
2013-10-14 11:45:29 +02:00
Konrad Borowski
e8ba3c2f4d Fix compilation errors under Clang. 2013-10-14 09:12:45 +02:00
ridiculousfish
ce857b0770 Syntax highlighting for file redirections 2013-10-13 16:58:40 -07:00
ridiculousfish
ce7c681462 Fix for bogus completions for function names 2013-10-13 16:46:02 -07:00
ridiculousfish
41e562ebc2 Clean up redirection parsing in the tokenizer. 2013-10-13 13:28:01 -07:00
ridiculousfish
ddf98661e4 Adopt new parser in tab completions 2013-10-12 18:17:03 -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
e763345f25 Reduce child_count in node structure to 8 bits 2013-10-09 03:45:58 -07:00
ridiculousfish
7b86b2e05a Adoption of new parser in abbreviations 2013-10-09 02:03:50 -07:00
ridiculousfish
a51bd03a5c Remove parse_exec stuff 2013-10-08 18:48:01 -07:00
ridiculousfish
54d7c29221 Syntax highlighting for command substitutions 2013-10-08 18:41:35 -07:00
ridiculousfish
997e3e16dd Merge branch 'master' into ast_no_templates 2013-10-08 15:06:27 -07:00
ridiculousfish
c6eef16664 Autosuggestion adoption of new parser 2013-10-08 15:05:30 -07:00
ridiculousfish
4f718e83b3 Syntax highlighting now correctly handles cd 2013-10-07 03:56:09 -07:00
ridiculousfish
20ccda69f4 Command highlighting works 2013-10-07 01:04:37 -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
Konrad Borowski
553eb6ed40 Document appending / feature. 2013-10-06 14:17:33 +02:00
ridiculousfish
fab7299d49 Replace nextd/prevd <pre>s with \code 2013-10-05 12:13:16 -07:00
ridiculousfish
09ff1e7af0 Update make_tarball.sh to work on Darwin 2013-10-05 01:56:25 -07:00
ridiculousfish
ad5ae9ba3b New documentation UI, including tutorial. 2013-10-05 00:37:44 -07:00
Ronaldo Maia
3788f462b4 Add postgres psql completion
Options and descriptions are from psql --help output. Database and username
completion based on the bash completion
2013-10-04 23:28:01 -07:00
Ronaldo Maia
238bbfcbbb Add postgres psql completion
Options and descriptions are from psql --help output. Database and username
completion based on the bash completion
2013-10-04 23:28:01 -07:00
sra
0efa211a05 Use manpath instead of man --path in man.fish function (as in commit
c7941fc).
2013-10-03 11:46:58 +02:00
David Adam
00a890c8c7 configure: use C++ for all tests, kill CFLAGS 2013-10-02 21:44:06 +08:00
nulltrek
6990871efd Fix git completions when aliased command is not found. 2013-10-02 21:40:19 +08:00
Konrad Borowski
a62ebc9a69 Restore directories' tab completion without slash in command.
This is needed for implicit cd when ending command with `/`.
2013-10-01 08:29:40 +02:00
Konrad Borowski
6c82e7acda Support implicit cd with appended /.
This is an experimental feature, proposed in the issue #22.
https://github.com/fish-shell/fish-shell/issues/22#issuecomment-20483478
2013-10-01 08:25:13 +02:00
ridiculousfish
084e435883 Strip out git commit numbers from doxygen documentation 2013-09-30 16:03:34 -07:00
ridiculousfish
2f33e5919d Better error messages for EDITOR=vim git... type commands.
https://github.com/fish-shell/fish-shell/issues/809
2013-09-30 14:55:25 -07:00
ridiculousfish
cbe615224d Make tok_last_type return an enum token_type instead of int 2013-09-30 13:57:36 -07:00
ridiculousfish
6c70ed79ae Update docs to describe autosuggestions. Fixes #937 2013-09-30 11:45:54 -07:00
Konrad Borowski
488652c23a Support term256 in config.fish. Fixes #1022. 2013-09-30 14:45:12 +02:00
ridiculousfish
bb3a00d1eb Fix fish.app for directories with spaces. Fixes #774 2013-09-29 14:01:52 -07:00
ridiculousfish
bf3cf2580f Fix for bug where fish fails to source config files if the path contains
a space
2013-09-29 13:39:41 -07:00
MagicMuscleMan
843944f558 Complete apt-get purge identical to apt-get remove
As apt-get purge really has the same operations as apt-get remove, there is not reason to handle them differently in its completion file.
2013-09-29 13:35:03 +02: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
Siteshwar Vashisht
0d2af9e742 Updated help text of fish_config command 2013-09-28 17:22:46 +05:30
Konrad Borowski
4aa9f76d06 Fix one element tuple to be actually tuple.
While in this case it doesn't mean much (neither `z` or `-` would be
passed to options parser), it makes things possibly less buggy.
2013-09-25 16:39:22 +02:00
David Adam
1235e60a29 default key bindings: fix syntax errors introduced in 735af50 2013-09-24 22:49:11 +08:00
David Adam
735af50ce9 default key bindings: add further iTerm2 bindings 2013-09-24 20:04:05 +08:00
ridiculousfish
7ce5f34d6f Disable flow control per #814 2013-09-22 18:14:18 -07:00
Konrad Borowski
f76a16a727 Add Perl modules completion. 2013-09-22 20:12:14 +02:00
Ryan Hileman
f2a5237802 Improve dangerous/undefined PID expansion behavior
1. Use Bash-like expansion for empty searches (when you just use a '%' by
itself).

'%' will now *only* match the last valid backgrounded process.
If there are no such processes, an expansion error will be generated.

'%' by itself would previously match either *all* backgrounded
processes, or failing that, all processes owned by your user. If you
ever tried to run `kill -9 %`, it would either kill all backgrounded
processes or *all* of your processes. I'm not sure why anyone would ever
want that to be a single keystroke away. You could almost typo it.

As a result, `fg %`, `bg %`, `kill %`, etc will all operate on the last
process touched by job control.

2. Don't run 'by-name' matches when the search term is numeric.

This prevents you from running a command like `kill %1` and accidentally
killing a process named something like "1Command". Overloaded behavior
can be dangerous, and we probably shouldn't play fast and loose with
expansion characters that generate process IDs.
2013-09-22 19:54:37 +08:00