Kevin Ballard
a027566295
No need for mbstate_t to be static
2014-09-21 20:47:03 -07:00
Kevin Ballard
a012aedb31
Fix incorrect error on read
with 1-character input
...
When `read` is given a single character of input (including the
newline), it was bailing as if it had been given no input. This is
incorrect.
2014-09-21 20:00:26 -07:00
Kevin Ballard
8f8c4cdd17
Implement new read --null
flag
...
The `--null` flag to `read` makes it split incoming lines on NUL instead
of newlines. This is intended for processing the output of a command
that uses NUL separators (such as `find -print0`).
Fixes #1694 .
2014-09-21 19:27:26 -07:00
Kevin Ballard
f6da9d4d5d
Add missing newline after bind -k foo
error message
2014-09-08 23:37:34 -07:00
Joseph Tannhuber
4acea72700
New -n option for read builtin
...
Usage: read -n nchars
Reads maximum of nchars characters. If nchars <= 0, there's no limit.
2014-09-03 22:48:37 -07:00
Konrad Borowski
1f3a93a3af
Fix the compilation under gcc 4.9.0.
...
gcc interpretes C99's compound literals more strictly by invalid the
compound literal on implicit to pointer cast (because of automatic
storage duration, 6.5.2.5.6 in C99 standard draft).
This fixes the issue by not using compound literals at all.
2014-08-22 21:52:41 +02:00
ridiculousfish
033373f078
Merge branch 'make_type_better' of github.com:kballard/fish-shell into kballard-make_type_better
2014-08-21 21:36:39 -07:00
ridiculousfish
06400b83b1
Support for command wrapping ("aliases")
...
Add the --wraps option to 'complete' and 'function'. This allows a
command to (recursively) inherit the completions of a wrapped command.
Fixes #393 .
When evaluating a completion, we inspect the entire "wrap chain" for a
command, i.e. we follow the sequence of wrapping until we either hit a
loop (which we silently ignore) or the end of the chain. We then
evaluate completions as if the wrapping command were substituted with
the wrapped command. Currently this only works for commands, i.e.
'complete --command gco --wraps git\ checkout' won't work (that would
seem to encroaching on abbreviations anyways). It might be useful to
show an error message for that case.
The commandline builtin reflects the commandline with the wrapped
command substituted in, so e.g. git completions (which inspect the
command line) will just work. This sort of command line munging is
also performed by 'complete -C' so it's not totally without precedent.
'alias will also now mark its generated function as wrapping the
'target.
2014-08-15 18:14:36 -07:00
ridiculousfish
b97a94ccc8
Clean up reader_write_title to work with wcstring
2014-08-02 21:01:40 -07:00
jianjun
87abcecca6
add command line string as $argv[1] for fish_title
2014-08-02 12:57:38 -07:00
ridiculousfish
52ae5f885e
Improve history robustness against corrupt files
...
Fixes #1581
2014-07-29 14:42:03 -07:00
ridiculousfish
e9f870e25a
Add support for history --merge to incorporate history changes from
...
other sessions.
Fixes #825
2014-07-25 10:49:12 -07:00
Kevin Ballard
973dd6ffbd
read: Support arrays, character splitting
...
Enhance the `read` builtin to support creating an array with the --array
flag. With --array, only a single variable name is allowed and the
entire input is tokenized and placed into that variable as an array.
Also add custom behavior if IFS is empty or unset. In that event, split
the input on every character, instead of the previous behavior of doing
no splitting at all.
2014-07-14 00:46:38 -07:00
Kevin Ballard
72e8489d50
command: Rename -p/--path flag to -s/--search
2014-07-13 19:11:29 -07:00
Kevin Ballard
cc565fc16c
Teach command
builtin a -p/--path flag
...
Give the `command` builtin a single flag, -p/--path, that causes it to
print the full path that would be executed for the given command.
2014-07-13 19:11:29 -07:00
xzfc
4bbbd2dde6
Fix segfault in status builtin
2014-07-14 09:07:35 +08:00
ridiculousfish
3915faf382
bind should not show -k for bindings that are escape sequences, not keys
2014-07-07 10:45:26 -07:00
ridiculousfish
3cbace98a7
'echo -' should output a dash instead of treating it as options
...
Fixes #1459
2014-05-16 15:19:07 +08:00
Konrad Borowski
13e1e7e1e9
Fix NULL dereference when function name is not specified
...
It was possible to type `function ""; end`, and this caused fish to
crash because of NULL pointer.
2014-05-06 12:07:16 +02:00
Konrad Borowski
a7facfb760
Fix memory leak when displaying bind list.
...
This also removes duplication from the code.
2014-05-01 09:23:23 +02:00
ridiculousfish
4948508277
Squelch some more warnings on Linux
2014-04-27 18:27:34 -07:00
ridiculousfish
58ebdd4a7e
Attempt to silence some warnings
2014-04-27 17:23:19 -07:00
ridiculousfish
0d3169ef70
Run restyle.sh to enforce style rules.
2014-03-31 10:01:39 -07:00
ridiculousfish
bd895aa76c
Changes to bind_mode implementation based on code review and merge
...
errors
2014-03-30 16:58:46 -07: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
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
4deb46290d
Remove additional dead code from old parser
2014-03-20 21:32:03 -07:00
ridiculousfish
3cfdc6d126
Fix line number reporting in new parser
2014-03-20 21:32:02 -07: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
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
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
e632d39b1f
Make if statements always return success at the end, matching other
...
shells. Fixes #1061 .
2014-02-07 17:57:53 -08:00
ridiculousfish
5be3606236
Increased support for completion search field. Use btab (shift-tab) to
...
complete-and-search.
2014-01-27 00:56:13 -08:00
Julian Aron Prenner
213e907044
Merge remote-tracking branch 'upstream/master' into bind_mode
...
Conflicts:
builtin.cpp
reader.cpp
share/functions/fish_default_key_bindings.fish
2014-01-15 15:27:06 +01:00
Julian Aron Prenner
fc21bb6eda
Replace builtin 'bind_mode' with variable $fish_bind_mode
2014-01-15 12:04:52 +01:00
Julian Aron Prenner
dede320630
Rename 'new-mode' to 'sets-mode', prepare for selection support.
2014-01-15 11:39:19 +01:00
ridiculousfish
53814983ff
Update style and formatting to conform to fish style guide.
2014-01-15 01:40:40 -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
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
89069fdaa4
Miscellaneous minor fixes based on cppcheck static analyzer
2014-01-12 13:33:35 -08:00
ridiculousfish
d69f408b14
Rename builtin parse to __fish_parse
2014-01-08 15:13:08 -08:00
ridiculousfish
b34721b3f4
Miscellaneous optimizations to reduce string copying
2014-01-07 14:57:58 -08:00
ridiculousfish
fb882f0b69
Support for stack overflow and infinite recursion detection in new
...
parser
2014-01-01 15:29:56 -08:00
Julian Aron Prenner
dc90cd6bc4
Better input handling; add support multiple binding commands
2014-01-01 00:11:32 +01:00
Julian Aron Prenner
2587649ca2
Allow restricting earsing and listing of bindings to specific mode;
...
implement force repaint and multi-char bindings;
2013-12-31 14:53:29 +01:00
Julian Aron Prenner
d1faac58dd
Implement bind modes
2013-12-31 01:52:41 +01:00
ridiculousfish
715823a666
Bringup of function definitions, switch statements with new parser
2013-12-27 03:58:42 -08:00