Commit Graph

3551 Commits

Author SHA1 Message Date
Gokul Soumya
5f782cef7d Show builtin description with whatis_current_token 2020-07-12 00:13:51 +02:00
Gokul Soumya
e665f9b523 Precedence for functions over commands in whatis_current_token 2020-07-12 00:11:37 +02:00
Gokul Soumya
d0ce5fe943 Show function description if available with whatis_current_token
By default __fish_whatis_current_token is bound to ALt-W
2020-07-12 00:11:37 +02:00
Johannes Altmanninger
1f8c9a5d42 __fish_print_help: handle [ and : 2020-07-12 00:11:37 +02:00
Charles Gould
c2fe319af0 fish_config: 'Webify' color definitions
The colors defined in `colorutils.js` are specified in
fish format, and therefore RGB values lack the leading
`#` character and do not fully follow the html/css spec
(w3.org/TR/css-color-4/#typedef-hex-color).

Web config sends these values as-is to the browser,
without first converting to a browser-friendly format.
While this (somehow) works for the most part, a few
colors get lost along the way and do not display in
the customization selector nor in the preview when
selected. This behavior was seen in Firefox.

To fix this, let's prepend the missing '#' character
to all RGB colors defined in `colorutils.js`.
2020-07-11 13:51:52 -07:00
MaxVerevkin
aff2e76021 create_manpage_completions.py: introduce TypeScdocManParser which is capable of parsing scdoc manpages
This greatly improves generated completions for scdoc man pages, see #7187.
2020-07-11 17:39:36 +02:00
MaxVerevkin
d3661b3808 create_manpage_completions.py: add .SH and .UN sections in Type2ManParser
This improves some generated completions, for example:

	diff -u completions.old/g3topbm.fish completions.new/g3topbm.fish
	+complete -c g3topbm -o stop_error -d 'This option tells g3topbm to fail when it finds a problem in the input'
	-complete -c g3topbm -o stop_error
2020-07-11 17:36:07 +02:00
MaxVerevkin
23c78a74e4 create_manpage_completions.py: do not use '|' in '[]' in regex 2020-07-11 15:52:16 +02:00
MaxVerevkin
4f867ce513 create_manpage_completions.py: refactor 2020-07-11 15:52:16 +02:00
MaxVerevkin
d1ad143cf1 create_manpage_completions.py: refactor: clean up parse_manpage_at_path 2020-07-11 15:52:16 +02:00
MaxVerevkin
75f93a590e create_manpage_completions.py: refactor: clean up parse_and_output_man_pages 2020-07-11 15:52:16 +02:00
MaxVerevkin
0d863378ea create_manpage_completions.py: refactor: remove unnecessary 'skip' 2020-07-11 15:52:16 +02:00
Johannes Altmanninger
0c9e651fdf create_manpage_completions.py: use correct capture group 2020-07-11 15:46:33 +02:00
Fabian Homborg
a40c82dcc4 Check if create_manpage_completions was installed
Fixes #7183.
2020-07-09 18:35:41 +02:00
Mahmoud Al-Qudsi
50e2a8dd72 [dnf] Fall back to dnf repolist when no sqlite3
[ci skip]
2020-07-08 11:24:29 -05:00
Fabian Homborg
213ac15caa Remove duplicate color
This was always wrong, but the new(er) angular actually complains
about it.
2020-07-06 20:10:01 +02:00
Fabian Homborg
4981115f73 webconfig: Fix "then" arguments
This used to use "success", which was our own thing, but which I can't
get working.

So instead we just use ".then", which only passes one object as an
argument that then contains all the other data we use.

This should be enough to complete the port to angular 1.8
2020-07-06 20:10:01 +02:00
Fabian Homborg
3f904b6a59 webconfig: Replace unsafe binding with filter
ng-bind-html-unsafe was apparently removed.
2020-07-06 20:10:01 +02:00
Fabian Homborg
9cfcdfa105 WIP Update angular to something from after the stoneage 2020-07-06 20:10:01 +02:00
Shun Sakai
d24a14744c
Update apk-tools completions (#7171)
* Update apk-tools completions

Add completions of options of it's subcommands.
The completions of deprecated options is unimplemented.

* Fix installed package listing for apk-tools

An error occurs when the local cache does not exist, so fixed this.
2020-07-05 18:22:36 -05:00
Mahmoud Al-Qudsi
79d6710db4 fixup! Add udevadm completions
[ci skip]
2020-07-04 15:49:47 -05:00
Gokul Soumya
7e2a067f53
Add completions for mpc (#7169) 2020-07-04 19:46:19 +02:00
Fabian Homborg
eb35975c0f Make cancel-commandline actual bind function
This was always awkward as fish script, and had problems with
interrupting the autoloading.

Note that we still leave the old function intact to facilitate easier
upgrading for now.

Fixes #7145.
2020-07-01 20:56:56 +02:00
Mahmoud Al-Qudsi
de47a096e8 Add udevadm completions
[ci skip]
2020-07-01 09:27:20 -05:00
Johannes Altmanninger
ca188fef8c webconfig: fix regex 2020-07-01 00:44:06 +02:00
Johannes Altmanninger
8b961a0ca8 Bind undo to Control-Z in addition to Control-/
See #7152
2020-07-01 00:40:32 +02:00
Daniel Bengtsson
2da806cceb Remove useless import in webconfig file.
The random and string module was imported but not used.
2020-07-01 00:40:01 +02:00
Gokul Soumya
3f210acdff
Add completions for yadm (#7100) 2020-07-01 00:34:00 +02:00
Mahmoud Al-Qudsi
9846328b41 [xinput] Provide completions for device properties
Also support specifying devices and properties by name, not just id.

[ci skip]
2020-06-29 22:09:53 -05:00
Mahmoud Al-Qudsi
614c494859 Speed up default ^C action considerably
No more shelling out to external commands, no more loops, and no
conditionals past the initial check.
2020-06-29 19:41:33 -05:00
Mahmoud Al-Qudsi
46587b47c4 Add completions for synclient
[ci skip]
2020-06-29 13:03:48 -05:00
Daniel Bengtsson
05abd0ed68 Fix long description in completion.
Simplify the description sudo for the option l. I think it's sufficient.

Fixes: #6981
2020-06-29 09:58:02 -05:00
Mahmoud Al-Qudsi
da21ab5892 [xinput completions] Support devices with : in name
[ci skip]
2020-06-28 23:03:03 -05:00
exploide
a966ace4a9 __fish_print_hostnames: match IPv6 addresses + cleanup 2020-06-28 20:11:39 -05:00
Fabian Homborg
5c22be518b fish_config: Start webbrowser in background thread
Current firefox-developer-edition (i.e. the beta) blocks here.

This is awful and bad, but we can easily work around it by just using
a thread.

Blergh

Fixes #7158
2020-06-28 16:42:05 +02:00
Clément Martinez
5da3a95451 Add git diff --staged completion 2020-06-26 18:26:50 -05:00
Daniel Bengtsson
e2f03fa8a7 Add a function to check if the user is root.
Add a helper function to check if the user is root. This function can be
useful for the prompts for example. Modify the prompts made root checked
to use the function instead. Add also the support of Administrator like
a root user.

Fixes: #7031
2020-06-26 21:25:13 +02:00
Fabian Homborg
149a0b98af Another formatting run
I really kinda hate how insistent clang-format is to have line
breaks *IFF THE LINE IS TOO LONG*.

Like... lemme just add a break if it looks better, will you?

But it is the style at this time, so we shall tie an onion to our
belt.
2020-06-24 20:43:56 +02:00
Fabian Homborg
c21a3b9d71 Break up lines over 1000 characters
Yeah, these are just excessive.

In case you are wondering: 2812 characters was the longest line in all
of fish.
2020-06-24 20:42:03 +02:00
Gokul Soumya
e41404eed3
Improve git config completions (#7150)
* completions/git: Show all accepted values with git config

Finally closes #3812.

Acceptable values are generated using `git help --config`

* completions/git: Show config value as description for git config

* completions/git: Handle multiline config values

When completing `git config` only display the first
line of config value as description if it is
multiline, appended with an ellipsis.
2020-06-24 20:07:25 +02:00
Malobre
94f4473d3b
Fix #7113, correct a few regexes. (#7130)
* Fix #7113 (cannot call help using msys2), correct a few regexes.

* Use regex instead of glob-style matching

* Match `\.exe$` instead of `cmd\.exe$` for WSL

* Match `\.exe(\s+|$)` instead of `\.exe$` and `cmd\.exe$`

* Fix a few regexes

This allows cygstart to be manually set as a browser, with or without arguments
2020-06-24 18:36:37 +02:00
Gokul Soumya
2fd78fd5c2
Uncomment most recent comment if commandline is empty when using toggle comment binding (#7137)
* functions/__fish_toggle_comment_commandline: Uncomment most recent comment if commandline is empty

* Refactor variable setting in functions/__fish_toggle_comment_commandline.fish

* Update changelog regarding toggle comment binding
2020-06-24 18:35:36 +02:00
Fabian Homborg
9ae880f6ac Comment *why* adb needs its redirections hand-fed
[ci skip]
2020-06-23 09:02:26 +02:00
Erutuon
2b6ce30a70 Fix redirection in adb shell
`adb` shell by default sends stderr from the command to stdout, so that `adb pull nonexistent<tab>` will show the error message from the `find` command. `>` must be escaped so that redirection is done inside the command executed by `adb shell`.
2020-06-23 08:59:02 +02:00
Gokul
c7a8e35bfc completions/function: Update missing completions
- Complete signals with --on-signal
- Complete variables with --on-variable and --inherit-variable
- Complete event handlers with --on-event
- Complete commands with --wraps
- Add `complete` spec for --inherit-variable
2020-06-22 17:27:57 +02:00
Clément Martinez
1d1a2802ca Add completion for systemctl --failed 2020-06-22 17:24:15 +02:00
Fabian Homborg
63f7f1925e git prompt: Simplify "staged" logic
This had this weird "pass along the sha, then check" logic to it which
is entirely unnecessary.

This function just says when something is staged, nothing more. Why
that is you can figure out for yourself.

This makes it easier to call this function, and it no longer prints an
empty line if nothing is staged.
2020-06-20 21:47:19 +02:00
Fabian Homborg
d8e5dfbb51 completions/dnf: Only offer the packagename
Removing the extraneous cruft.

Really, this should just be using its database properly.

Fixes #7118.
2020-06-20 19:56:33 +02:00
Fabian Homborg
197d615cc8 git prompt: Minor cleanup 2020-06-20 19:01:27 +02:00
Fabian Homborg
4186d840db git prompt: Simplify some helper functions 2020-06-20 19:01:27 +02:00
Fabian Homborg
73c0fa03b8 git prompt: Also repaint correctly if use_informative_chars is set 2020-06-20 19:01:27 +02:00
Oscar Tin Lai
eb4f86710d
Add support for git-* command auto-completion (#7075)
* add support for git custom command completion

* small fixups

* remove autogenerated path from sourcing git-* completions
2020-06-20 18:35:10 +02:00
wayou
424e658d16 Add completions for deno 2020-06-20 18:31:57 +02:00
Daniel Bengtsson
dd1a26588a Fix long description in completion.
Simplify the description, I think it's sufficient like this.

Fixes: #6981
2020-06-20 18:18:45 +02:00
Fabian Homborg
ee0d13a552 completions/set: Stop "hiding" dunder-prefixed variables
This was intended to stop showing the user "unimportant" variables,
but it just didn't complete them entirely, even if the current token
starts with a dunder (or `fish` of all things!).

Because completions sort `_` last, let's just complete these always
and let the user filter them.
2020-06-20 09:51:29 +02:00
Fabian Homborg
894ec3dfd4 fish_git_prompt: Always allow for displaying stashstate
This wasn't added to the prompt status order, so it was computed and
then not used for the informative prompt.

We still check later if we should compute it, so this is harmless if
showstashstate is unset.

Fixes #7136.
2020-06-20 09:33:04 +02:00
Fabian Homborg
4660be372a Only disable title in emacs "term"
There's more than one emacs terminal (for some reason), and term is
the most broken one and can't even handle a title.

Fixes #7122.
2020-06-17 16:48:13 +02:00
Gokul
dde7ee9c7d Add completions for github's gh tool 2020-06-17 20:27:20 +08:00
Gokul
9b10636824 Make completion descriptions for feh shorter
Strikes off feh in #6981.
2020-06-15 21:55:47 +08:00
Shun Sakai
ffaf969e6e Add completions for apk-tools
Completion of options for each subcommand is not implemented.
2020-06-14 19:23:49 +02:00
Maciek Borzecki
47200a8abf completions/snap: workaround snap interfaces deprecation notice
The `snap interfaces` command prints out a deprecation notice to stderr. This breaks the completion
support for interfaces, connect and disconnect commands like so:

```
$ snap connect <TAB>error: no interfaces found
error: no interfaces found

...
'snap interfaces' is deprecated; use 'snap connections'.

'snap interfaces' is deprecated; use 'snap connections'.

'snap interfaces' is deprecated; use 'snap connections'.
error: no interfaces found
error: no interfaces found

'snap interfaces' is deprecated; use 'snap connections'.
```

Ultimately, the snap command completion should switch to `snap connections`. However, for now try to
workaround the notice by redirecting stderr.

Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
2020-06-14 19:22:37 +02:00
Shun Sakai
991389603c Add completions for xxHash 2020-06-14 19:22:01 +02:00
Lennard Hofmann
1b90be57f2 Add foot to update_cwd_osc
See https://codeberg.org/dnkl/foot
2020-06-09 12:49:33 -07:00
Fabian Homborg
a4a4a2e1b6 __fish_print_packages: Fix apt
On my system this printed just "Description:" without any additional
characters, so this awkward `sed` didn't match and produced *all
packages on one line*.

Tbh this should probably be rewritten, but first we'd have to find a
way to get proper output here.
2020-06-08 18:32:52 +02:00
Fabian Homborg
983f9eaa50 completions/apt: Let autoremove take packages
Fixes #7095

[ci skip]
2020-06-08 17:43:23 +02:00
Gokul
413a6aec98 Add completions for create_ap 2020-06-08 16:57:57 +02:00
Fabian Homborg
0846fc8181 Manparser: Also replace \(cq escapes in the non-Deroff manparser
I'm not entirely sure why we have multiple parsers here, but I'm
guessing there's a reason.

Fixes #7086.
2020-06-06 16:23:43 +02:00
Fabian Homborg
e646285bcb
Let __fish_prepend_sudo use the last commandline if there is no current one (#7079)
* docs/faq: Mention prepend_sudo

[ci skip]

* __fish_prepend_sudo: Use $history[1] if commandline is empty

Currently, if you press alt+s with an empty commandline, it inserts
"sudo", which seems fairly useless.

Now, it inserts "sudo " followed by the last history entry, which
makes it a replacement for `sudo !!`.

* docs
2020-06-04 18:25:02 +02:00
Charles Gould
3692d63188 completions: shorten fzf descriptions 2020-06-04 18:24:11 +02:00
Charles Gould
0f4ed5b6b8 completions: shorten base64 descriptions 2020-06-04 18:24:11 +02:00
Charles Gould
fd2eb26ee3 completions: fix typo for mktemp 2020-06-04 18:24:11 +02:00
Alexander Sieg
af2d19bde0
completions: add hikari completion (#7083)
* completions: add hikari completion

* requested changes by code reviewer
2020-06-04 18:22:25 +02:00
Fabian Homborg
0064279905 Don't show greetings in read in scripts
This reverts commit 1b0ec21773.

"Interactive" has multiple meanings here, one of them being "the whole shell" is interactive, which `status is-interactive` tests, and one "this interaction is interactive", which happens when `read`ing in a script.

Fixes #7080.
2020-06-04 17:00:09 +02:00
Jason
4dff15b74e
kdeconnect-cli completions: ignore stderror (#7074)
* kdeconnect-cli completions: ignore error messages

* squash this please
2020-06-03 16:12:52 +02:00
Fabian Homborg
f25f15fd69 completions: Fix leftover "^" redirections 2020-06-02 21:43:32 +02:00
Jason
fd7bb14cf2
completions: update xrandr (#7065)
* completions: update xrandr

Adds new options from new version of xrandr

* xrandr: remove version checks
2020-05-30 12:11:26 +02:00
Fabian Homborg
1f434cfde8 fish_config: Don't mention python 2
See #6537.

[ci skip]
2020-05-30 12:10:24 +02:00
Jason Nader
b4ca4245c6 gpg completions: add export SSH command 2020-05-30 10:10:07 +02:00
Charles Gould
dcf4d671c2 completions: fish_add_path 2020-05-30 10:09:21 +02:00
Fabian Homborg
4785440f65
Add an "_" builtin to call into gettext (#7036)
* Add an "_" builtin to call into gettext

We already have gettext in C++ (if available), so it seems weird to
fork off a command to start it from script.

This is only for fish's own translations. There's no way to call into
other catalogs, it just translates all arguments separately.

This is faster by a factor of ~1000, which allows us to call
translations much more, especially from scripts.

E.g. making fish_greeting global by default would hurt cost-wise,
given that my fish starts up in 8ms and just calling the current `_`
function takes 2ms, and that would have two calls.

Incidentally, this also makes us rely on a weirdly defined function
less, so it:
Fixes #6804.

* docs: Add `_` docs

Let's see if that filename works out.

* Reword _ docs
2020-05-29 20:53:44 +02:00
Fabian Homborg
9354dd6971 Add fish_add_path, a simple way to add to $PATH
This is a function you can either execute once, interactively, or
stick in config.fish, and it will do the right thing.

Some options are included to choose some slightly different behavior,
like setting $PATH directly instead of $fish_user_paths, or moving
already existing components to the front/back instead of ignoring
them, or appending new components instead of prepending them.

The defaults were chosen because they are the most safe, and
especially because they allow it to be idempotent - running it again
and again and again won't change anything, it won't even run the
actual `set` because it skips that if all components are already in.

Fixes #6960.
2020-05-29 20:51:05 +02:00
Fabian Homborg
ba116f1d3b fish_git_prompt: Count untracked files from the repository root
We already do this for the non-informative (non-counting) version.

Fixes #6086.
2020-05-28 20:49:48 +02:00
Jason
4e5220a4e1 gpg completions: add new option 2020-05-28 17:43:49 +02:00
Jason
f041daecc6 completions: update python3 2020-05-28 17:42:00 +02:00
Jason
bb7eb33b22 Fix typo 2020-05-28 17:41:01 +02:00
Jason
dc4ca005f8 gpg completions: complete key id for --edit-key
More useful than just user id since can have multiple keys per user.
2020-05-28 17:40:24 +02:00
Donovan
bc2eb383d4
Funcsave with --directory option (#7041)
* funcsave: add option --directory

Signed-off-by: Donovan Jean <commit@dkrm.dev>

* funcsave: fix synopsis

Signed-off-by: Donovan Jean <commit@dkrm.dev>

* funcsave: fix completion

Signed-off-by: Donovan Jean <commit@dkrm.dev>

* funcsave: fix error message

Signed-off-by: Donovan Jean <commit@dkrm.dev>

* funcsave: fix parameter expansion

Signed-off-by: Donovan Jean <commit@dkrm.dev>
2020-05-27 20:13:44 +02:00
Jason
fb57a98aef Shorten python3 completion descriptions 2020-05-27 20:12:48 +02:00
Fabian Homborg
46068cd257 completions/unzip: Stop filtering suffixes
It's unhelpful quite often.

See #7040.
2020-05-27 19:35:17 +02:00
Mahmoud Al-Qudsi
2d52335fed Don't fire fish_prompt when read is used
Apart from being semantically incorrect, this was causing `fish_prompt`
to fire twice after commands that used `read` (e.g. `cdh`).

Closes #7039.
2020-05-26 15:24:31 -05:00
Johannes Altmanninger
e885a65754 fish_greeting: highlight "help" in in green, like it used to be
This was changed in b9d2e4d with no obvious motivation, and the
translation strings still have the old version.
2020-05-25 23:50:30 +02:00
Cherichy
f32777a0cc check for both wsl1 and wsl2 2020-05-25 13:05:13 +08:00
Cherichy
b34d9bcc97 fix is_wsl() on wsl2
on wsl2 the /proc/version contains no Microsoft as wsl1 do.
2020-05-25 13:05:13 +08:00
Jason Nader
65dde5b55a Fallback to the slower --list-devices if device not immediately available 2020-05-24 20:19:19 +02:00
Jason Nader
68a1f2b20a completions: speed up kdeconnect-cli device discovery 2020-05-24 20:19:19 +02:00
Jason
7b9119cc9a fish_vcs_prompt: allow argv passthrough
fish_git_prompt encloses its output in brackets, however this can be changed by supplying a format string to it, i.e. `fish_git_prompt %s`.
However when using `fish_vcs_prompt` there's no way to pass on the arg to fish_git_prompt, so you need to manually remove it.
fish_hg_prompt doesn't have the same format string support as fish_git_prompt, but I suppose it could be added later if needed.
2020-05-24 20:18:06 +02:00
Fabian Homborg
18a4ae3fd1 fish_greeting: Add second line unconditionally
For some reason we checked __fish_initialized *after confirming* that
$fish_greeting was empty?

See #7016.
2020-05-23 18:54:43 +02:00
Fabian Homborg
a40a35cc52 Put all the ls logic into the function
Doing it when sourcing isn't necessary or all that great.

Just make it an actual normal function file.
2020-05-23 14:30:00 +02:00
Fabian Homborg
928e80ad6a Extract setting $LS_COLORS to its own function
Makes it easier to override ls while keeping $LS_COLORS.
2020-05-23 14:30:00 +02:00
Johannes Altmanninger
a9b60d2493 Call fish_prompt after background job finishes
We don't need to call it if a job was stopped, because in that case
read_i() will fire fish_prompt already, because the newly stopped job
was probably a foreground job.

Fixes #1018
2020-05-22 21:24:59 +02:00