Commit Graph

3002 Commits

Author SHA1 Message Date
Greg Anders
055a332133 Only print extra newlines for multi-line prompts (#6179)
Corrects #6110

BSD `seq` produces a down-counting sequence when the second argument is
smaller than the first, e.g.:

    $ seq 2 1
    2
    1
    $

While GNU `seq` produces no output at all:

    $ seq 2 1
    $

To accommodate for this behavior, only run `seq` when we are sure that
the second argument is greater than or equal to the first (in this case,
the second argument `line_count` should be greater than 1).
2019-10-08 19:14:51 +02:00
matoruru
422441e903 Add completions/sfdx.fish (#6149)
* Add completions/sfdx.fish

* completions/sfdx.fish: add completion for options

* completions/sfdx.fish: add a completion for --manifest(-x) option which need package.json

* completions/sfdx.fish: replace redundant function with already existing one
2019-10-07 17:32:56 +02:00
ridiculousfish
e2952f230b Revert #6139
Revert "gut gpg.fish/gpg1.fish/gpg2.fish; migrate functionality to __fish_complete_gpg.fish"

This reverts commit d558218d03.

Revert "break version-specific completions out into independent function;"

This reverts commit 9160e77b01.

Revert "split gpg2- and gpg1-specific completions to conditional block"

This reverts commit a069b95f63.
2019-10-06 12:35:07 -07:00
LawAbidingCactus
d558218d03 gut gpg.fish/gpg1.fish/gpg2.fish; migrate functionality to __fish_complete_gpg.fish 2019-10-06 12:31:42 -07:00
LawAbidingCactus
9160e77b01 break version-specific completions out into independent function;
document changes
2019-10-06 12:31:42 -07:00
LawAbidingCactus
a069b95f63 split gpg2- and gpg1-specific completions to conditional block
This allows gpg.fish to account for both gpg versions.
2019-10-06 12:31:31 -07:00
Greg Anders
0f802eaad8 Add default \es keybinding for "prepend sudo" 2019-10-06 15:17:49 +02:00
Greg Anders
e5fc8abefe Fix default Alt+W keybinding (#6110)
* Fix default Alt+W keybinding

The old keybinding would chop off the last line of the `whatis` output
when using a multi-line prompt. This fix corrects that.

* Make variable local and remove unneeded if statement

* Test that token is non-empty
2019-10-06 15:14:10 +02:00
madblobfish
87dee7ad1c improved ansible-vault completions 2019-10-06 15:13:06 +02:00
Kon Doumou
e44d207d64 sudo keywork is ignored when alt+h is pressed
if `sudo` is in the beggining of the command string, then at alt+h press
the manual of the following command is shown instead.

Fixes https://github.com/fish-shell/fish-shell/issues/5982
2019-10-06 15:12:02 +02:00
Sergei Morozov
1602902e12 Improved shell completion for Composer
1. Added missing commands and arguments.
2. Removed alternative spelling of some commands (e.g. clear-cache|clearcache) since a choice of spelling is not really useful for completion.
3. Fixed a typo: np-ansi → no-ansi.
4. Removed redundant backslash in front of $COMPOSER_HOME.

The updated completion was initially generated using the bamarni/symfony-console-autocomplete package and then incorporated into the existing code.
2019-10-05 12:54:20 -07:00
Johannes Altmanninger
d74b774f51 Fix paginate binding (\ep) for multiline jobs
Reproducer: type `: \<RET><M-p>`. This used to print an error due to builtin test receiving
too many arguments.

It looks like (commandline -j) can return multiple items, because a job can be broken up in multiple
lines terminated by backslashes.
2019-10-03 21:40:25 +02:00
Fabian Homborg
70fc2611bd webconfig: Escape abbrs properly
Fixes #6120
2019-10-02 20:37:24 +02:00
Sergei Morozov
2fa3c6298b Unmarked the colo(u)r options of the git command as requiring an argument
According to man, the argument is optional:

$ man git
       --color[=WHEN], --colour[=WHEN]
2019-10-02 16:21:41 +02:00
Collin Styles
dae4faa512 Fix completions for abbr --erase 2019-09-28 00:19:39 +02:00
aca
4747bdd7e7 completions/go: add/improve completion
- completion for go mod/generate
- better description for go help
2019-09-26 21:59:41 +02:00
Aaron Gyes
19c575e116 builtin functions: colorize output if interactive
We can also get rid of the | fish_indent --ansi stuff in type.fish
2019-09-25 04:18:06 -07:00
Johannes Altmanninger
8063d6d0b8 complete builtin: suggest commands for options --comand and --wraps 2019-09-25 17:00:48 +08:00
Johannes Altmanninger
2dbbaa6a97 Honor required parameters in completions for builtins
This adds the -r (or -x) flag to completions of builtins' options that have a required_argument.
2019-09-25 17:00:48 +08:00
Jakob Landbo
ed0a7f5cdb completions/git: Added autostash option to rebase 2019-09-24 21:59:26 +08:00
Aaron Gyes
eef62b8848 Correct wc completions for macOS, BSDs. 2019-09-22 14:02:22 -07:00
Johannes Altmanninger
d99c19cc03 Fix completions for chown (#6132)
Reproducer: type `chown --f<TAB>`
2019-09-22 10:01:41 -07:00
ridiculousfish
e1f46d22de Simplify space binding and fix search
With the new support for self-insert inserting a bound sequence,
the default binding for space as expanding abbreviations can be simplified
to just `self-insert expand-abbr`. This also fixes the bug where space
would cancel pager search.
2019-09-21 16:06:19 -07:00
LawAbidingCactus
d4a5ef1703 rewrite __fish_complete_gpg2_key_id to produce better output 2019-09-21 22:04:17 +08:00
LawAbidingCactus
b8ba04dcf4 fix compatibility with BSD sed 2019-09-21 22:04:17 +08:00
LawAbidingCactus
2f67cb341c add remaining gpg2-specific completions; formatting 2019-09-21 22:04:17 +08:00
LawAbidingCactus
1a59731ea7 Create updated completions for gpg2 2019-09-21 22:04:17 +08:00
LawAbidingCactus
d2e9ee290c rewrite __fish_complete_gpg_key_id to produce better output 2019-09-21 21:58:59 +08:00
Aaron Gyes
b7dd060dec sample prompts: use $USER instead of (whoami) 2019-09-18 23:35:16 -07:00
Johannes Altmanninger
eea3bd5fc3 completions/git: improve completion for git restore and git switch
- suggest relevant files for git restore
- add `-r` to require an argument for some options
2019-09-18 14:08:43 -05:00
Johannes Altmanninger
ec834820f5 completions/git: handle 2 RM and 2 RD files
This commit makes git completions aware of files that are both staged as renamed, and have unstaged
modifications/are deleted.

__fish_git_files now potentially prints these files twice:

$ __fish_git_files renamed modified
foo   Renamed file
foo   Modified file

Fixes #6031
2019-09-18 14:03:11 -05:00
David Adam
737c2d156d history: fixup exact matching by default
Work on #6070. Fixup from 54ed2ad440.
2019-09-11 23:12:10 +08:00
Mahmoud Al-Qudsi
58cd1a5140 Eschew hard-coding rustup components in favor of a hack
[ci skip]
2019-09-10 03:23:59 -05:00
Mahmoud Al-Qudsi
32546d6491 Reorder rustup completions to avoid undefined function error
[ci skip]
2019-09-10 03:23:55 -05:00
Mahmoud Al-Qudsi
85f93ff002 Add dynamic completions for rustup
[ci skip]
2019-09-09 20:55:08 -05:00
Mahmoud Al-Qudsi
912421f1cb Switch away from awk for __fish_print_hostnames
By not manipulating each line or even each file at a time, we can go
back to `string` and piece together a pipeline that will execute
significantly faster than shelling out to `awk` will. This also removes
one of the few dependencies on `awk` in the codebase.

With this change, `__fish_print_hostnames` now finishes ~80% faster than
it used to a few commits back.
2019-09-05 22:44:09 -05:00
Mahmoud Al-Qudsi
1db861b4db Clean & slightly optimize SSH hostnames handling in __fish_print_hostnames 2019-09-05 22:44:09 -05:00
Mahmoud Al-Qudsi
06317f0a98 Optimize __fish_print_hostnames hosts file loading/parsing
Reordering the `getent hosts` and read from `/etc/hosts` combined with
minimizing shelling and job invocations for parsing the output results
in a profiled and benchmarked ~42% decrease in the time it takes to run,
and that's on a machine with a very small hosts list in the first place.

This update also fixes the hadling of IPv6 addresses in the hosts
output, which were previously ignored, and ignores 127.* loopback
addresses in addition to the 0.0.0.0 address (plus adds support for
shorter IPv4 notations).
2019-09-05 22:44:09 -05:00
LawAbidingCactus
c20a9ea477 fix compatibility with BSD sed
Closes #6087.
2019-09-03 15:35:04 +08:00
David Adam
54ed2ad440 history: implement exact matching by default for delete
Brings behaviour into line with documented and intended behaviour.
Closes #6070.
2019-09-02 22:59:52 +08:00
Nathan Galt
8b84f4f117 Add completions/tokei.fish
Closes #6085.
2019-09-02 22:37:01 +08:00
Nathan Galt
76195dfe1d Update bat completions from 0.11.0 to 0.12.0
Closes #6084.
2019-09-02 22:35:08 +08:00
Nathan Galt
635dafeb9c Update bat completion to support cache command
Closes #6076.
2019-09-02 22:32:47 +08:00
Shun Sakai
5221d723ca Added patool completions 2019-09-01 17:28:46 -07:00
Shun Sakai
42c6b9c176 Implemented the completions of all options of git restore and git switch (#6054)
* Implemented the completions of all options of `git restore` and `git switch`

* Apply requested changes
2019-08-30 11:31:35 +02:00
Sergei Morozov
753f49dba9 Added git rebase --rebase-merges[=(rebase-cousins|no-rebase-cousins)] to completion
See https://git-scm.com/docs/git-rebase/2.18.0#git-rebase--r
2019-08-27 22:04:55 +02:00
LawAbidingCactus
35b64b0470 add completions for qubes-gpg-client 2019-08-27 15:20:07 +08:00
adiabatic
dd34bf0ba6 Create bat.fish 2019-08-23 21:49:55 -07:00
Shun Sakai
ecacf34693 Added git restore and git switch completions
These commands were added in version 2.23.
2019-08-22 20:25:02 +08:00
adiabatic
85f57d1d33 Create hledger.fish 2019-08-16 21:25:41 -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
adiabatic
ab6fd6554f Add completions/cwebp.fish 2019-08-08 18:51:13 +02:00
Daniel Bretoi
575fdb5492 add missing flag 2019-08-06 20:19:12 +02:00
adiabatic
9b89b820da Add completions/src.fish 2019-08-05 12:18:29 +02:00
Fabian Homborg
2c3bc1e857 Fix grep wrapper completions
[ci skip]
2019-08-04 15:34:33 +02:00
Fabian Homborg
3296bb6c3b Fix apt-show-versions command name
[ci skip]
2019-08-04 15:34:33 +02:00
Fabian Homborg
3fd567749c Fix latex tool completions
Again the wrapping was used the wrong way around.

(also why on earth are there like fifty of these darn things?)

[ci skip]
2019-08-04 15:34:32 +02:00
Fabian Homborg
ab1b2b84f6 Move netcat completions to an autoloadable name
The file was named "netcat", but it completes a tool named "nc", so it
wouldn't be loaded.

[ci skip]
2019-08-04 15:34:32 +02:00
Fabian Homborg
8ea034837d Remove pacsrv completions
These have been broken for 4 years (completed `pacsrc` instead), and I
can't find the tool anywhere.

[ci skip]
2019-08-04 15:34:32 +02:00
Fabian Homborg
0fc4b415ac Fix rgrep completions
This used the arguments the wrong way around.
2019-08-04 15:34:32 +02:00
adiabatic
75a6ad602f completions/canto.fish: s/cnato/canto/ 2019-08-04 15:21:41 +02:00
mk2
0083555925 Move __fish_complete_abook_formats to abook 2019-08-04 15:20:32 +02:00
Shun Sakai
67cf50eda4 Added completions of languages developed by Microsoft
* csc, csi, vbc - .NET Compiler Platform (Roslyn)
* fsharpc, fsharpi - F# compiler and REPL environment
* tsc - TypeScript compiler
2019-08-03 14:47:59 -07:00
Klaus Alexander Seistrup
7046d251d9 Make sure nop command always suceeds 2019-08-03 18:14:12 +02:00
Frederik Gladhorn
ffcf5a5e03 completions/git: Add git cherry
See for example: https://git-scm.com/docs/git-cherry
git cherry is quite helpful when trying to findout if merges between
branches are complete, when there were cherry-picks in addition to
merges.
2019-07-24 16:02:30 +02:00
Fabian Homborg
9e6ae1cbef completions/git: Fix error with git config
This passed "--get" when it should have been "get".

Fixes #6000.

[ci skip]
2019-07-20 14:25:45 +02:00
adiabatic
6ca56fe0cb tmutil.fish: Add completions for local-snapshots subcommands (#5995)
* tmutil.fish: Add local-snapshot subcommands

* tmutil.fish: Add completion for thinlocalsnapshots

* tmutil.fish: Run fish_indent

* tmutil.fish: Remove duplicate destinationinfo
2019-07-17 08:40:15 +02:00
Fabian Homborg
ef403129e4 fish_vi_key_bindings: Remove duplicate \cc binding
Already done in the shared bindings.

[ci skip]
2019-07-15 21:04:23 +02:00
Fabian Homborg
33dbd98200 Remove x-bit from function 2019-07-15 21:02:08 +02:00
Fabian Homborg
56e122866c fish_svn_prompt: Shorten a return 2019-07-15 21:02:08 +02:00
Per Bothner
2dcaf4f5c0 Emit 'fish_cancel' at end of __fish_cancel_commandline.
This helps with shell integration - see issue #5973
"shell-integration - how distringuish winch repaint from ctrl-c cancel".
2019-07-15 21:01:49 +02:00
Fabian Homborg
47e9e8ab8a fish_vcs_prompt: Stop at first success
Closes #5980.
2019-07-15 17:32:22 +02:00
Mahmoud Al-Qudsi
7ee675afcf Update aws and aws s3 completions
Improve handling of switches interjected between the commands, and
support for completing buckets automatically for secondary+ parameters
to `aws s3`.
2019-07-11 21:22:25 -05:00
Peter Lithammer
9d47c46a7a Suppress shell function lookup for ssh during scp completion
This prevents functions or aliases to run during tab completion of
remote files for the `scp` command.
2019-07-08 22:12:44 +02:00
tomKPZ
42f38bb806 Fix status code coloring for nim prompt 2019-07-07 19:36:17 +02:00
Leonard Hecker
ca5427865d Fixed invalid assignments in fish_print_git_action 2019-07-03 17:37:44 +02:00
Tim Riley
d1be300ac7 Emulate path_helper more faithfully when constructing paths on macOS
Previously, elements already existing in the path variable would keep their position when the path was being constructed from the config files. This caused issues given that $PATH typically already contains "/usr/bin:/bin" when fish initializes within a macOS terminal app. In this case, these would keep their position at the front of the $PATH, even though the system path_helper configs explicitly place them _after_ other paths, like "/usr/local/bin". This would render binaries in "/usr/local/bin" as effectively "invisible" if they also happen to live in "/usr/bin" as well. This is not the intended

This change makes the __fish_macos_set_env config function emulate the macOS standard path_helper behavior more faithfully, with:

1. The path list being constructed *from scratch* based on the paths specified in the config files
2. Any distinct entries in the exist path environment variable being appended to this list
3. And then this list being used to *replace* the existing path environment variable

The result, for a vanilla fish shell on macOS, is that the $PATH is now set to:

    /usr/local/bin /usr/local/sbin /usr/bin /bin /usr/sbin /sbin

Where previously it was set to:

    /usr/bin /bin /usr/local/bin /usr/sbin /sbin

This new $PATH exactly matches the order of paths specified in `/etc/paths`.
2019-07-02 22:17:46 +02:00
Fabian Homborg
c392a05db0 functions/__fish_anypython: Also try python{3,2}.7
NetBSD!!!!! *shakes fist*
2019-06-25 19:40:22 +02:00
Fabian Homborg
427a18c1ea fish_git_prompt: Add a way to use the informative chars
$__fish_git_prompt_use_informative_chars will use the informative
chars without requiring informative mode (which is really frickin'
slow!).

See #5726.

[ci skip]
2019-06-25 16:11:18 +02:00
Fabian Homborg
3bc392a6b3 functions/__fish_print_hostnames: Check getent's status
This previously effectively checked `string split ' '`s return status,
which was false if it didn't split anything. And while that should be
true if getent fails (because it should produce no output), it's also
true if it doesn't print a line with multiple aliases. Which should be
fairly typical.

Instead we use our new-found $pipestatus to check what getent returns,
in the assumption that it'll fail if it doesn't support hosts.

Follow up to 8f7a47547e.

[ci skip]
2019-06-25 08:40:31 +02:00
Fabian Homborg
8f7a47547e functions/__fish_print_hostnames: Don't run getent hosts twice
`getent hosts` is expensive-ish - ~50ms, so we don't want to run it
twice just to figure out it works.

Apparently this works everywhere but CYGWIN and possibly older
OpenBSD, but we don't want to explicitly blacklist those.

[ci skip]
2019-06-24 19:19:31 +02:00
Shun Sakai
e7b42615c8 Add FFmpeg completions (#5922)
* Add FFmpeg completions

* Fix to use builtin command
2019-06-23 16:40:26 +02:00
Lily Ballard
fe2ec1e4f8
Merge pull request #5943 from lilyball/string_collect
Add new `string` subcommand `string collect`
2019-06-22 00:30:20 -07:00
infix
ae2c40ebdb Updated DNF auto completion 2019-06-21 09:24:37 -07:00
Lily Ballard
181e44d331 Invert the flag for string collect
Instead of requiring a flag to enable newline trimming, invert it so the
flag (now `--no-trim-newlines`) disables newline trimming. This way our
default behavior matches that of sh's `"$(cmd)"`.

Also change newline trimming to trim all newlines instead of just one,
again to match sh's behavior.
2019-06-16 16:40:14 -07:00
Lily Ballard
b41e5cbbb7 Add string collect
The `string collect` subcommand behaves quite similarly in practice to
`string split0 -m 0` in that it doesn't split its output, but it also
takes an optional `--trim-newline` flag to trim a single trailing
newline off of the output.

See issue #159.
2019-06-16 15:51:57 -07:00
Fabian Homborg
b4792bde19 Remove brew completions
Leave a note in place

Fixes #5892.

[ci skip]
2019-06-12 20:42:20 +02:00
Fabian Homborg
77103ddbab Dishonour
[ci skip]
2019-06-12 10:22:46 +02:00
Fabian Homborg
c0ca4d3236 functions/history: Read the search term if none is given
Fixes #5791.
2019-06-06 15:07:46 +02:00
Shun Sakai
c566756f3b Fix long option name of zypper 2019-06-03 16:36:03 +02:00
Fabian Homborg
f9f30e6a8e completions/rsync: Fix "=THING"
This included stuff like `--max-size=SIZE`. Weird that nobody noticed?

[ci skip]
2019-05-30 21:41:58 +02:00
Fabian Homborg
cd2b1b99e8 completions/rpm: Complete files for -qf
Fixes #5127.

[ci skip]
2019-05-30 19:27:41 +02:00
Fabian Homborg
df6f3fdcf4 completions/pacman: Fix pacman -Qo
(also yaourt)

[ci skip]
2019-05-30 19:20:06 +02:00
Fabian Homborg
430b2a48a9 completions/sudo: Fix sudo -e
This uses the new "--force-files" flag.

Fixes #5646.

[ci skip]
2019-05-30 19:14:33 +02:00
Fabian Homborg
d0921489ee fish_git_prompt: Fix changing show_informative_status
If you changed $__fish_git_prompt_show_informative_status, it
triggered a variable handler, which erased the chars, but neglected to
unset $___fish_git_prompt_init, so we just kept chugging along with
empty characters.

What's the hardest thing in CS again? Cache something something?

[ci skip]
2019-05-29 10:36:14 +02:00
Fabian Homborg
6d66c47f70 completions/fish: Add FLOG additions
[ci skip]
2019-05-28 22:43:37 +02:00
Fabian Homborg
d46dacdfee Stop abusing __fish_complete_suffix to complete dirs
[ci skip]
2019-05-27 19:37:28 +02:00
Fabian Homborg
dcf017ff57 fish_complete_directories: Use complete -C
This way we use our core file completion code, which is much more
flexible than we can easily achieve directly in script (which would
require e.g. an `expand` builtin, and case-insensitive globs).

Fixes #5896.
2019-05-27 19:33:52 +02:00
Fabian Homborg
261198aa3e completions/set: Complete some config vars even if they aren't set
Fixes #5884.

[ci skip]
2019-05-21 17:00:32 +02:00
Fabian Homborg
7ddae68645 Restyle a few stragglers
THERE WERE TABS! TABS!

TABS!

[ci skip]
2019-05-20 21:07:37 +02:00