Commit graph

19314 commits

Author SHA1 Message Date
EmilyGraceSeville7cf
b16ce7bc11 feat(completion): support termux-tts-speak command 2024-09-17 01:43:11 +10:00
EmilyGraceSeville7cf
9cfede2f81 feat(completion): support termux-torch command 2024-09-17 01:28:53 +10:00
EmilyGraceSeville7cf
4606153aa7 feat(completion): support termux-toast command 2024-09-17 01:25:47 +10:00
EmilyGraceSeville7cf
45efb05a67 feat(completion): support termux-telephony-call command 2024-09-17 01:06:06 +10:00
EmilyGraceSeville7cf
6a7f648946 feat(completion): support termux-sms-send command 2024-09-17 01:02:01 +10:00
EmilyGraceSeville7cf
603f4b23a9 feat(completion): support termux-sms-list command 2024-09-17 00:24:22 +10:00
EmilyGraceSeville7cf
4c7e9b81ec feat(completion): support termux-share command 2024-09-16 01:20:09 +10:00
EmilyGraceSeville7cf
4235e212de fish(completion): support termux-sensor command 2024-09-16 00:55:21 +10:00
EmilyGraceSeville7cf
86e11ac844 feat(completion): support termux-notification-remove command 2024-09-15 23:57:32 +10:00
EmilyGraceSeville7cf
39b5759bb0 feat(completion): move function to functions/* 2024-09-15 23:54:30 +10:00
EmilyGraceSeville7cf
d7869fa42d feat(completion): support termux-notification command 2024-09-15 23:50:28 +10:00
EmilyGraceSeville7cf
0b6f671094 feat(completion): support termux-microphone-record command 2024-09-15 22:19:02 +10:00
EmilyGraceSeville7cf
585e6e33f8 fix(completion): place -x flag correctly 2024-09-15 22:06:15 +10:00
EmilyGraceSeville7cf
c68c9ae281 fix(completion): typo 2024-09-15 22:01:07 +10:00
EmilyGraceSeville7cf
1add358d3a fish(completion): support termux-job-scheduler command 2024-09-15 22:00:36 +10:00
EmilyGraceSeville7cf
8dec523819 feat(completion): support termux-infrared-transmit command 2024-09-15 21:17:02 +10:00
EmilyGraceSeville7cf
68324235db fix(completion): file completion 2024-09-15 21:14:22 +10:00
EmilyGraceSeville7cf
673fe671d3 fix(completions): simplify code for date 2024-09-15 09:24:51 +10:00
EmilyGraceSeville7cf
47dcc16e35 fix(completion): don't split date format on spaces 2024-09-15 09:13:04 +10:00
EmilyGraceSeville7cf
05706a86df feat(completion): support termux-media-scan command 2024-09-15 09:06:26 +10:00
EmilyGraceSeville7cf
8729f94fb3 feat(completion): support termux-media-player command 2024-09-15 09:03:15 +10:00
EmilyGraceSeville7cf
0f1e330534 feat(completion): support termux-location command 2024-09-15 08:53:28 +10:00
EmilyGraceSeville7cf
81cdeeab68 fix(completion): disable file completion 2024-09-15 08:47:30 +10:00
EmilyGraceSeville7cf
b73ba4ffe3 feat(completion): add termux-dialog support 2024-09-15 08:46:54 +10:00
EmilyGraceSeville7cf
0dadada3a0 feat(completion): support termux-camera-photo command 2024-09-15 08:07:46 +10:00
EmilyGraceSeville7cf
ca613ee7b0 feat(completion): support termux-call-log command 2024-09-15 07:50:43 +10:00
Johannes Altmanninger
1e2368f609 Fix off-by-one-error parsing \e\e prefixed sequences
Closes #10721
2024-09-14 22:56:37 +02:00
Rebecca Turner
a6c8cd6e85 Fix man completions on macOS with symlinked manpath
When `manpath` prints a symlink to a directory, `/usr/libexec/makewhatis`
ignores the entire directory:

```
$ /usr/libexec/makewhatis -o /tmp/whatis \
    (/usr/bin/manpath | string split :)
makewhatis: /Users/wiggles/.nix-profile/share/man: Not a directory
```

This means that the built-in `man` completions will not index any commands in
these directories.

If we pass the directories to `readlink -f` first, `makewhatis` correctly
indexes the `man` pages.

```
$ /usr/libexec/makewhatis -o /tmp/whatis \
    (/usr/bin/manpath | string split : | xargs readlink -f)
```
2024-09-14 13:38:33 -07:00
Kerim
bc55945072 improved vi keybind 2024-09-14 13:33:21 -07:00
Peter Ammon
8f3a034264
History to store old item offsets in Vec and not VecDeque
We used deque in C++ because this vector may be large, and so it avoids
repeated re-allocations. But VecDeque is different in Rust - it's contiguous -
so there's no benefit. Just use Vec.
2024-09-14 13:26:34 -07:00
Peter Ammon
7ac62bbca4
Remove a redundant "unsafe" specifier 2024-09-14 13:15:21 -07:00
mattmc3
0a1bf01574 docs: Update synopsis for 'set' 2024-09-14 10:29:44 +02:00
Johannes Altmanninger
5432ee1aa9 Relax history autosuggestion and highlighting if cd is wrapped
For implementation reasons, we special-case cd in several ways
1. it gets different completions (handle_as_special_cd)
2. when highlighting, we honor CDPATH
3. we discard autosuggestions from history that don't have valid path arguments

There are some third-party tools like zoxide that redefine cd ("function cd
--wraps ...; ...; end"). We can't support this in general but let's try to
make an effort.

zoxide tries to be a superset of cd, so special case 1 is still
valid but 2 and 3 are not, because zoxide accepts some paths
that cd doesn't accept.

Let's add a hack to detect when "cd" actually means something else by checking
if there is any --wraps argument.

A cleaner solution is definitely possible but more effort.

Closes #10719
2024-09-14 08:51:42 +02:00
Johannes Altmanninger
5b04f221a3 __fish_anypager: remove bat from default choice
As pointed out in
b83f3b0e98 (commitcomment-146189480)
bat is not actually useful. Also its (monochrome) output is unreadable on
my system.
2024-09-14 07:21:56 +02:00
Johannes Altmanninger
9eeed5ca12 Install fish-* man pages in default MANPATH
fish adds ~/.local/share/fish/man to its MANPATH for builtins etc.  But pages
like fish-doc are unambiguous so it seems like they should be accessible
from outside fish by default.

Closes #10711
2024-09-14 07:21:18 +02:00
Johannes Altmanninger
5ad7ab7b01 Clear some env variables in test env setup 2024-09-14 07:21:18 +02:00
Harmen
fc4dd8f4de docs: fix "theme choose None" command
The command needs an upper-case "None", not a lower case.
2024-09-13 12:21:34 +02:00
Theodor Tonum
5344576dc6 fix: pacman quiet typo 2024-09-13 09:59:56 +02:00
Kaley Main
a979b6341d Create a test that reproduces fish-shell/fish-shell#10703 2024-09-06 16:41:10 +02:00
Johannes Altmanninger
f8a720da8c Fix wildcard expansion doubling up "*/"
In some cases we add the wildcard twice.

    $ fish -c '../jj; complete -C"ls cli/*/conf/tem"'
    cli/*/*/config/templates.toml

