ridiculousfish
496529b20a
Remove EXPAND prefix from expand_flags and lowercase them
2019-04-25 11:34:49 -07:00
ridiculousfish
d8ab6290e8
Switch expand_flags_t to enum_set
2019-04-25 11:23:03 -07:00
ridiculousfish
dcaac58f45
Rename expand_error_t to expand_result_t and make it class enum
...
Also lowercase it all.
2019-04-25 10:47:28 -07:00
ridiculousfish
b54c44f2f6
Migrate expansion stages to a new type expander_t
...
This avoids having to pass around so many parameters during expansion.
2019-04-25 10:47:28 -07:00
Mahmoud Al-Qudsi
ae11bf4dcb
Add completions for git show $rev:$path
...
This command can be used to "`cat`" the contents of `$path` as of `$rev`.
These are "silent" completions, e.g. while this adds a completion for
`git show master:foo`, the completions for `git show <TAB>` are not
affected; these "advanced" completions kick in only after at least
`git show master:<TAB>` to prevent completion pollution or slowing down
tab completions in the typical case (as this would cause each valid and
possibly unique $rev completion result to complete to `n*$rev`
completions for *n* files.
[ci skip]
2019-04-23 21:54:09 -05:00
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