Mahmoud Al-Qudsi
4bdab33a00
Add dynamic cipher completion to ssh -c ...
...
[ci skip]
2019-04-22 15:17:38 -05:00
Fabian Homborg
82052a6cc9
Don't start focus reporting until later
...
[ci skip]
2019-04-21 20:26:57 +02:00
Fabian Homborg
b5351bce1b
Bind tmux focus reporting as --preset bindings
...
Purely cleanup, basically.
[ci skip]
2019-04-21 19:48:46 +02:00
Aaron Gyes
51e963bf44
fixup last commit
2019-04-21 09:07:29 -07:00
Aaron Gyes
9d84b45256
__fish_print_help: remove indent
...
Do this lame replacement in order to make some_builtin --help
output less tacky.
2019-04-21 02:06:29 -07:00
Aaron Gyes
f309ae05b6
is_visual_escape_seq: whittle down the escape sequences attempted
...
Some of these we do not need to worry about actually being used
in a prompt.
2019-04-20 17:03:27 -07:00
Mahmoud Al-Qudsi
32ad1a6e62
Add basic completions for FreeBSD's camcontrol
2019-04-19 20:57:27 -05:00
ridiculousfish
fe75a3a650
Migrate autoload file checks to file_id_t
2019-04-19 18:47:07 -07:00
ridiculousfish
6dd2766a15
Remove file_access_attempt_t::stale
...
It was unused.
2019-04-19 18:26:29 -07:00
Wilke Schwiedop
76306c4582
completions/usermod: various fixes
...
* -a does not take arguments
* -e more helpful description
* -g add arguments
* -G fix arguments
* add -r to various options
2019-04-20 08:43:43 +08:00
Mahmoud Al-Qudsi
82ef2d19a5
Reduce timeout for jobs regression test
...
We've been moving away from full second timeouts, they were piling up.
2019-04-19 19:08:16 -05:00
Fabian Homborg
46911a5e7f
Revert "__fish_describe_command: Remove awk"
...
Dealing with macOS output in a fast manner using `string` is surprisingly hard, given that it features lines like
gls(1), ls(1) - list directory contents
Printing the "gls" with the description and the "ls" with the description requires a `while read` loop, and that's too slow.
This reverts commit 7784a5f23c
.
[ci skip]
2019-04-19 20:57:45 +02:00
Per Bothner
2edfab685a
Some comment fixes and renaming of is_iterm2_escape_seq. ( #5827 )
...
* Some comment fixes and renaming of is_iterm2_escape_seq.
The comment for is_iterm2_escape_seq incorrectly says "CSI followed by ]".
This is wrong, because CSI is ESC followed by [ (or the seldom-used 0x9b).
The procedure actually matches Operating System Command (OSC) escape codes.
Since there is nothing iterm2-specific about OSC, is_osc_escape_seq
would be a better name.
Also s_desired_append_char documents a non-existent parameter.
* Update broken iterm2 url in comment.
2019-04-19 09:29:35 -07:00
David Adam
4ddfd73079
add tests for #5824
2019-04-19 14:08:16 +08:00
David Adam
d0735882a3
add tests for the not-quite-fixed #5812
2019-04-18 21:12:25 +08:00
Mahmoud Al-Qudsi
8ca2641857
Revert overzealous !parent_job is_visible()
condition
...
This was added in 04a96f6
but not strictly required to fix #5803
(verified), with the intention of hiding invisible background jobs
(created by invoking a function within a pipeline) from the user, but
that also broke intentionally created jobs from displaying as well.
I'm thinking it can't be done without keeping track of caller context vs
job context.
Closes #5824 .
2019-04-17 22:47:41 -05:00
Mahmoud Al-Qudsi
d66ec08819
Add partial aws
and ~full aws s3
completions
...
[ci skip]
2019-04-17 22:37:19 -05:00
David Adam
4d8a82b68f
benchmarks: use true executable in path
...
true is /bin/true on some Linux and /usr/bin/true on macOS.
[ci skip]
2019-04-17 18:31:19 +08:00
ridiculousfish
a173c079d5
expand_abbreviation to always accept an environment_t
...
Now that snapshotting is fixed, we don't need to get the principal
environment stack any more.
2019-04-16 22:45:58 -07:00
ridiculousfish
2e119813e1
get_abbreviations to accept an environment_t
...
Now that we don't have dorky snapshotting, thread an dnvironment_t through
get_abbreviations. Removes a usage of env_stack_t::principal().
2019-04-16 22:27:01 -07:00
Aaron Gyes
7e514d2aa5
expand_abbreviation(): escape when looking up abbreviation vars
...
This was doing exactly the opposite: unescaping and not hitting
the encoded _fish_abbr_X variables when looking up.
Fixes #5573
2019-04-16 21:33:09 -07:00
Aaron Gyes
65bc94c493
Revert "set completions: complete __ variables"
...
This reverts commit f4e40f2f4b
.
2019-04-15 12:57:59 -07:00
Aaron Gyes
92f4a009b3
__fish_config_interactive: disable file completions for builtins
...
Calling `complete` once here is preferable to adding a bunch of
1 line files to be autoloaded.
2019-04-15 12:49:24 -07:00
Aaron Gyes
89b6b05f88
Fix builtin
completions
...
Command substitution needs parenthesis
2019-04-15 12:24:54 -07:00
Aaron Gyes
f4e40f2f4b
set completions: complete __ variables
...
Now that __ stuff is sorted after a-z, we should not completely
omit them from completions.
2019-04-14 20:35:02 -07:00
ridiculousfish
6b52b0994c
Attempt to fix the travis build
2019-04-14 17:43:02 -07:00
ridiculousfish
2fac0f0b39
Correctly lock around umask
...
umask can only be set, never just queried. Thus we need to lock around
calls to it.
Also guess the value; if we guess right we don't need to reset it.
2019-04-14 16:08:29 -07:00
ridiculousfish
020d4a2848
Adopt env_scoped_t::snapshot() and remove env_var_snapshot_t
...
Remove the env_var_snapshot_t class and switch everything to the new snapshot
function of env_scoped_t.
Fixes #5658 . Fixes #5571 .
2019-04-14 15:50:38 -07:00
ridiculousfish
64584a6624
Add a snapshot function to env_scoped_t
...
Allow creating lightweight read-only copies of a scoped environment.
2019-04-14 15:50:30 -07:00
ridiculousfish
0ca3ae7c7e
Rejigger var_stack_t's ctors
...
Prepare var_stack_t to support snapshotting.
2019-04-14 15:50:24 -07:00
ridiculousfish
69655ef5c1
Reorganize env.cpp
...
Group functions together more logically
2019-04-14 15:50:19 -07:00
ridiculousfish
1d464da698
Introduce env_scoped_t
...
env_scoped_t lives between environment_t and env_stack_t.
It represents the read-only logic of env_stack_t and will be used to back
the new environment snapshot implementation.
2019-04-14 15:50:12 -07:00
ridiculousfish
46fd47a0da
Organize some code slightly better in env.h
2019-04-14 15:50:06 -07:00
Mahmoud Al-Qudsi
a9e0990773
Add changelog note about parser error propagation fix
...
..as this affects backwards compatibility (as witnessed by the tests
that failed after making this fix).
2019-04-13 17:28:16 -05:00
Mahmoud Al-Qudsi
2dfc85245f
Add regression tests for eval
2019-04-13 17:28:16 -05:00
Mahmoud Al-Qudsi
05f52924c1
Fix bad tests
...
These tests used raw, unescaped parentheses to perform `test` logical
grouping, but the test failures weren't caught because the parser
evaluation errors were not being propagated (fixed in bdbd173e).
2019-04-13 17:28:16 -05:00
Mahmoud Al-Qudsi
b2a1da602f
Fix error propagation in parser_t::eval
...
It was unconditionally returning `parse_execution_success`. This was
causing certain parser errors to incorrectly return after evaluation
with `$status` equal to `0`, as reported after `eval`, `source`, or
sub-`fish` execution.
2019-04-13 17:28:16 -05:00
Mahmoud Al-Qudsi
8e4010b263
Make eval
override previous status
...
Closes #5692 (again).
2019-04-13 17:28:10 -05:00
Mahmoud Al-Qudsi
47a61a3202
Test: validate $status is preserved on calling into a function
2019-04-13 17:21:13 -05:00
Mahmoud Al-Qudsi
ab37dfaf78
Add tests for evaluaton of empty blocks and functions
2019-04-13 17:21:13 -05:00
Mahmoud Al-Qudsi
87f6856954
Fix tests expecting non-zero status after empty function call
2019-04-13 17:21:13 -05:00
Mahmoud Al-Qudsi
4530a41004
Fix return code after execution of empty function
2019-04-13 17:21:13 -05:00
ridiculousfish
cc9386fca9
Clean up some headers in env and env_dispatch.cpp
2019-04-13 14:39:20 -07:00
ridiculousfish
2537fe0f9e
Put back a missing lock in env_stack_t::set_internal
...
Setting a variable could race with getting it.
The lockin^g here needs a serious overhaul.
2019-04-13 12:40:58 -07:00
ridiculousfish
2f1e572756
Minor cleanup of env_node_t
...
Mark some fields const that don't need to change. Trying to get ready to
improve locking here.
2019-04-13 12:40:58 -07:00
ridiculousfish
372291ad02
Collapse a weirdly structured clause in env.cpp
2019-04-13 12:40:57 -07:00
ridiculousfish
a597b0e6e1
Remove get_proc_had_barrier
...
Prior to this change, fish used a global flag to decide if we should check
for changes to universal variables. This flag was then checked at arbitrary
locations, potentially triggering variable updates and event handlers for
those updates; this was very hard to reason about.
Switch to triggering a universal variable update at a fixed location,
after running an external command. The common case is that the variable
file has not changed, which we can identify with just a stat() call, so
this is pretty cheap.
2019-04-13 12:40:57 -07:00
ridiculousfish
341799194e
Factor out fetching electric variables into a separate function
...
This factors env_stack_t::get() a little better
2019-04-13 12:40:57 -07:00
ridiculousfish
f35f2fe110
Mark the benchmark as using the terminal
...
Prevents buffering all output from the command.
2019-04-13 12:40:12 -07:00
ridiculousfish
e634abc1c8
Add a benchmark for external commands
...
This just runs '/usr/bin/true' a lot.
2019-04-13 12:40:09 -07:00