Commit graph

3864 commits

Author SHA1 Message Date
ridiculousfish
b01d09d704 Set the job property of block_t before expanding arguments associated
with the job, fixing psub. Fixes #1394
2014-04-02 00:32:08 -07:00
Daniel Matz
2f6551b3b1 Properly detect when MQ is enabled for Mercurial completion. 2014-03-31 10:08:10 -07:00
Daniel Matz
50ae14cf7b Properly complete Mercurial bookmarks when only one bookmark exists.
The if statement checking the output of hg bookmarks uses two conditions
joined by the or keyword.  However, only the first part was being used.
Wrapping the two statements with begin and end properly combines them.
2014-03-31 10:08:10 -07:00
Daniel Matz
79b7cd69bb Add fallback for label completion in older versions of Mercurial. 2014-03-31 10:08:10 -07:00
Daniel Matz
cf237a0e4f Replace use of xargs with command substitution in Mercurial completion. 2014-03-31 10:08:10 -07:00
Daniel Matz
c0d147c5c4 Add the __fish prefix to all Mercurial completion functions. 2014-03-31 10:08:10 -07:00
Daniel Matz
bd707b4a96 Remove unnecessary use of uniq in Mercurial completion.
Fish already takes care of duplicate completions.
2014-03-31 10:08:10 -07:00
Daniel Matz
daaed863da Use the current commandline token for Mercurial filename completion.
The token variable was being used, but I must have accidentally deleted its
definition while I was working on the original version of the file.
2014-03-31 10:08:10 -07:00
Daniel Matz
2bdfac2036 Use local scope for variables in Mercurial completion functions. 2014-03-31 10:08:10 -07:00
Daniel Matz
d74a23e583 Improve Mercurial command completion.
Rewrote the completion file by hand.  Added completion of files, bookmarks,
revision labels, etc.
2014-03-31 10:08:09 -07:00
Anders Bergh
44b35f7735 fish_config: Listen on both IPv6 and IPv4.
A subclass of TCPServer was created to deny any non-local connections and to
listen using an IPv6 socket.
2014-03-31 10:06:46 -07:00
ridiculousfish
0d3169ef70 Run restyle.sh to enforce style rules. 2014-03-31 10:01:39 -07:00
Kevin Ballard
fe3b439e31 Fix non-verbose, non-informative __fish_git_prompt
At some point the non-verbose, non-informative variant of the prompt
(e.g. the variant that looks like the bash prompt) was modified to try
and show the behind/ahead counts the same way the informative prompt
does. Besides being wrong, it also didn't work because behind/ahead
weren't defined.
2014-03-31 09:59:41 -07:00
Lukas Stabe
6c987d6708 add pacsrv completion 2014-03-31 09:54:28 -07:00
ridiculousfish
28fd1a4c5d Merge branch 'master' of github.com:fish-shell/fish-shell 2014-03-30 21:58:32 -07:00
ridiculousfish
bd895aa76c Changes to bind_mode implementation based on code review and merge
errors
2014-03-30 16:58:46 -07:00
David Adam
1177daecde configure: turn off automatic searches through non-standard directories
configure will no longer check for the existence of extra include, lib
and bin directories in /usr/pkg /sw /opt /opt/local /usr/local.

The check was not done in a particularly sensible manner and there are
now no mandatory dependencies that not shipped in the main system trees
on virtually every system in existence.

If building with Fink, follow these directions as suggested by the fink
project:
  http://www.finkproject.org/faq/usage-general.php#compile-myself

Closes #1185, and closes #1186.
2014-03-30 13:11:41 +08:00
David Adam
42813eeb84 configure/Makefile: remove unused $LIBS and $LDFLAGS complications 2014-03-30 13:11:41 +08:00
ridiculousfish
d4fafeb6d6 Merge branch 'master' into 1218_rebase
Conflicts:
	builtin.cpp
	builtin_commandline.cpp
	highlight.cpp
	input.cpp
	input.h
	reader.cpp
	screen.cpp
	screen.h
