Commit graph

943 commits

Author SHA1 Message Date
Mahmoud Al-Qudsi
46bd0e66b6 fixup! Clean up completions a little bit
Reverts some changes that broke sudo completions, and adds comments
clarifying the purpose behind sudo completions.

Closes #5004.
2018-05-22 17:44:52 -05:00
Mahmoud Al-Qudsi
0a337a9d8e Clean up completions a little bit 2018-05-20 14:07:56 -05:00
Mahmoud Al-Qudsi
4be4932786 Fix unzip completions directory completion 2018-05-20 12:33:41 -05:00
Mahmoud Al-Qudsi
5bd121bd6d Fix unzip completions for non-Linux platforms 2018-05-20 12:04:22 -05:00
Alexander Skwar
9401d3a6d5 Fix fish-shell issue #4996: open -a works now on non-english installs 2018-05-20 21:14:10 +08:00
Alexander Skwar
e6aacd6167 Fix fish-shell issue #4993 - support pathname completion for open -a command. 2018-05-20 21:14:10 +08:00
Mahmoud Al-Qudsi
9ddba0116f Add completions for unzip 2018-05-20 01:22:16 -05:00
Mahmoud Al-Qudsi
1c4940c04c Make sudo completions _much_ smarter
Now dynamically generating completions for the target of the `sudo`
command, where possible.
2018-05-17 20:19:31 -05:00
Fabian Homborg
560985cdee Remove test invocations with implicit -n tests
This is something we would like to remove - #2037.
2018-05-17 13:24:26 +02:00
Mahmoud Al-Qudsi
18a163dc24 Simplify argument completions for ttx and meson 2018-05-13 20:00:58 -05:00
Mahmoud Al-Qudsi
e197e57a7f Clarify ttx completion file table naming case sensitivity 2018-05-13 14:05:57 -05:00
Mahmoud Al-Qudsi
1bdf61cb20 Add completions for meson build system 2018-05-13 13:59:03 -05:00
Mahmoud Al-Qudsi
20395339a4 Fix python{,2,3} argument completions
Only the first non-switch parameter to python must be a .py file, but
everything thereafter is "just another argument". This enables file
completions for 2nd+ arguments.
2018-05-12 23:40:40 -05:00
Mahmoud Al-Qudsi
82c8abc4dc Add completions for ttx 2018-05-12 14:06:03 -05:00
Fabian Homborg
84fe46e763 [make completions] Reenable files if token contains "="
Fixes #4967.
2018-05-12 18:52:51 +02:00
Fabian Homborg
9929acd9d8 Revert "Use git ls-files to generate completions for git"
While this is a bit faster (mostly because it needs less processing on fish's side),
it lacks the neat description bit and the ":/" stuff doesn't work.

The boost is also not large in absolute terms (a few milliseconds).

This reverts commit 1f8e4dad9f.
2018-05-11 16:00:45 +02:00
Mahmoud Al-Qudsi
1f8e4dad9f Use git ls-files to generate completions for git
This uses the same logic that git uses to determine the satus of files
and doesn't require any parsing on our end. Brings in support for
relative paths (such as `git add ../f<TAB>`). Should be faster and more
reliable than manually parsing porcelain status.

This doesn't support as many cases as the old `__git_ls_files` function
did (e.g. `renamed` is not supported, nor is `added`), both of which
_can_ be implemented on top of the new logic - but neither of which were
actually being used, anyway.

Usefulness is decreased by #4970, speed still bottlenecked by #4969.

cc @faho
2018-05-10 14:04:20 -05:00
Fabian Homborg
1e3d26f744 [git completions] Remove impossible error message
We already read the rest into a "_" garbage variable.
2018-05-08 23:16:39 +02:00
Fabian Homborg
183b7f7017 [git completions] Complete deleted files after "--" for "reset" 2018-05-08 23:16:10 +02:00
Fabian Homborg
39e3c3c0b1 [git completions] Readd "unique remote branches"
This is based on what the official git completions do, and it's quite
fast.

Also only complete files after a "--" separator for `checkout`.

Fixes #4858.
2018-05-08 23:14:49 +02:00
Fabian Homborg
34fc390e13 [git completions] Shorten commit SHA ourselves
This is much quicker - on the order of 100ms vs 50ms.

We shorten to 10 characters, which is statistically suitable - 3 out
of 600k commits in the linux kernel need 11 characters.
2018-05-08 23:12:13 +02:00
Mahmoud Al-Qudsi
91f75d84d3 Completions for optipng 2018-05-06 18:55:12 -05:00
Luc J. Bourhis
d652b9b606 Use --tool-help to find available tools for difftool/mergetool 2018-05-06 13:12:42 -07:00
Luc J. Bourhis
d7a9e25e17 Completion of git difftool and git mergetool: add missing options 2018-05-06 13:12:42 -07:00
ridiculousfish
762c31be87 Feature flag support for ? wildcard
This partially reverts 6e56637cf0 and #4520
by bringing back the ? wildcard, guarded by the qmark-noglob feature flag.
2018-05-06 11:20:15 -07:00
ridiculousfish
7cbc0c371a Remove a "common fish problems" section in the docs
This wasn't really that common.
2018-05-06 11:19:58 -07:00
Ray Juang
ba68efd543 Updating adb completion to enable tab-completing file paths for adb shell and pull commands 2018-05-03 16:41:04 +02:00
Fabian Homborg
d8b1f0715f [pip* completions] Silence stderr
For some reason, these tools print an upgrade message to stderr, even
when stdout goes somewhere else.
2018-05-03 11:32:18 +02:00
Fabian Homborg
e598cb235a Fix case matching literal ?
Fixes #4896.
2018-04-25 23:37:39 +02:00
Fabian Homborg
f3f2d2d191 [git completions] Speed up branch completion
Using `git for-each-ref` both simplifies the code (no need to deal
with detached heads anymore) and speeds it up.

With 1600 branches, the time goes from ~48ms to ~16ms.
2018-04-25 23:11:40 +02:00
Wilke Schwiedop
0b0e65a8a4 Update ebuild.fish
greatly simplify __fish_seen_ebuild_arg
2018-04-25 15:46:15 +02:00
Wilke Schwiedop
29b67030b8 add completion for 'ebuild' command 2018-04-25 15:46:15 +02:00
Wilke Schwiedop
9d9966b156 add completion for 'equery files' filter switch 2018-04-25 15:46:15 +02:00
Wilke Schwiedop
80e30bc144 add argument completion for 'equery keywords' 2018-04-25 15:46:15 +02:00
Wilke Schwiedop
06cda3f0b0 fix 'equery uses' completion 2018-04-25 15:46:15 +02:00
Wilke Schwiedop
92fa94aa09 Improve equery completion
- fix capitalization
- shorten descriptions
- implement subcommand shortcuts
- add arg completion for 'limit' and 'depth' switches
- improve arg completion for list subcommand in case of -p switch
2018-04-25 15:46:15 +02:00
nblock
809b2cd792 Add completion for MkDocs (#4906)
* Add completion for MkDocs

* Use __fish_seen_subcommand_from
2018-04-25 15:45:48 +02:00
George Christou
0fdc51beed completions: [git] Add options for diff and show 2018-04-24 10:57:00 -07:00
Mahmoud Al-Qudsi
a9e9af5c5d Include devDependencies in yarn and npm completions 2018-04-20 23:05:31 -05:00
Mahmoud Al-Qudsi
a733296980 Correct bower and yarn completions
bower was calling `__fish_should_complete_args`, the old name for
`__fish_should_complete_switches.`
yarn was parsing bower.json instead of package.json.
2018-04-20 09:12:34 -05:00
Mahmoud Al-Qudsi
5f82cb5ca4 Use jq to iterate over installed dependencies for yarn completions
Only if available, else fall back to fragile package.json parsing.
2018-04-19 18:15:33 -05:00
Mahmoud Al-Qudsi
e48722f0bf Add completions for bower
These are "true" completions, with dynamic completion of available
packages to be installed or removed.
2018-04-19 18:09:11 -05:00
George Christou
342d0644ac completions: [git] Don't try to complete files when not in a repo 2018-04-19 17:15:21 +02:00
Mahmoud Al-Qudsi
77134fc49d Use all-the-package-names to complete yarn add 2018-04-19 08:35:06 -05:00
Mahmoud Al-Qudsi
503427255e Drop automation of all-the-package-names install for npm completions
Selectively reverts 156d4fb9b9.

`all-the-package-names` is still used to generate completions for `npm`
if it is installed, but it is not manually installed nor updated. It is
now the user's responsibility to do both, and it must be installed
globally.
2018-04-19 08:34:46 -05:00
J Delaney
54959a8248 Completions for merging 2018-04-19 14:34:01 +02:00
George Christou
97f2eca571 completions: [git] Add common options for show and diff 2018-04-19 14:31:49 +02:00
Mahmoud Al-Qudsi
156d4fb9b9 Complete npm package names for npm install via all-the-package-names
`npm search` was _way_ too slow to be used for dynamic completions, so
using a cached list of all avaialable NPM packages to match against.

This is a bit brave for a fish completion, but the npm package
`all-the-package-names` has a list of, well, all the package names
avaialable for installation via the default npm registry. Installing a
copy locally to $HOME/.cache/fish/npm_completions and using that to
search for packages matching the tokenized command line.

Preference would be to call `__update_atpm` in the background, but that
emits an ugly "job has completed" message..

Should also use this for completions for `yarn add`.
2018-04-18 22:42:46 -05:00
Mahmoud Al-Qudsi
c2e66b002a Dynamically invoke yarn completions so they aren't cached
Correct `-a (something)` to `-a '(something)'`
2018-04-18 21:43:39 -05:00
Mahmoud Al-Qudsi
6c5e5d35a9 Add real completions for ./configure
This relies on the new `read --line/-L` support as an entire parser for
the output of `./configure --help`  was written in fishscript. Also
doesn't work without 72f32e6d8a7905b064680ec4b578c41dea62bf84.

The completion script is slow... a function of both the autotools
configure script itself being written in a shell script combined with a
fishscript output parser.

fish's own `./configure --help` takes around 350ms to execute, while
`__fish_parse_configure ./configure` (which runs that behind the scenes)
takes around 660ms to run, all-in-all - a not insignificant overhead.

Output can be cached (based off of ./configure hash or mtime) in the
future if this is a big deal.
2018-04-17 21:35:51 -05:00