Commit Graph

3179 Commits

Author SHA1 Message Date
Johannes Altmanninger
0c92c7d8ac Fix remote path escaping for rsync and scp completions
They need to be escaped twice, for the local and the remote shell.
Also don't suggest local files as rsync remote paths (-a -> -xa) and
fix completion for remote paths containing multiple consecutive spaces.

Fixes #1872
[ci skip]
2020-01-13 10:30:57 +01:00
Johannes Altmanninger
e3782603ec Load vendor configuration from $XDG_DATA_DIRS/vendor_*.d
$XDG_DATA_DIRS/vendor_{completions,conf,functions}.d
Additionally, CMake variables extra_{completions,conf,functions}dir are
appended, if they are not already contained in $XDG_DATA_DIRS.

If XDG_DATA_DIRS is not defined, we fall back to

$__fish_datadir/vendor_completions.d:${extra_completionsdir}

for completions. Same for conf and functions.
2020-01-12 16:12:41 +01:00
239
0acaf766a2 Update Keybase completions (#6479)
* Update Keybase completions

* Apply suggested change for filtering options
2020-01-10 17:12:12 +01:00
Fabian Homborg
f637b81fb6 sample_prompts/acidhub: Use prompt_pwd
This removes a call to `sed` and allows the user to specify shortening
via the variable.

We still default to disabling shortening because this prompt never
did.

[ci skip]
2020-01-06 18:41:50 +01:00
Guilhem Saurel
9910ee26cd disable virtualenv prompt update in nim prompt
As this information is already wrapped into a _nim_prompt_wrapper
2020-01-06 17:06:24 +01:00
Fabian Homborg
611a6589ea Disable command descriptions on macOS 10.15.X
We just do a cheesy version check and hope it works out.

If this is fixed in 10.15.4, we have to reenable it. If it still isn't
fixed in 10.16, we need to adjust it.

Fixes #6270
2020-01-05 18:35:59 +01:00
Aaron Gyes
c1140bc436 Improve kill completions
Use string split instead of cut - which we'd fork for 2*signal
count times in a loop when tab was first pressed. Noticably faster

If giving a signal num, what works everywhere is -NUM, if giving
a signal name, what works everywhere is -s NAME - don't show -sNUM
or -NAME completions; that only works on GNU and it's redundant
anyhow as we show the signal number in the description field for -s
or the signal name for the -NUM case in the pager.

Sort -sNAME completions by the signal number not alphabetical

Shorten descriptions
2020-01-02 22:53:28 -08:00
Fabian Homborg
4a47e212f8 Color the default prompt host if running via SSH
This is part of our (well, my) quest to spice up the default prompt.

In this case we color the host if $SSH_TTY is set, which is easy to
detect and helps draw attention to the host.

See #6398.
See #6375.
2019-12-30 14:03:36 +01:00
Johannes Altmanninger
0afc5258cf Unify detection of fish version upgrade with $__fish_initialized
This variable holds an integer that resembles the fish version up to
that initializations were performed. It should be incremented whenever
some new initialization is required after upgrading fish.  This should
not change the behavior for existing fish installations, except for a
minor message on installations that upgrade from fish<2.3.0.

[ci skip]
2019-12-30 14:00:22 +01:00
Fabian Homborg
d0edd984d5 Let pacman-derived tools complete zst as well
Arch is switching to zst as the default compression method
2019-12-28 17:10:23 +01:00
Fabian Homborg
b0e3cc4b5c __fish_complete_suffix: Remove eval
This use of eval is unsafe, not really all that useful and can spew
errors that can't be suppressed. So let's remove it, and in future add
a thing that can do expansions in a safe manner

Fixes #6456.
2019-12-28 17:10:23 +01:00
Fabian Homborg
0866013280 Stop using __fish_complete_suffix with a braced argument
__fish_complete_suffix accepts a first argument containing a
brace-expansion, like

    __fish_complete_suffix '.{c,cpp,py}'

We're gonna be removing the `eval` that does that shortly, so let's
remove all uses in our code.
2019-12-28 17:10:23 +01:00
Fabian Homborg
0e0d63c0df completions/pipenv: Really force it to print fish completions
"To assume" and such.

It doesn't check $SHELL, so it might have some other automagic that
can fail (probably still because of the login shell, but I have no
idea).

Override the special variable that
click-completion (https://github.com/click-contrib/click-completion)
uses to force it instead.

Really fixes #6454.

[ci skip]
2019-12-25 16:29:10 +01:00
Fabian Homborg
aba5beaeb4 completions/pipenv: Force it to print fish completions
This checks $SHELL to determine which completions to print, and $SHELL
is typically set by your login program.

So if the login shell isn't fish, this will print the wrong
completions.

Fixes #6454

[ci skip]
2019-12-25 16:16:08 +01:00
Sergei Morozov
624e76ae89 Added the --cleanup option completion for the git commit command 2019-12-21 20:03:54 +01:00
Johannes Altmanninger
6dd9e50f82 time: complete external time options only if available 2019-12-21 11:56:06 +01:00
Johannes Altmanninger
feb87bbda8 __fish_man_page: ignore prefixing variable assignments 2019-12-19 23:44:58 +01:00
Fabian Homborg
22b2dbd97d functions/history: X is incompatible with SDMV, not C
"-C" is short for "--case-sensitive", which is entirely okay with "--delete".

The one that isn't okay is "-X", which is short for "--Clear".

Seen on gitter.im
2019-12-19 20:59:17 +01:00
Mahmoud Al-Qudsi
364929e46e Disown first-run python completions generation
Closes #6269.
2019-12-18 14:12:49 -06:00
Jason
48bf3a4907 Delete __fish_sgrep.fish 2019-12-18 13:17:54 -06:00
Mahmoud Al-Qudsi
6dc8a1d3a7 Partially address #6340 (escape files starting with -)
This prefixes files beginning with `-` with a `./` when generating
completions *in fish code*. Standard completions for directory listings
generated by the C++ directory traversal code are not afected by this
patch.

Most fish completions defer to `__fish_complete_suffix` to generate the
file/directory completions, these *will* be corrected.
2019-12-18 13:13:23 -06:00
Collin Styles
012773436e Suggest unique remote branches for git-switch
From the `git-switch` documentation:

If <branch> is not found but there does exist a tracking branch in
exactly one remote (call it <remote>) with a matching name, treat as
equivalent to

   $ git switch -c <branch> --track <remote>/<branch>
2019-12-14 09:50:48 +01:00
Collin Styles
afd8fc3cdf Correctly suggest files for git-restore when --staged is present
Previously we would include all modified, deleted, and unmerged files
regardless of what options are present.
2019-12-14 09:50:48 +01:00
Collin Styles
48bf689358 Add completions for git-cherry-pick sequencer subcommands 2019-12-14 09:50:48 +01:00
Collin Styles
e7c401571b Move unique remote branches up in suggested branches for git-checkout
Currently we suggest `origin/mybranch` before `mybranch` which seems
backwards. Most of the time users will want to check out `mybranch`.
2019-12-14 09:50:48 +01:00
Collin Styles
393c9ccf99 Add missing completions for git-branch 2019-12-14 09:50:48 +01:00
Dan Martinez
4e52feb51a Have type deal with both flavors of fileless function (#6421)
* Deal with *both* types of dynamic function

* Use a guard (`--`) when `-` is an argument
2019-12-12 20:42:11 +01:00
Dan Martinez
9a3886dc2b Make type -p and type -P behave as documented (#6412)
* Make `type -p` and `type -P` behave as documented

* Recognize `-` as an additional sign of no path

Functions created via `source` (like by `alias`) cause `functions --details` to return `-`
rather than `stdin` when invoked upon them.
2019-12-12 17:09:52 +01:00
239
d23ea5f455 Added completions for Keybase commands 2019-12-12 14:16:21 +01:00
239
f1e4dc7ca8 Fixed completion for zpaq 2019-12-12 14:14:43 +01:00
Johannes Altmanninger
a446085c40 Update nmcli completions
Set variables for available connections and SSIDs only when the completion is loaded.
This is not perfect but faster than scanning for connections everytime.

Don't complete connection UUID, DBUS-PATH, ACTIVE-PATH because they are unintelligible.
Instead only complete the connection name.

See #6379

[ci skip]
2019-12-12 11:53:37 +01:00
Shun Sakai
11d529557a Update nmcli completions 2019-12-12 11:53:37 +01:00
Johannes Altmanninger
d22c7ab993 enhance sudo completions
Flag e/edit does not take an argument, so `sudo -e a` TAB would complete
subcommands.

[ci skip]
2019-12-12 09:08:42 +01:00
Dan Martinez
16dc606001 Add the --short flag to type (#6403)
* Add the `--succinct` flag to `type`

* Use `echo` rather than `printf`

* Change `succinct` to `short`; print path if known

* Clean up the printing logic ever so slightly
2019-12-11 22:24:29 +01:00
Johannes Altmanninger
cc7ae03070 prompt: don't consider SIGPIPE a failure
[ci skip]
2019-12-11 11:32:58 +01:00
Johannes Altmanninger
94b5720343 prompt: remove fallback for $fish_color_host
This was mostly dead, since $fish_color_host is set to normal in
__fish_config_interactive. The assignment was only used if the user
explicitly unsets fish_color_host (which they shouldn't, really).
Anyway it's weird to use cyan, use normal instead.
[ci skip]
2019-12-11 11:32:58 +01:00
Johannes Altmanninger
2f1a5e65d8 prompt: don't set default colors twice
The colors are set in __fish_config_interactive before the prompt is
painted for the first time.

Also initialize the $fish_color_status for the (pipe) status, bump the
version for that.
[ci skip]
2019-12-11 11:32:58 +01:00
Johannes Altmanninger
d4a3b30b73 prompt: move status to the right in classic_status sample prompt
This is consistent with the other prompts that include status.

[ci skip]
2019-12-11 01:19:12 +01:00
Johannes Altmanninger
6902459566 prompt: don't print status of last process in pipe twice
If a command fails, print the pipestatus in red instead of yellow and
don't print the status of the last process again. See #6375.

Also use $fish_color_status for coloring status consistently.

Also use __fish_pipestatus_with_signal to print SIGPIPE instead
of a numeric code on e.g.: yes | less +q

[ci skip]
2019-12-11 01:19:12 +01:00
Johannes Altmanninger
6b2addd9f3 prompt: don't print pipestatus if only the last process failed
Example: ps | grep something

[ci skip]
2019-12-10 22:35:24 +01:00
Fabian Homborg
15c6d8fd4c completions/zstd: Remove code to figure out number of CPUs
This purported to need python > 3.4, but used anypython.

Plus it's not super useful anyway since it can easily be told to
use *all* cpus, so there's no need to set it to the precise number.

See #6400.

[ci skip]
2019-12-10 20:20:21 +01:00
Akatsuki
efb72f1f91 Revert "Move __fish_systemd_machines into machinectl completion script"
This reverts commit 9c15b5b7a4.
2019-12-09 21:07:21 +01:00
Fabian Homborg
b2332e9f3e Switch default prompt to Classic+VCS
This has more info, in particular vcs and status.

The old default is still available as the "classic" prompt.

Fixes #6375.
2019-12-07 19:25:41 +01:00
Shun Sakai
b862c63905 Fix an issue that cannot run on non-Linux systems
If Python 3.4 or later installed on the system, complement to the
number of physical cores. In addition, even if the number of physical
cores cannot be obtained, it was fixed to run properly.
2019-12-07 12:21:51 +01:00
Shun Sakai
8d56609734 Add zstd completions
Squashed commit of the following:

commit 55c8e73faff2418161404f012440acced09580e4
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Fri Nov 29 05:25:02 2019 +0900

    Implementation of `zstdless` completions

commit e81ae6f83fb9f23bdd6038fbf29ea594da098c2c
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Fri Nov 29 05:20:33 2019 +0900

    Implementation of `zstdgrep` completions

commit 2ade3a9c01bdc5b024f785c369fcb6c3e007cb19
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Fri Nov 29 04:50:42 2019 +0900

    Implementation of `pzstd` completions

commit 0b9cb86a6936f3de18db7b2c012da6efec89c8e8
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Fri Nov 29 04:39:52 2019 +0900

    Implementation of `zstdcat` completions

commit e4a4101d18a82fb06ee451560d079b9b81af5f3e
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Fri Nov 29 04:25:05 2019 +0900

    Implementation of `unzstd` completions

commit 88ad0af46d486a92ab3989c55abb3ff477e5a372
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Fri Nov 29 04:18:38 2019 +0900

    Implementation of `zstdmt` completions

commit 13f2bf7951501031c61a5c0f143b8a29eaa9437e
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Fri Nov 29 01:13:52 2019 +0900

    Implementation of `zstd` completions
2019-12-07 12:21:51 +01:00
Shun Sakai
bc2634eaaf Add lz4 completions
Squashed commit of the following:

commit 08ea083bf87a613675789937d7f6740daa26fc61
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Thu Nov 28 23:51:35 2019 +0900

    Implementation of `lz4cat` completions

commit 027adedfeb7bb65ffd46e44b4266df3d98368326
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Thu Nov 28 23:36:12 2019 +0900

    Implementation of `unlz4` completions

commit 522925450a8076d4a0d3377cd9233abc643bbbf7
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Thu Nov 28 23:19:45 2019 +0900

    Implementation of `lz4c` completions

commit 298ce5e05e3be2cac774063ed2ee8289ba53cf24
Author: Shun Sakai <sorairolake@protonmail.ch>
Date:   Thu Nov 28 23:02:52 2019 +0900

    Implementation of `lz4` completions
2019-12-07 12:21:51 +01:00
Peter Collingbourne
6dc4ac60ae Use $PWD to retrieve the current directory in __fish_move_last.
(command pwd) uses the system's implementation of pwd. At least the GNU
coreutils implementation defaults to -P, which resulted in symlinks being
expanded when switching between directories with nextd/prevd.
2019-12-07 12:20:31 +01:00
Jason
7999cd4f25 Remove fish_fallback_prompt function 2019-12-07 12:16:48 +01:00
Fabian Homborg
9d14594f7c
Merge pull request #6390 from ammgws/debian
Move __fish_print_debian_services into invoke-rc.d completion script
2019-12-07 12:16:29 +01:00
Jason
c4400c31f7 Remove deprecated function 2019-12-07 12:16:15 +01:00
Jason
3129b3c5ef
Move __fish_print_debian_services into invoke-rc.d completion script 2019-12-05 05:26:26 +09:00
Fabian Homborg
9efb7fd5f6 __fish_cancel_commandline: Always repaint
Fixes #6394.
2019-12-04 21:21:34 +01:00
Fabian Homborg
1fdb23637a Clean up Classic + VCS prompt
- Don't use a guard uvar - we're only setting variables now, and
- that's basically free.
- Allow non-universal color variables
- Simplify the root color setting a bit.
- Some comments

[ci skip]
2019-12-04 21:21:34 +01:00
Jason
a361cde1df Move __fish_complete_svn_diff into the completion script 2019-12-04 20:53:58 +01:00
Jason
965b142acd Move __fish_print_zfs_* into zfs completion script 2019-12-04 20:53:01 +01:00
Jason
69dccce937 Move __fish_print_function_prototypes into valgrind completion script 2019-12-04 20:51:55 +01:00
Jason
013001c283 Move __fish_print_lsblk_columns into lsblk completion script 2019-12-04 20:51:37 +01:00
Jason
5107de395d Move __fish_print_xdg_desktop_file_ids into xdg-mime completion script 2019-12-04 20:51:21 +01:00
Jason
9c15b5b7a4 Move __fish_systemd_machines into machinectl completion script 2019-12-04 20:51:09 +01:00
Jason
b658b421ad Move __fish_ports_dirs into ports completion script 2019-12-04 20:50:55 +01:00
Jason
40832f897c Move __fish_portage_print_repository_names into emaint completion script 2019-12-04 20:50:28 +01:00
Jason
69255d5641 Move __fish_parse_configure into configure completion script 2019-12-04 20:50:19 +01:00
Jason
b3f8a93e02 Move __fish_print_abook_emails into mutt completion script 2019-12-04 20:50:01 +01:00
Jason
dacc0b595c Dont clobber fish_browser if cygstart is available 2019-12-03 18:07:18 +01:00
Johannes Altmanninger
c3374ffd08 Use read --tokenize instead of eval for $BROWSER & $EDITOR 2019-12-03 12:19:16 +01:00
Shun Sakai
62d435f25b Add completions of --committer-date-is-author-date and --ignore-date for git-rebase 2019-12-02 15:23:56 +01:00
Shun Sakai
b4f0a67ef2 Add git-count-objects and git-gc completions 2019-12-02 15:23:56 +01:00
edef
031d30c8ac Handle multiple arguments in $PAGER
$PAGER may contain arguments, and should thus be word-split before 
invocation.
2019-12-02 15:15:33 +01:00
Fabian Homborg
d91b0f86f4 Repaint all prompts if the variables change
This is a good idea in general and simplifies the Classic + VCS
prompt.
2019-12-01 18:15:36 +01:00
Fabian Homborg
115892ccd2 alias: Use read --tokenize
This did some weird unescaping to try to extract the first word.

So we're now more likely to be *correct*, and the alias benchmark is
about 20% *faster*.

Call it a win-win.
2019-12-01 18:14:26 +01:00
Jason
2fd1e4ab75 Move __fish_complete_unrar into the completion script 2019-12-01 17:35:35 +01:00
Jason
fa373c102c Move __fish_complete_wvdial_peers into the completion script 2019-12-01 17:34:46 +01:00
Jason
6486349725 Move __fish_complete_tar into the completion script 2019-12-01 17:34:27 +01:00
Jason
6245d76e57 Move __fish_complete_lsusb into the completion script 2019-12-01 17:33:07 +01:00
Jason
b3291619f4 Add missing logic to trampoline block 2019-12-01 17:31:41 +01:00
Jason
b358cee5fe Move __fish_complete_setxkbmap into the completion script 2019-11-30 12:12:18 +01:00
Jason
d1a153cc7e Dont convert path if browser is going to be run in terminal 2019-11-30 09:33:38 +01:00
Jason
585e4e905b Dont convert path if browser is going to be run in terminal 2019-11-30 09:33:38 +01:00
Jason
8192fb2f2a Fix Windows path support for WSL/Cygwin
- Use wslpath under WSL to provide full path to help file
- Use eval on the final command to cmd.exe
- Use trampoline where necessary for Cygwin
2019-11-30 09:33:38 +01:00
ridiculousfish
39e5ffde93 Rename __fish_complete_file_url to __fish_evince_complete_file_url
As the function is now private to evince, use a less generic name.
2019-11-30 00:23:54 -08:00
mk2
c36d802dda Move __fish_complete_file_url to evince.fish 2019-11-30 00:21:47 -08:00
mk2
439470b048 Move __fish_complete_ant_targets to ant.fish 2019-11-27 16:32:37 +01:00
0x005c
48dc9b1e82 Add replace mode in vi-mode 2019-11-25 16:05:10 -08:00
Jason
3cf6ebc0e1 Amend typos and grammar errors 2019-11-25 13:07:15 +01:00
Akatsuki
cb72a33e0c Fix some issues in __fish_complete_subcommand.fish
Fix 'string length: Unknown option': add `--` before $subcommand

Fix count $subcommand always = 1 with `sudo` and `doas`:
give argv as array to __fish_complete_subcommand

[ci skip]
2019-11-17 00:39:06 +01:00
Fabian Homborg
330f1701d7 Restyle
This mostly fixes some wrong indents or replaces some stray tab indents.

I excluded alignment on purpose, because we have a whole bunch of code
that goes like

```fish
complete -c foo -n 'some-condition'        -l someoption
complete -c foo -n 'some-longer-condition' -l someotheroption
```

and changing it seems like a larger thing and would include more
thrashing.

See #3622.
2019-11-16 14:57:59 +01:00
Fabian Homborg
c14a7cbc8f seq.fish: Allow "--" separator
This ended up breaking the random test on OpenBSD (apparently the only
place where this is actually used).
2019-11-16 11:21:45 +01:00
Fabian Homborg
7527fc265b psub: Use explicit command
This would have prevented #6323.

While we don't want to pepper `command` everywhere, `psub` is kind of
a core thing, so we should try to proof it against common problems.
2019-11-14 17:13:39 +01:00
Sergei Morozov
91bda38d57 Added the missing argument for -c|--configuration option of PHPUnit 2019-11-13 13:24:41 -08:00
Sergei Morozov
9251601e0b Added completion of the argument for the composer show command 2019-11-13 13:23:55 -08:00
Sam Yu
4de9a3e102 Update zypper completion
- fix repo completion
- add completion for locale management
2019-11-13 13:20:38 -08:00
Johannes Altmanninger
e37bb0721d completions/git: fix typo in deleted-staged files
Fixes #6315
2019-11-12 21:40:13 +01:00
Z. Grace Moreau
35bc811310 add completions for plutil 2019-11-10 22:19:15 +01:00
Sam Yu
ffb4f7a4ff Update zypper completion
- update options to the newest version
- re-format and align
2019-11-10 22:17:00 +01:00
Clément Martinez
82227b8854 Add apt install --reinstall completion 2019-11-09 22:40:20 +08:00
Johannes Altmanninger
270fd14b00 Fix typo
[ci skip]
2019-11-08 11:40:03 +01:00
Johannes Altmanninger
0e4a75c0b5 Do not print greeting with empty $fish_greeting and --private
Fixes #6299

[ci skip]
2019-11-08 11:09:33 +01:00
Johannes Altmanninger
5c3e43bc0c vi mode: make return key in replace mode insert a newline
Fixes #6298

[ci skip]
2019-11-08 10:51:58 +01:00
Johannes Altmanninger
d242ff1808 Add description for automatic fish_update_completions job
See #6269
2019-11-07 23:33:35 +01:00
Collin Styles
422e2dcbdd Add completions for rustup doc
[As of rustup 1.20][1], users can give a topic as an argument to `rustup
doc` to open the relevant documentation page in a browser. This commit
adds completions for these topics to assist users in finding what
they're looking for.

[1]: https://blog.rust-lang.org/2019/10/15/Rustup-1.20.0.html#improvements-to-rustup-doc
2019-11-07 18:48:19 +01:00