2014-03-29 14:19:45 -07:00
Knut Ahlers
1270384ede Fixed appearance of ssh hostnames with [] in them
refs https://github.com/fish-shell/fish-shell/issues/1355
2014-03-29 11:46:45 +01:00
ridiculousfish
aa1b065dd1 Allow appending path hints to history items after they have been added,
allowing us to avoid the delay before items appear in history. Should
fix #984
2014-03-28 23:22:03 -07:00
ridiculousfish
7248b2213d Fix switch statement syntax highlighting so that the arguemnt to switch
is colored as a parameter, not a command. Promote this from a tok_string
to a symbol_argument in the grammar too.
2014-03-28 17:09:08 -07:00
ridiculousfish
74b28f0a86 Fix for crash with malformed switch statement. Fixes #1376 2014-03-28 16:56:44 -07:00
ridiculousfish
005edf71a8 Fix initially backgrounded jobs. Fixes #1373 2014-03-28 14:39:47 -07:00
ridiculousfish
c1f64ba017 Make set_color fail silently if there is no argument (reintroducing
469743c). Fixes #1335
2014-03-27 13:46:33 -07:00
ridiculousfish
42166be22e Make the argument list parsing in complete -a robust against weird
tokens like &. Improve the error message when such tokens are found.
2014-03-27 11:34:18 -07:00
ridiculousfish
62b3ed17ba Teach parser_t how to parse an argument list that contains newlines, for
complete -a support. Fixes #1369
2014-03-27 11:17:05 -07:00
ridiculousfish
31bf50b2d4 Equip syntax highlighting with a variant that does no disk I/O. Invoke
it after expanding an abbreviation, so that the expanded abbreviation
appears with (some) syntax highlighting.
2014-03-26 18:49:09 -07:00
ridiculousfish
0325c1ba65 Teach parse_util_detect_errors to report invalid builtins, as found in
issue #1252
2014-03-26 18:20:38 -07:00
ridiculousfish
f2a437bd3b Merge branch 'master' into parser_cleanup
Conflicts:
	parse_constants.h
	parse_tree.h
2014-03-26 13:59:14 -07:00
ridiculousfish
7a7fb423b3 Remove some unused function declarations 2014-03-26 10:00:32 -07:00
ridiculousfish
d533c1b1c8 Second attempt to fix the build. config.h.in changes need to go in
configure.ac.
2014-03-25 20:23:58 -07:00
ridiculousfish
2db013a5fa Hopeful fix for the build 2014-03-25 20:13:33 -07:00
ridiculousfish
9fece3fdf1 Space and time optimizations for parse_node_t. Reduced size from 48
bytes to 20 bytes.
2014-03-25 20:06:34 -07:00
ridiculousfish
b520a03c57 Prefer swap() member function to std::swap. We were hitting the
inefficient generic std::swap for some derived types.
2014-03-25 12:44:21 -07:00
ridiculousfish
a4cafaad2e Turn on the new "ast" parser by default for execution.
This change replaces fish's execution model, and obviates much of
parser_t. Instead of parsing fish code into a sequence of
commands-arguments, this reifies syntactic constructs into a grammar,
builds a parse tree, and executes that. This provides a big
simplification and (sometimes) performance boost. fish while loops
become C++ while loops, etc.

There are some known regressions in error reporting, which ought to be
fixed in the soon-to-be-merged parser_cleanup branch. There's also
legitimate changes in edge cases. For example, `command builtin ...` now
executes a command called "builtin" instead of doing something else
weird. The most significant change is that syntactic elements must be
unexpected: for example, single quoting 'command' will now cause it to
not be recognized. This should be fixed soon.

Please open issues for any regressions you find!
2014-03-25 00:34:22 -07:00
ridiculousfish
0d64bbed46 Stop linking iconv, now that we have our own utf8 conversion routines 2014-03-23 13:29:57 -07:00
ridiculousfish
9718e70260 Naive reimplementation of utf2wcs and wcs2utf in
env_universal_common.cpp. These use the new utf8 functions exposed in
utf8.h. This will allow us to drop the iconv dependency.
2014-03-23 13:06:24 -07:00
Siteshwar Vashisht
a67dd9fbdd Included missing stdint.h header in utf8.cpp 2014-03-23 15:09:43 +05:30
ridiculousfish
aabed8279e Incorporate a modified UTF8 <-> wchar_t implementation from Alexey
Vatchenko (http://www.bsdua.org/libbsdua.html) in preparation for
eliminating our dependency on iconv
2014-03-22 23:46:58 -07:00
ridiculousfish
06eb271bda Changes full_escape to not generate \x escapes for non-ASCII characters.
Partially reverts 51de269 . Fixes #1225
2014-03-22 14:46:23 -07:00
ridiculousfish
12025e3050 Remove unused err_buff variable from parser_t 2014-03-22 01:04:49 -07:00
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