Fix that. Test in the next commit.

There seems to be another bug in 3.7.1 where we fail to apply this completion
to the command line. This appears fixed. (FWIW we might want to revert
the quoting change in completion_apply_to_command_line(), maybe that one
accidentally fix this).

Fixes #10703
2024-09-06 16:41:10 +02:00
Fabian Boehm
325b51aca0 docs/set: Fix markup
Fixes #10697
2024-09-05 19:30:38 +02:00
Abel Chalier
65ab9e7bfc clearer wording on test.fish completions 2024-09-05 17:33:24 +02:00
may
79a9c0e0f2
add completions for git diff --color-moved and --color-moved-ws (#10698) 2024-09-03 18:00:17 -05:00
Johannes Altmanninger
77b2dcb462 Fix ctrl-c being ignored during builtin wait
Same as d21ed0fb2 (Disable terminal protocols before expanding wildcards,
2024-07-31).

Also mention a related issue in the changelog.
2024-09-01 14:08:01 +02:00
Johannes Altmanninger
15b08cbcab Make import style less noisy 2024-09-01 14:05:48 +02:00
Mahmoud Al-Qudsi
50a6dfd10d Replace a HashMap w/ a BTreeMap
The HashMap is used to generate the __fish_describe_command integration
completions. Given the nature of the allocations and the numbers that we use, a
BTreeMap would theoretically perform better. Benchmarks show a 2-9%
improvement in completion times consistently in favor of BTreeMap.
2024-08-31 14:13:41 -05:00
Mahmoud Al-Qudsi
73908f1218 fish_test_helper: Fix warnings about intentionally unused results
Warnings were appearing under GCC 13.2

(void) alone is insufficient under modern compilers, workaround with logical
negation taken from GCC bug tracker.
2024-08-31 13:16:51 -05:00
Mahmoud Al-Qudsi
ef6577db25 Update threads::thread_id() documentation 2024-08-31 12:57:13 -05:00
Mahmoud Al-Qudsi
c6bbacc703 Catch tls issues caused by linker bug
Worth including because mold is rather popular in the rust world and because the
bug affects mold versions coincident with the development of the fish rust port.

The bug affects all currently released versions of mold from 2.30.0 (Mar 2024)
onwards under at least FreeBSD (though quite likely other platforms as well).

See https://github.com/rui314/mold/issues/1338 for reference.
2024-08-31 12:48:15 -05:00
Fabian Boehm
c1d9f57107 CHANGELOG 2024-08-30 21:30:05 +02:00