ridiculousfish
533ee65963
Allow binding nul (zero byte)
...
This sequence can be generatd by control-spacebar. Allow it to be bound
properly.
To do this we must be sure that we never round-trip the key sequence
through a C string.
2019-09-14 16:37:57 -07:00
ridiculousfish
5afcc439a5
Clean up input_terminfo_get_sequence
2019-09-14 14:59:01 -07:00
ridiculousfish
5ebcd3de98
Remove some unnecessary string formatting
2019-09-14 14:22:37 -07:00
ridiculousfish
06269ed67d
Remove NOT_A_WCHAR
...
It's now unused.
2019-09-14 13:18:04 -07:00
ridiculousfish
8747018cbc
Use maybe_t in unescape_string_internal
2019-09-14 13:17:22 -07:00
ridiculousfish
fa1dab040b
Use maybe_t in read_unquoted_escape
2019-09-14 12:54:38 -07:00
ridiculousfish
cc5e29734b
Use maybe_t in string_last_char
2019-09-14 11:56:02 -07:00
Johannes Altmanninger
0ecfc25961
Fix highlighting of redirection to -
(close file descriptor)
...
Fixes #6092
2019-09-14 13:04:27 -05:00
David Adam
77ef2ef6c3
jobs: return success when a job is found via --last
...
Closes #6104 .
2019-09-14 13:01:36 -05:00
ridiculousfish
56d2942f59
Minor cleanup of how jobs store their command string
2019-09-09 09:07:25 -07:00
ridiculousfish
535a448d0e
Remove an errant fprintf
2019-09-08 15:44:07 -07:00
ridiculousfish
b2fe2f9ff3
Correct escaping and add tests for bracket completion
...
Add some tests for new bracket completion behavior, and fix an escaping
bug where \\[ was incorrectly marked as escaping.
2019-09-08 15:43:20 -07:00
Johannes Altmanninger
bc3dde997d
escape square brackets in an argument before completing it
...
fixes #5831
2019-09-08 12:27:58 -07:00
ridiculousfish
e79df33e3a
Disallow parsing 'and' and 'or' as commands
...
Except for and --help and or --help
Fixes #6089
2019-09-08 11:09:32 -07:00
ridiculousfish
fa6bac1283
Correctly implement and --help and or --help
2019-09-08 10:42:24 -07:00
Johannes Altmanninger
962bfa9668
Escape literal dollar signs in quoted completions
...
Closes #6060 .
2019-09-07 13:52:40 -05:00
Mahmoud Al-Qudsi
f854e3dc29
Try fixing __has_attribute errors on Travis macOS
2019-09-05 23:11:59 -05:00
Mahmoud Al-Qudsi
80610addf8
Avoid warnings about unsupported clang::weak_import w/ GCC on macOS
2019-09-05 23:00:46 -05:00
ridiculousfish
b760fd9064
Correctly set g_use_posix_spawn at launch again
2019-09-05 11:00:52 -07:00
Johannes Altmanninger
f7dac82ed6
Escape separators (colon and equals) to improve completion
...
Fish completes parts of words split by the separators, so things like
`dd if=/dev/sd<TAB>` work.
This commit improves interactive completion if completion strings legitimately
contain '=' or ':'. Consider this example where completion will suggest
a🅰️ 1 and other files in the cwd in addition to a:1
touch a:1; complete -C'ls a:'
This behavior remains unchanged, but this commit allows to quote or escape
separators, so that e.g. `ls "a:<TAB>` and `ls a\:<TAB>` successfully complete
the filename.
This also makes the completion insert those escapes automatically unless
already quoted.
So `ls a<TAB>` will give `ls a\:1`.
Both changes match bash's behavior.
2019-09-02 14:27:21 -07:00
ridiculousfish
9fd9f70346
Restore terminal modes after sending SIGCONT
...
Fixes #2214
Thanks to @bruce-hill for the patch.
2019-09-01 17:24:23 -07:00
Johannes Altmanninger
068aba1902
remove redundant call (done in constructor of completion_t)
2019-08-31 12:05:49 -07:00
Mahmoud Al-Qudsi
af4b54e635
Change WSL version check to a hard error, but include a bypass
...
Instead of warning (debug level 1), we now emit an error (debug level 0) if a known bad version of
WSL is detected. However, `FISH_NO_WSL_CHECK` can now be defined to skip both the check and the
startup message.
2019-08-25 18:50:17 -05:00
Mahmoud Al-Qudsi
44022e65c2
Revert "Remove the WSL warning"
...
This reverts commit 5101bdeb9f
.
2019-08-25 18:29:46 -05:00
ridiculousfish
99c498d3d7
Use move semantics in trim and history_item_t
2019-08-25 13:37:06 -07:00
David Adam
225b1204d6
read: add --list as synonym for --array
...
Work on #5846 .
2019-08-22 21:24:17 +08:00
ridiculousfish
903e7c6d5e
history_lru_cache_t to use move semantics
2019-08-18 12:14:07 -07:00
ridiculousfish
9b2b7f787e
Migrate history profiling to flog
2019-08-18 11:14:45 -07:00
ridiculousfish
0da87d3e5f
Equip history_item_t with a default constructor
2019-08-17 20:01:44 -07:00
ridiculousfish
5101bdeb9f
Remove the WSL warning
...
This warning is annoying and there is no way to disable it.
Ping #5661 . Ping #5298 . Closes #6038
2019-08-16 20:59:53 -07:00
ridiculousfish
f137f24d75
Initialize a const variable
...
Fixes #6041
2019-08-16 17:50:41 -07:00
ridiculousfish
a87e0183df
Stop rewriting the history file on every command
...
fish is designed to append to the history file in most cases. However
save_internal_via_appending was never returning success, so we were
always doing the slow rewrite path. Correctly return success.
Fixes #6042
2019-08-15 13:49:17 -07:00
ridiculousfish
7ab291775a
Add flog logging to history
2019-08-15 13:42:23 -07:00
Aaron Gyes
edc8d5d7a3
string-replace-fewer-backslashes -> regex-easyesc
...
This shortens a very long feature name.
See discussion in #5805
2019-08-13 22:32:04 -07:00
ridiculousfish
ce178fd6fd
Make escape_yaml_fish_2_0 and unescape_yaml_fish_2_0 static
...
They no longer need to be exposed.
2019-08-12 09:22:21 -07:00
ridiculousfish
3ae5b23971
Migrate append_history_item_to_buffer to history_file.cpp
...
Also eliminate history_output_buffer_t, which no longer does anything useful.
2019-08-12 09:17:10 -07:00
ridiculousfish
6eebe4cc83
Eliminate history_lru_item_t
...
history_item_t is enough
2019-08-11 14:26:22 -07:00
ridiculousfish
6b008c3eae
Stop caching the lowercase string contents in history items
2019-08-11 13:41:04 -07:00
ridiculousfish
92e9a34b47
Simplify history_output_buffer_t
2019-08-11 13:08:31 -07:00
ridiculousfish
2ddde381d4
Clean up next_line() interface and implementation
2019-08-11 12:57:09 -07:00
ridiculousfish
91987a4548
Migrate history file format stuff into new file history_file.cpp
...
Breaks up the history.cpp monolith.
2019-08-11 12:45:04 -07:00
ridiculousfish
74357bac91
Remove an errant semicolon
2019-08-10 16:47:45 -07:00
ridiculousfish
fd5d8c1949
Remove __packed
...
We can use the new C++11 enum type feature to stop using this non-portable
__packed.
2019-08-10 16:04:05 -07:00
ridiculousfish
30fd526fc1
Correct an out-of-bounds index in screen
...
Fixes #6037
2019-08-10 14:32:55 -07:00
ridiculousfish
0dc5eaeb97
reader_expand_abbreviation_in_command to return maybe_t<wcstring>
2019-08-06 16:09:23 -07:00
Fabian Homborg
2c32885a2d
Fix build on old gcc by using old-school initialization
...
It appears Gcc 4.8 doesn't get this particular expression, so we just
revert to the old `type foo = bar` style from the new `type foo{bar}`.
Fixes #6027 .
2019-08-05 18:08:13 +02:00
ridiculousfish
29dede8139
Migrate parse_util_detect_errors to a free function
2019-08-04 14:49:56 -07:00
ridiculousfish
73bf60754c
Don't assign jobs to fish's pgrp if there's no external process
...
Fixes #6011
2019-08-03 14:43:55 -07:00
ridiculousfish
95c97619c6
Use cbegin() in one place in reader
2019-07-31 14:23:41 -07:00
Fabian Homborg
6500765256
Allow switch
with something that expands to nothing
...
Meaning empty variables, command substitutions that don't print
anything.
A switch without an argument
```fish
switch
case ...
end
```
is still a syntax error, and more than one argument is still a runtime
error.
The none-argument matches either an empty-string `case ''` or a
catch-all `case '*'`.
Fixes #5677 .
Fixes #4943 .
2019-07-31 14:08:28 +02:00