mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-09 17:01:16 -03:00
Compare commits
435 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d0593b9b2b | ||
|
|
eaa6149b87 | ||
|
|
0e960b77d3 | ||
|
|
8ddbf85768 | ||
|
|
c5bcd3cc95 | ||
|
|
a3eea4325e | ||
|
|
66bc6ce77d | ||
|
|
49bac252f6 | ||
|
|
aae3a78934 | ||
|
|
85a900055d | ||
|
|
48c1550f61 | ||
|
|
565a7e4bc5 | ||
|
|
392e48d242 | ||
|
|
7c2dd694e0 | ||
|
|
be0b451207 | ||
|
|
016569905e | ||
|
|
caf1bbfc97 | ||
|
|
cc54917efa | ||
|
|
85522036f5 | ||
|
|
3b4c71c546 | ||
|
|
4a3df618f2 | ||
|
|
ece88ca2d2 | ||
|
|
8787179a40 | ||
|
|
6c88c7d200 | ||
|
|
73b13315de | ||
|
|
48426d6285 | ||
|
|
b8767cc803 | ||
|
|
a5e665cd81 | ||
|
|
feec10f389 | ||
|
|
0abbd2bc2f | ||
|
|
15fdfb5afe | ||
|
|
c9f397b968 | ||
|
|
7d5c64a731 | ||
|
|
701b7450df | ||
|
|
f0de75ddd9 | ||
|
|
585dc16a66 | ||
|
|
2bc8057780 | ||
|
|
4908f9bb40 | ||
|
|
1c20bdcbf9 | ||
|
|
ba2e7db7e8 | ||
|
|
9e46d49dd9 | ||
|
|
e571902a85 | ||
|
|
f6a6537f7b | ||
|
|
f073bf59a8 | ||
|
|
7059eaa4ab | ||
|
|
d2b210ee15 | ||
|
|
95103893e6 | ||
|
|
695027234b | ||
|
|
71b9463165 | ||
|
|
b0b8cb0129 | ||
|
|
f90577ddf6 | ||
|
|
a9b4ad4b9f | ||
|
|
7aefaff298 | ||
|
|
775c5f01b4 | ||
|
|
046db09f90 | ||
|
|
e57c998d4c | ||
|
|
48acd316c8 | ||
|
|
7a5e192607 | ||
|
|
c2b35d3171 | ||
|
|
64bbc8b304 | ||
|
|
606a8a7a1a | ||
|
|
155160e49b | ||
|
|
1fc6f77378 | ||
|
|
a17f7468b7 | ||
|
|
44a6795ead | ||
|
|
5f4dfd9951 | ||
|
|
46208ff276 | ||
|
|
4e718506e3 | ||
|
|
c18c7a4ce4 | ||
|
|
6ca9f9ee38 | ||
|
|
a633889244 | ||
|
|
344bd63e0b | ||
|
|
850419d127 | ||
|
|
1fed36d005 | ||
|
|
843c9383aa | ||
|
|
bc00188ca8 | ||
|
|
553ce7a006 | ||
|
|
884768dded | ||
|
|
8e51123574 | ||
|
|
ad38730792 | ||
|
|
3ddb5a2bdc | ||
|
|
83a11dda3f | ||
|
|
c5ec4ef5f9 | ||
|
|
e74b9d53df | ||
|
|
50c851d10e | ||
|
|
50e63d4c04 | ||
|
|
b3da0bd5a2 | ||
|
|
8a86d3452f | ||
|
|
eed2173860 | ||
|
|
470258ffd1 | ||
|
|
21f5032a55 | ||
|
|
b5d48acd7c | ||
|
|
cfc8d14a8d | ||
|
|
21cb791557 | ||
|
|
0e771590e6 | ||
|
|
671d820277 | ||
|
|
7511de8d8d | ||
|
|
34ededa644 | ||
|
|
9820307d23 | ||
|
|
73998b81b4 | ||
|
|
08950b1077 | ||
|
|
33f3c03dae | ||
|
|
f3d78e21d1 | ||
|
|
f2448e3f0e | ||
|
|
2b0b0fe042 | ||
|
|
35f77a5473 | ||
|
|
fe4eaba563 | ||
|
|
e81b3e06c5 | ||
|
|
9d696ba7d2 | ||
|
|
9928404920 | ||
|
|
7123e2f25d | ||
|
|
fac8f14e07 | ||
|
|
504a969a24 | ||
|
|
406bc6a5d6 | ||
|
|
3a0faa4dfd | ||
|
|
d5a30ed103 | ||
|
|
08a455d4f1 | ||
|
|
0991e0b27f | ||
|
|
a09125897e | ||
|
|
63dd046f99 | ||
|
|
5743a536b0 | ||
|
|
68bd3988d4 | ||
|
|
c19a6e912d | ||
|
|
e19ccc8a7a | ||
|
|
4b2bce7b83 | ||
|
|
25595a94c7 | ||
|
|
0660ea5be7 | ||
|
|
d3ceba107e | ||
|
|
c0b33774ca | ||
|
|
6d00ad1045 | ||
|
|
60d75e9aa0 | ||
|
|
962b0f8b90 | ||
|
|
82fd8fe9fb | ||
|
|
b63b511b0a | ||
|
|
a427bf207a | ||
|
|
31f3c16857 | ||
|
|
c38f4980f9 | ||
|
|
af84c35282 | ||
|
|
e10cab8104 | ||
|
|
e714ce238e | ||
|
|
63ee28c1de | ||
|
|
5de63c9cbb | ||
|
|
632e150152 | ||
|
|
d15a51897d | ||
|
|
2cfb4343ed | ||
|
|
3ac2242c68 | ||
|
|
aeabc76b2e | ||
|
|
6bae9ebe62 | ||
|
|
240fb9fd45 | ||
|
|
678fa2e6a9 | ||
|
|
127eaded96 | ||
|
|
9fd69acd1a | ||
|
|
dbc6bffe3c | ||
|
|
786b0463b6 | ||
|
|
04535e9701 | ||
|
|
91a4059a8f | ||
|
|
71df8f8622 | ||
|
|
ba33b6dcc8 | ||
|
|
083f2698f9 | ||
|
|
8d06357fbb | ||
|
|
e2a1b25a24 | ||
|
|
16ba45fe64 | ||
|
|
fa7402c415 | ||
|
|
0d8cb0125a | ||
|
|
6ab7945623 | ||
|
|
c8d909b2b2 | ||
|
|
1af441b4cc | ||
|
|
d1fd3d5825 | ||
|
|
541e1d2fad | ||
|
|
f85f6a0127 | ||
|
|
8c19b6105f | ||
|
|
40704ba7a2 | ||
|
|
aa02cbd090 | ||
|
|
d1befee19e | ||
|
|
c1f97c20b5 | ||
|
|
37356fed44 | ||
|
|
aa84a4ba30 | ||
|
|
555af37616 | ||
|
|
3f35012afb | ||
|
|
f25b9f9831 | ||
|
|
fa74dc977b | ||
|
|
889ff25c75 | ||
|
|
d338c45205 | ||
|
|
b823b91bcd | ||
|
|
f0f10618df | ||
|
|
e0bf23ad26 | ||
|
|
7c5b8b8556 | ||
|
|
3a093e3ce8 | ||
|
|
8344289fac | ||
|
|
c435d8b9b3 | ||
|
|
d00576c9ea | ||
|
|
d5f9fc84dc | ||
|
|
1e13c60059 | ||
|
|
0631bc509b | ||
|
|
735105e33f | ||
|
|
8317b8bb8a | ||
|
|
ae561c3702 | ||
|
|
d8c3d667d7 | ||
|
|
0c79a8d3af | ||
|
|
202e5e53d5 | ||
|
|
28b17879c7 | ||
|
|
c30a7cdfde | ||
|
|
b56b230076 | ||
|
|
c55aa48308 | ||
|
|
4728d1772f | ||
|
|
b16e537b66 | ||
|
|
4fd8673772 | ||
|
|
1908cf95de | ||
|
|
2416aa5337 | ||
|
|
0420901cb2 | ||
|
|
5ddb1adac1 | ||
|
|
848f7a0787 | ||
|
|
980365735a | ||
|
|
52f56e2119 | ||
|
|
b3926aca63 | ||
|
|
2b74affaf0 | ||
|
|
e548dca686 | ||
|
|
daa3ae4be1 | ||
|
|
2e9dab71a3 | ||
|
|
c25efeed7a | ||
|
|
f485169391 | ||
|
|
2cea5b8eb1 | ||
|
|
f768389cf7 | ||
|
|
7735d13d79 | ||
|
|
8cd5f6cfde | ||
|
|
9d7f6db792 | ||
|
|
15e265f209 | ||
|
|
6aade380c1 | ||
|
|
58885fbd0b | ||
|
|
981a07d4c7 | ||
|
|
3cccb77b52 | ||
|
|
fc0dd49842 | ||
|
|
2095d744cf | ||
|
|
4e41a2bc9f | ||
|
|
281817f2c5 | ||
|
|
42d674819f | ||
|
|
9d66ddc840 | ||
|
|
da97daa800 | ||
|
|
539837f317 | ||
|
|
f1ece78b67 | ||
|
|
ed64cf5e34 | ||
|
|
0a559ac457 | ||
|
|
f21e015f1b | ||
|
|
152b0ef018 | ||
|
|
f2364103b4 | ||
|
|
4355636386 | ||
|
|
2fff12104d | ||
|
|
f4bcfd9085 | ||
|
|
abd59c50b0 | ||
|
|
8e95bba25e | ||
|
|
9c413b039d | ||
|
|
dc57ba01a2 | ||
|
|
c95a223f5e | ||
|
|
04f1254c94 | ||
|
|
e8a6d31aea | ||
|
|
1aa8200b96 | ||
|
|
092168485b | ||
|
|
2fb0a703de | ||
|
|
0111eafbbc | ||
|
|
6b41227ff4 | ||
|
|
f99127a158 | ||
|
|
7a556ec6f2 | ||
|
|
f7cef13b9b | ||
|
|
467755bf4a | ||
|
|
7c153a8307 | ||
|
|
3684c91ad2 | ||
|
|
939aba02de | ||
|
|
78147abe8a | ||
|
|
060ce4f7da | ||
|
|
bd72791340 | ||
|
|
c570a14c04 | ||
|
|
e8a61ef4aa | ||
|
|
0dd24c8f74 | ||
|
|
48b42c0255 | ||
|
|
3b32a32dda | ||
|
|
be9579418f | ||
|
|
e299f89db3 | ||
|
|
db0fe92aaa | ||
|
|
75142f0cde | ||
|
|
d96a2e7052 | ||
|
|
b3c520cc47 | ||
|
|
4bcecc8983 | ||
|
|
d9b212f60b | ||
|
|
8bc7a85a69 | ||
|
|
42c11f1b6c | ||
|
|
5a53ead240 | ||
|
|
3b87547411 | ||
|
|
5e66722452 | ||
|
|
4688a84398 | ||
|
|
9b85254717 | ||
|
|
975cd13108 | ||
|
|
fff158fd2b | ||
|
|
9850f8d18a | ||
|
|
84087f09d4 | ||
|
|
7eddf48cfa | ||
|
|
333032f626 | ||
|
|
ef96a6614b | ||
|
|
9db846a5a7 | ||
|
|
56af5d0702 | ||
|
|
8bbb06bf5c | ||
|
|
5750351210 | ||
|
|
4fa17bd512 | ||
|
|
573fed7798 | ||
|
|
71166274a2 | ||
|
|
a65933551d | ||
|
|
db7278bac6 | ||
|
|
80b2eb94f1 | ||
|
|
3e473b9f37 | ||
|
|
a918cabf5e | ||
|
|
2e44076397 | ||
|
|
053acf5c6b | ||
|
|
d31d7e4880 | ||
|
|
7210261513 | ||
|
|
3100cd1bb7 | ||
|
|
bc4d597e91 | ||
|
|
16d4424f6c | ||
|
|
e2146a0eee | ||
|
|
4239ba133d | ||
|
|
d4ce5507af | ||
|
|
34d4afac99 | ||
|
|
db9ac527af | ||
|
|
635a2c13f1 | ||
|
|
2bc2a92c9a | ||
|
|
31f86ed2cf | ||
|
|
0a395b9568 | ||
|
|
0586715696 | ||
|
|
783736c77f | ||
|
|
fd184cb4ea | ||
|
|
a1f55b1b73 | ||
|
|
0efa471339 | ||
|
|
32438faf86 | ||
|
|
b05275cedc | ||
|
|
89eeafe393 | ||
|
|
ed51e2baac | ||
|
|
a69e94d954 | ||
|
|
73ec89917a | ||
|
|
36ad116b34 | ||
|
|
13439b399e | ||
|
|
19004642ba | ||
|
|
b9b2010342 | ||
|
|
0e03e49eb9 | ||
|
|
85e3381480 | ||
|
|
ed5e5a9d49 | ||
|
|
e19a2f9f85 | ||
|
|
16bc170126 | ||
|
|
e56d8a8e5e | ||
|
|
419675b9e5 | ||
|
|
f1d3e7a0db | ||
|
|
b5a5d98f80 | ||
|
|
dbd608cb6a | ||
|
|
0c03a0267f | ||
|
|
f46444f106 | ||
|
|
85ffa77b4e | ||
|
|
f9e95e5f5b | ||
|
|
f75cf5c16b | ||
|
|
93ce805f32 | ||
|
|
ed9268f99c | ||
|
|
d5cba5fe12 | ||
|
|
18e332772d | ||
|
|
da2f7999ad | ||
|
|
fd4803ac6a | ||
|
|
70813eb878 | ||
|
|
312cfacf71 | ||
|
|
e1d19cf571 | ||
|
|
f1c93a99f9 | ||
|
|
0f0995cad0 | ||
|
|
0aec597a36 | ||
|
|
48868e5667 | ||
|
|
fb92ad946b | ||
|
|
e0e4b11dbd | ||
|
|
0b06a0ee07 | ||
|
|
6c46ea0ed2 | ||
|
|
abc66511f5 | ||
|
|
05d8907071 | ||
|
|
a68791fa89 | ||
|
|
c762c62464 | ||
|
|
a5ea8570ae | ||
|
|
4e4852c40a | ||
|
|
e7abb52526 | ||
|
|
3f08fb9f9e | ||
|
|
2a22a2e4e4 | ||
|
|
b44f40547b | ||
|
|
694e112a9b | ||
|
|
eb71e4555f | ||
|
|
0048730a67 | ||
|
|
df53d1415d | ||
|
|
50398ea9f5 | ||
|
|
b5823ac5e1 | ||
|
|
93eaa61294 | ||
|
|
1705bd1440 | ||
|
|
61b94fe093 | ||
|
|
b9a68e9e86 | ||
|
|
fb7c8c4064 | ||
|
|
3255999794 | ||
|
|
75a4e28e4f | ||
|
|
c8c641dd63 | ||
|
|
c1fe5be0ce | ||
|
|
58177ba091 | ||
|
|
8e6cfa1311 | ||
|
|
163f42ac62 | ||
|
|
cbd8f5f63e | ||
|
|
dc417f58ae | ||
|
|
4f00ccfd16 | ||
|
|
cd1f0cc5d5 | ||
|
|
620344b076 | ||
|
|
bcbfd70d41 | ||
|
|
76af09a507 | ||
|
|
a0f05b376e | ||
|
|
0f3274d5eb | ||
|
|
c55865f76e | ||
|
|
7f7cfcf339 | ||
|
|
66a873ad23 | ||
|
|
8d54d2b60e | ||
|
|
cf35431af9 | ||
|
|
6e1b324343 | ||
|
|
a7c37e4af4 | ||
|
|
43cc99e1ba | ||
|
|
1b950f5f3b | ||
|
|
206543c55b | ||
|
|
508044bce1 | ||
|
|
516a70d9cb | ||
|
|
1018cb2a81 | ||
|
|
e4fd664bbb | ||
|
|
95dc821a44 | ||
|
|
56135a3231 | ||
|
|
e4eaca1032 | ||
|
|
dcc1659266 | ||
|
|
7fea321b3e | ||
|
|
211f8bc894 | ||
|
|
5eadee61c5 | ||
|
|
d79f864072 | ||
|
|
02699d1acc | ||
|
|
c2eef7c250 | ||
|
|
7b53547dcd | ||
|
|
23f613723f |
@@ -7,7 +7,7 @@ packages:
|
||||
- gmake
|
||||
- pcre2
|
||||
- python
|
||||
- py37-pexpect
|
||||
- py38-pexpect
|
||||
sources:
|
||||
- https://git.sr.ht/~faho/fish
|
||||
tasks:
|
||||
|
||||
19
.github/workflows/main.yml
vendored
19
.github/workflows/main.yml
vendored
@@ -1,10 +1,6 @@
|
||||
name: C/C++ CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
ubuntu:
|
||||
@@ -15,7 +11,7 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip
|
||||
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux
|
||||
sudo pip3 install pexpect
|
||||
- name: cmake
|
||||
env:
|
||||
@@ -40,7 +36,7 @@ jobs:
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install gettext lib32ncurses5-dev python3-pip g++-multilib
|
||||
sudo apt install gettext lib32ncurses5-dev python3-pip g++-multilib tmux
|
||||
sudo pip3 install pexpect
|
||||
- name: cmake
|
||||
env:
|
||||
@@ -48,7 +44,7 @@ jobs:
|
||||
CFLAGS: "-m32"
|
||||
run: |
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
cmake -DFISH_USE_SYSTEM_PCRE2=OFF ..
|
||||
- name: make
|
||||
run: |
|
||||
make
|
||||
@@ -64,7 +60,7 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip
|
||||
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux
|
||||
sudo pip3 install pexpect
|
||||
- name: cmake
|
||||
env:
|
||||
@@ -72,7 +68,7 @@ jobs:
|
||||
CXX: clang++
|
||||
CXXFLAGS: "-fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address"
|
||||
ASAN_OPTIONS: check_initialization_order=1:detect_stack_use_after_return=1:detect_leaks=1
|
||||
UBSAN_OPTIONS: print_stacktrace=1:report_error_type=1:suppressions=$TRAVIS_BUILD_DIR/build_tools/ubsan.blacklist
|
||||
UBSAN_OPTIONS: print_stacktrace=1:report_error_type=1
|
||||
run: |
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
@@ -91,7 +87,7 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip
|
||||
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux
|
||||
sudo pip3 install pexpect
|
||||
- name: cmake
|
||||
env:
|
||||
@@ -117,6 +113,7 @@ jobs:
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo pip3 install pexpect
|
||||
brew install tmux
|
||||
- name: cmake
|
||||
run: |
|
||||
mkdir build && cd build
|
||||
|
||||
113
CHANGELOG.rst
113
CHANGELOG.rst
@@ -1,3 +1,114 @@
|
||||
fish 3.3.0 (released June 28, 2021)
|
||||
===================================
|
||||
|
||||
Notable improvements and fixes
|
||||
------------------------------
|
||||
- ``fish_config`` gained a ``prompt`` subcommand to show and pick from the sample prompts directly in the terminal, instead of having to open a webbrowser. For example ``fish_config prompt choose default`` loads the default prompt in the current session (:issue:`7958`).
|
||||
- The documentation has been reorganized to be easier to understand (:issue:`7773`).
|
||||
|
||||
Deprecations and removed features
|
||||
---------------------------------
|
||||
- The ``$fish_history`` value "default" is no longer special. It used to be treated the same as "fish" (:issue:`7650`).
|
||||
- Redirection to standard error with the ``^`` character has been disabled by default. It can be turned back on using the ``stderr-nocaret`` feature flag, but will eventually be disabled completely (:issue:`7105`).
|
||||
- Specifying an initial tab to ``fish_config`` now only works with ``fish_config browse`` (e.g. ``fish_config browse variables``), otherwise it would interfere with the new ``prompt`` subcommand (see below) (:issue:`7958`).
|
||||
|
||||
Scripting improvements
|
||||
----------------------
|
||||
- ``math`` gained new functions ``log2`` (like the documentation claimed), ``max`` and ``min`` (:issue:`7856`). ``math`` functions can be used without the parentheses (eg ``math sin 2 + 6``), and functions have the lowest precedence in the order of operations (:issue:`7877`).
|
||||
- Shebang (``#!``) lines are no longer required within shell scripts, improving support for scripts with concatenated binary contents. If a file fails to execute and passes a (rudimentary) binary safety check, fish will re-invoke it using ``/bin/sh`` (:issue:`7802`).
|
||||
- Exit codes are better aligned with bash. A failed execution now reports ``$status`` of 127 if the file is not found, and 126 if it is not executable.
|
||||
- ``echo`` no longer writes its output one byte at a time, improving performance and allowing use with Linux's special API files (``/proc``, ``/sys`` and such) (:issue:`7836`).
|
||||
- fish should now better handle ``cd`` on filesystems with broken ``stat(3)`` responses (:issue:`7577`).
|
||||
- Builtins now properly report a ``$status`` of 1 upon unsuccessful writes (:issue:`7857`).
|
||||
- ``string match`` with unmatched capture groups and without the ``--all`` flag now sets an empty variable instead of a variable containing the empty string. It also correctly imports the first match if multiple arguments are provided, matching the documentation. (:issue:`7938`).
|
||||
- fish produces more specific errors when a command in a command substitution wasn't found or is not allowed. This now prints something like "Unknown command" instead of "Unknown error while evaluating command substitution".
|
||||
- ``fish_indent`` allows inline variable assignments (``FOO=BAR command``) to use line continuation, instead of joining them into one line (:issue:`7955`).
|
||||
- fish gained a ``--no-config`` option to disable configuration files. This applies to user-specific and the systemwide ``config.fish`` (typically in ``/etc/fish/config.fish``), and configuration snippets (typically in ``conf.d`` directories). It also disables universal variables, history, and loading of functions from system or user configuration directories (:issue:`7921`, :issue:`1256`).
|
||||
- When universal variables are unavailable for some reason, setting a universal variable now sets a global variable instead (:issue:`7921`).
|
||||
- ``$last_pid`` now contains the process ID of the last process in the pipeline, allowing it to be used in scripts (:issue:`5036`, :issue:`5832`, :issue:`7721`). Previously, this value contained the process group ID, but in scripts this was the same as the running fish's process ID.
|
||||
- ``process-exit`` event handlers now receive the same value as ``$status`` in all cases, instead of receiving -1 when the exit was due to a signal.
|
||||
- ``process-exit`` event handlers for PID 0 also received ``JOB_EXIT`` events; this has been fixed.
|
||||
- ``job-exit`` event handlers may now be created with any of the PIDs from the job. The handler is passed the last PID in the job as its second argument, instead of the process group.
|
||||
- Trying to set an empty variable name with ``set`` no longer works (these variables could not be used in expansions anyway).
|
||||
- ``fish_add_path`` handles an undefined ``PATH`` environment variable correctly (:issue:`8082`).
|
||||
|
||||
Interactive improvements
|
||||
-------------------------
|
||||
- Commands entered before the previous command finishes will now be properly syntax highlighted.
|
||||
- fish now automatically creates ``config.fish`` and the configuration directories in ``$XDG_CONFIG_HOME/fish`` (by default ``~/.config/fish``) if they do not already exist (:issue:`7402`).
|
||||
- ``$SHLVL`` is no longer incremented in non-interactive shells. This means it won't be set to values larger than 1 just because your environment happens to run some scripts in $SHELL in its startup path (:issue:`7864`).
|
||||
- fish no longer rings the bell when flashing the command line. The flashing should already be enough notification and the bell can be annoying (:issue:`7875`).
|
||||
- ``fish --help`` is more helpful if the documentation isn't installed (:issue:`7824`).
|
||||
- ``funced`` won't include an entry on where a function is defined, thanks to the new ``functions --no-details`` option (:issue:`7879`).
|
||||
- A new variable, ``fish_killring``, containing entries from the killring, is now available (:issue:`7445`).
|
||||
- ``fish --private`` prints a note on private mode on startup even if ``$fish_greeting`` is an empty list (:issue:`7974`).
|
||||
- fish no longer attempts to lock history or universal variable files on remote filesystems, including NFS and Samba mounts. In rare cases, updates to these files may be dropped if separate fish instances modify them simultaneously. (:issue:`7968`).
|
||||
- ``wait`` and ``on-process-exit`` work correctly with jobs that have already exited (:issue:`7210`).
|
||||
- ``__fish_print_help`` (used for ``--help`` output for fish's builtins) now respects the ``LESS`` environment variable, and if not set, uses better default pager settings (:issue:`7997`).
|
||||
- Errors from ``alias`` are now printed to standard error, matching other builtins and functions (:issue:`7925`).
|
||||
- ``ls`` output is colorized on OpenBSD if colorls utility is installed (:issue:`8035`)
|
||||
- The default pager color looks better in terminals with light backgrounds (:issue:`3412`).
|
||||
- Further robustness improvements to the bash history import (:issue:`7874`).
|
||||
- fish now tries to find a Unicode-aware locale for encoding (``LC_CTYPE``) if started without any locale information, improving the display of emoji and other non-ASCII text on misconfigured systems (:issue:`8031`). To allow a C locale, set the variable ``fish_allow_singlebyte_locale`` to 1.
|
||||
- The Web-based configuration and documentation now feature a dark mode if the browser requests it (:issue:`8043`).
|
||||
- Color variables can now also be given like ``--background red`` and ``-b red``, not just ``--background=red`` (:issue:`8053`).
|
||||
- ``exit`` run within ``fish_prompt`` now exits properly (:issue:`8033`).
|
||||
- When attempting to execute the unsupported POSIX-style brace command group (``{ ... }``) fish will suggest its equivalent ``begin; ...; end`` commands (:issue:`6415`).
|
||||
|
||||
New or improved bindings
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
- Pasting in Vi mode puts text in the right place in normal mode (:issue:`7847`).
|
||||
- Vi mode's :kbd:`u` is bound to ``undo`` instead of ``history-search-backward``, following GNU readline's behavior. Similarly, :kbd:`Control-R` is bound to ``redo`` instead of ``history-search-backward``, following Vim (:issue:`7908`).
|
||||
- :kbd:`s` in Vi visual mode now does the same thing as :kbd:`c` (:issue:`8039`).
|
||||
- The binding for :kbd:`"*y` now uses ``fish_clipboard_copy``, allowing it to support more than just ``xsel``.
|
||||
- The :kbd:`Control-Space` binding can be correctly customised (:issue:`7922`).
|
||||
- ``exit`` works correctly in bindings (:issue:`7967`).
|
||||
- The :kbd:`F1` binding, which opens the manual page for the current command, now works around a bug in certain ``less`` versions that fail to clear the screen (:issue:`7863`).
|
||||
- The binding for :kbd:`Alt-S` now toggles whether ``sudo`` is prepended, even when it took the commandline from history instead of only adding it.
|
||||
- The new functions ``fish_commandline_prepend`` and ``fish_commandline_append`` allow toggling the presence of a prefix/suffix on the current commandline. (:issue:`7905`).
|
||||
- ``backward-kill-path-component`` :kbd:`Control-W`) no longer erases parts of two tokens when the cursor is positioned immediately after ``/``. (:issue:`6258`).
|
||||
|
||||
Improved prompts
|
||||
^^^^^^^^^^^^^^^^
|
||||
- The default Vi mode prompt now uses foreground instead of background colors, making it less obtrusive (:issue:`7880`).
|
||||
- Performance of the "informative" git prompt is improved somewhat (:issue:`7871`). This is still slower than the non-informative version by its very nature. In particular it is IO-bound, so it will be very slow on slow disks or network mounts.
|
||||
- The sample prompts were updated. Some duplicated prompts, like the various classic variants, or less useful ones, like the "justadollar" prompt were removed, some prompts were cleaned up, and in some cases renamed. A new "simple" and "disco" prompt were added (:issue:`7884`, :issue:`7897`, :issue:`7930`). The new prompts will only take effect when selected and existing installed prompts will remain unchanged.
|
||||
- A new ``prompt_login`` helper function to describe the kind of "login" (user, host and chroot status) for use in prompts. This replaces the old "debian chroot" prompt and has been added to the default and terlar prompts (:issue:`7932`).
|
||||
- The Web-based configuration's prompt picker now shows and installs right prompts (:issue:`7930`).
|
||||
- The git prompt now has the same symbol order in normal and "informative" mode, and it's customizable via ``$__fish_git_prompt_status_order`` (:issue:`7926`).
|
||||
|
||||
Completions
|
||||
^^^^^^^^^^^
|
||||
- Added completions for:
|
||||
|
||||
- ``firewall-cmd`` (:issue:`7900`)
|
||||
- ``sv`` (:issue:`8069`)
|
||||
|
||||
- Improvements to plenty of completions!
|
||||
- Commands that wrap ``cd`` (using ``complete --wraps cd``) get the same completions as ``cd`` (:issue:`4693`).
|
||||
- The ``--force-files`` option to ``complete`` works for bare arguments, not just options (:issue:`7920`).
|
||||
- Completion descriptions for functions don't include the function definition, making them more concise (:issue:`7911`).
|
||||
- The ``kill`` completions no longer error on MSYS2 (:issue:`8046`).
|
||||
- Completion scripts are now loaded when calling a command via a relative path (like ``./git``) (:issue:`6001`, :issue:`7992`).
|
||||
- When there are multiple completion candidates, fish inserts their shared prefix. This prefix was computed in a case-insensitive way, resulting in wrong case in the completion pager. This was fixed by only inserting prefixes with matching case (:issue:`7744`).
|
||||
|
||||
Improved terminal support
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
- fish no longer tries to detect a missing new line during startup, preventing an erroneous ``⏎`` from appearing if the terminal is resized at the wrong time, which can happen in tiling window managers (:issue:`7893`).
|
||||
- fish behaves better when it disagrees with the terminal on the width of characters. In particular, staircase effects with right prompts should be gone in most cases (:issue:`8011`).
|
||||
- If the prompt takes up the entire line, the last character should no longer be chopped off in certain terminals (:issue:`8002`).
|
||||
- fish's reflow handling has been disabled by default for kitty (:issue:`7961`).
|
||||
- The default prompt no longer produces errors when used with a dumb terminal (:issue:`7904`).
|
||||
- Terminal size variables are updated for window size change signal handlers (``SIGWINCH``).
|
||||
- Pasting within a multi-line command using a terminal that supports bracketed paste works correctly, instead of producing an error (:issue:`7782`).
|
||||
- ``set_color`` produces an error when used with invalid arguments, rather than empty output which interacts badly with Cartesian product expansion.
|
||||
|
||||
For distributors
|
||||
----------------
|
||||
- fish runs correctly on platforms without the ``O_CLOEXEC`` flag for ``open(2)`` (:issue:`8023`).
|
||||
|
||||
--------------
|
||||
|
||||
fish 3.2.2 (released April 7, 2021)
|
||||
====================================
|
||||
|
||||
@@ -189,7 +300,7 @@ Scripting improvements
|
||||
- ``fish --profile`` now only starts profiling after fish is ready to execute commands (all configuration is completed). There is a new ``--profile-startup`` option that only profiles the startup and configuration process (:issue:`7648`).
|
||||
- Builtins return a maximum exit status of 255, rather than potentially overflowing. In particular, this affects ``exit``, ``return``, ``functions --query``, and ``set --query`` (:issue:`7698`, :issue:`7702`).
|
||||
- It is no longer an error to run builtin with closed stdin. For example ``count <&-`` now prints 0, instead of failing.
|
||||
- Blocks, functions, and builtins no longer permit redirecting to file descriptors other than 0 (standard input), 1 (standard output) and 2 (standard error). For example, ``echo hello >&5`` is now an error. This prevents corruption of internal state (#3303).
|
||||
- Blocks, functions, and builtins no longer permit redirecting to file descriptors other than 0 (standard input), 1 (standard output) and 2 (standard error). For example, ``echo hello >&5`` is now an error. This prevents corruption of internal state (:issue:`3303`).
|
||||
|
||||
Interactive improvements
|
||||
------------------------
|
||||
|
||||
@@ -30,6 +30,11 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}")
|
||||
endif()
|
||||
|
||||
# Error out when linking statically, it doesn't work.
|
||||
if (CMAKE_EXE_LINKER_FLAGS MATCHES ".*-static.*")
|
||||
message(FATAL_ERROR "Fish does not support static linking")
|
||||
endif()
|
||||
|
||||
# Force colored warnings in Ninja's output, if the compiler has -fdiagnostics-color support.
|
||||
# Rationale in https://github.com/ninja-build/ninja/issues/814
|
||||
if (CMAKE_GENERATOR STREQUAL "Ninja" AND
|
||||
@@ -123,7 +128,8 @@ set(FISH_SRCS
|
||||
src/proc.cpp src/reader.cpp src/redirection.cpp src/sanity.cpp src/screen.cpp
|
||||
src/signal.cpp src/termsize.cpp src/timer.cpp src/tinyexpr.cpp
|
||||
src/tokenizer.cpp src/topic_monitor.cpp src/trace.cpp src/utf8.cpp src/util.cpp
|
||||
src/wcstringutil.cpp src/wgetopt.cpp src/wildcard.cpp src/wutil.cpp src/fds.cpp
|
||||
src/wait_handle.cpp src/wcstringutil.cpp src/wgetopt.cpp src/wildcard.cpp
|
||||
src/wutil.cpp src/fds.cpp
|
||||
)
|
||||
|
||||
# Header files are just globbed.
|
||||
|
||||
2
COPYING
2
COPYING
@@ -1,7 +1,7 @@
|
||||
Fish is a smart and user-friendly command line shell.
|
||||
|
||||
Copyright (C) 2005-2009 Axel Liljencrantz
|
||||
Copyright (C) 2009-2020 fish-shell contributors
|
||||
Copyright (C) 2009-2021 fish-shell contributors
|
||||
|
||||
fish is free software.
|
||||
|
||||
|
||||
23
README.rst
23
README.rst
@@ -20,11 +20,6 @@ magic phrase “unlike other shells”.
|
||||
Detailed user documentation is available by running ``help`` within
|
||||
fish, and also at https://fishshell.com/docs/current/index.html
|
||||
|
||||
You can quickly play with fish right in your browser by clicking the
|
||||
button below:
|
||||
|
||||
|Try in browser|
|
||||
|
||||
Getting fish
|
||||
------------
|
||||
|
||||
@@ -76,7 +71,7 @@ If packages are not available for your platform, GPG-signed tarballs are
|
||||
available from `fishshell.com <https://fishshell.com/>`__ and
|
||||
`fish-shell on
|
||||
GitHub <https://github.com/fish-shell/fish-shell/releases>`__. See the
|
||||
*Building* section for instructions.
|
||||
`Building <#building>`__ section for instructions.
|
||||
|
||||
Running fish
|
||||
------------
|
||||
@@ -109,6 +104,7 @@ The following optional features also have specific requirements:
|
||||
``wl-copy``/``wl-paste`` or ``pbcopy``/``pbpaste`` utilities
|
||||
- full completions for ``yarn`` and ``npm`` require the
|
||||
``all-the-package-names`` NPM module
|
||||
- ``colorls`` is used, if its installed, to add color when running ``ls``
|
||||
|
||||
Switching to fish
|
||||
~~~~~~~~~~~~~~~~~
|
||||
@@ -192,6 +188,19 @@ You can open it with Xcode, or run the following to build and install in
|
||||
The install directory can be changed using the
|
||||
``-DCMAKE_INSTALL_PREFIX`` parameter for ``cmake``.
|
||||
|
||||
Build options
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
In addition to the normal cmake build options (like ``CMAKE_INSTALL_PREFIX``), fish has some other options available to customize it.
|
||||
|
||||
- BUILD_DOCS=ON|OFF - whether to build the documentation. This is automatically set to OFF when sphinx isn't installed.
|
||||
- INSTALL_DOCS=ON|OFF - whether to install the docs. This is automatically set to on when BUILD_DOCS is or prebuilt documentation is available (like when building in-tree from a tarball).
|
||||
- FISH_USE_SYSTEM_PCRE2=ON|OFF - whether to use an installed pcre2. This is normally autodetected.
|
||||
- MAC_CODESIGN_ID=String|OFF - the codesign ID to use on Mac, or "OFF" to disable codesigning.
|
||||
- WITH_GETTEXT=ON|OFF - whether to build with gettext support for translations.
|
||||
|
||||
Note that fish does *not* support static linking and will attempt to error out if it detects it.
|
||||
|
||||
Help, it didn’t build!
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -233,5 +242,3 @@ issue <https://github.com/fish-shell/fish-shell/issues/new>`__.
|
||||
|
||||
.. |Build Status| image:: https://github.com/fish-shell/fish-shell/workflows/C/C++%20CI/badge.svg
|
||||
:target: https://github.com/fish-shell/fish-shell/actions
|
||||
.. |Try in browser| image:: https://cdn.rawgit.com/rootnroll/library/assets/try.svg
|
||||
:target: https://rootnroll.com/d/fish-shell/
|
||||
|
||||
@@ -35,6 +35,19 @@ CHECK_STDERR_RE = re.compile(COMMENT_RE + r"CHECKERR:\s+(.*)\n")
|
||||
|
||||
SKIP = object()
|
||||
|
||||
def find_command(program):
|
||||
import os
|
||||
|
||||
path, name = os.path.split(program)
|
||||
if path:
|
||||
return os.path.isfile(program) and os.access(program, os.X_OK)
|
||||
for path in os.environ["PATH"].split(os.pathsep):
|
||||
exe = os.path.join(path, program)
|
||||
if os.path.isfile(exe) and os.access(exe, os.X_OK):
|
||||
return exe
|
||||
|
||||
return None
|
||||
|
||||
class Config(object):
|
||||
def __init__(self):
|
||||
# Whether to have verbose output.
|
||||
@@ -461,18 +474,15 @@ class TestRun(object):
|
||||
proc = runproc(self.subbed_command)
|
||||
stdout, stderr = proc.communicate()
|
||||
# HACK: This is quite cheesy: POSIX specifies that sh should return 127 for a missing command.
|
||||
# Technically it's also possible to return it in other conditions.
|
||||
# Practically, that's *probably* not going to happen.
|
||||
# It's also possible that it'll be returned in other situations,
|
||||
# most likely when the last command in a shell script doesn't exist.
|
||||
# So we check if the command *we execute* exists, and complain then.
|
||||
status = proc.returncode
|
||||
if status == 127:
|
||||
raise CheckerError("Command could not be found: " + self.subbed_command)
|
||||
if status == 126:
|
||||
raise CheckerError("Command is not executable: " + self.subbed_command)
|
||||
|
||||
# If a test returns 125, we skip it and don't even attempt to compare output.
|
||||
# This is similar to what `git bisect run` does.
|
||||
if status == 125:
|
||||
return SKIP
|
||||
cmd = shlex.split(self.subbed_command)[0]
|
||||
if status == 127 and not find_command(cmd):
|
||||
raise CheckerError("Command could not be found: " + cmd)
|
||||
if status == 126 and not find_command(cmd):
|
||||
raise CheckerError("Command is not executable: " + cmd)
|
||||
|
||||
outlines = [
|
||||
Line(text, idx + 1, "stdout")
|
||||
@@ -587,7 +597,10 @@ class Checker(object):
|
||||
# If no RUN command has been given, fall back to the shebang.
|
||||
if lines[0].text.startswith("#!"):
|
||||
# Remove the "#!" at the beginning, and the newline at the end.
|
||||
self.runcmds = [RunCmd(lines[0].text[2:-1] + " %s", lines[0])]
|
||||
cmd = lines[0].text[2:-1]
|
||||
if not find_command(cmd):
|
||||
raise CheckerError("Command could not be found: " + cmd)
|
||||
self.runcmds = [RunCmd(cmd + " %s", lines[0])]
|
||||
else:
|
||||
raise CheckerError("No runlines ('# RUN') found")
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ class SpawnedProc(object):
|
||||
env: a string->string dictionary, describing the environment variables.
|
||||
"""
|
||||
if name not in env:
|
||||
raise ValueError("'name' variable not found in environment" % name)
|
||||
raise ValueError("'%s' variable not found in environment" % name)
|
||||
exe_path = env.get(name)
|
||||
self.colorize = sys.stdout.isatty()
|
||||
self.messages = []
|
||||
@@ -291,7 +291,6 @@ class SpawnedProc(object):
|
||||
else:
|
||||
timestampstr = "{timestamp:10.2f} ms".format(timestamp=timestamp)
|
||||
delta = m.when * 1000.0
|
||||
dir = m.dir
|
||||
print(
|
||||
"{dir} {timestampstr} (Line {lineno}): {BOLD}{etext}{RESET}".format(
|
||||
dir=m.dir,
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# Ubuntu Xenial (used for Travis CI builds) ships libstdc++ 5.4.0 which contains undefined behaviour
|
||||
# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63345
|
||||
object-size:*bits/stl_tree.h
|
||||
@@ -56,9 +56,9 @@ macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE)
|
||||
endif()
|
||||
|
||||
if(_lang STREQUAL "C")
|
||||
set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${var}.c)
|
||||
set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${VARIABLE}.c)
|
||||
elseif(_lang STREQUAL "CXX")
|
||||
set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${var}.cpp)
|
||||
set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${VARIABLE}.cpp)
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown language:\n ${_lang}\nSupported languages: C, CXX.\n")
|
||||
endif()
|
||||
|
||||
@@ -73,3 +73,6 @@ add_custom_target(signed_fish_macapp
|
||||
$<TARGET_BUNDLE_DIR:fish_macapp>
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
# Group our targets in a folder.
|
||||
set_property(TARGET fish_macapp signed_fish_macapp PROPERTY FOLDER macapp)
|
||||
|
||||
@@ -83,9 +83,10 @@ add_custom_target(test_prep
|
||||
# So define both a normal target, and a serial variant which enforces ordering.
|
||||
foreach(TESTTYPE test serial_test)
|
||||
add_custom_target(${TESTTYPE}_low_level
|
||||
COMMAND env XDG_DATA_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_data
|
||||
COMMAND env XDG_DATA_DIRS=
|
||||
XDG_DATA_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_data
|
||||
XDG_CONFIG_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_config
|
||||
XDG_RUNTIME_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_runtime
|
||||
XDG_RUNTIME_DIR=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_runtime
|
||||
./fish_tests
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS fish_tests
|
||||
@@ -94,18 +95,20 @@ foreach(TESTTYPE test serial_test)
|
||||
add_custom_target(${TESTTYPE}_fishscript
|
||||
COMMAND
|
||||
cd tests &&
|
||||
env XDG_DATA_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_data
|
||||
env XDG_DATA_DIRS=
|
||||
XDG_DATA_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_data
|
||||
XDG_CONFIG_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_config
|
||||
XDG_RUNTIME_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_runtime
|
||||
XDG_RUNTIME_DIR=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_runtime
|
||||
${TEST_ROOT_DIR}/bin/fish test.fish
|
||||
DEPENDS test_prep
|
||||
USES_TERMINAL)
|
||||
|
||||
add_custom_target(${TESTTYPE}_interactive
|
||||
COMMAND cd tests &&
|
||||
env XDG_DATA_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_data
|
||||
env XDG_DATA_DIRS=
|
||||
XDG_DATA_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_data
|
||||
XDG_CONFIG_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_config
|
||||
XDG_RUNTIME_HOME=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_runtime
|
||||
XDG_RUNTIME_DIR=${CMAKE_CURRENT_BINARY_DIR}/test/xdg_runtime
|
||||
${TEST_ROOT_DIR}/bin/fish interactive.fish
|
||||
DEPENDS test_prep
|
||||
USES_TERMINAL)
|
||||
|
||||
@@ -15,12 +15,15 @@ add_feature_info(gettext GETTEXT_FOUND "translate messages with gettext")
|
||||
|
||||
# Define translations
|
||||
if(GETTEXT_FOUND)
|
||||
# Group pofile targets into their own folder, as there's a lot of them.
|
||||
set(CMAKE_FOLDER pofiles)
|
||||
foreach(lang ${languages})
|
||||
# Our translations aren't set up entirely as CMake expects, so installation is done in
|
||||
# cmake/Install.cmake instead of using INSTALL_DESTINATION
|
||||
gettext_process_po_files(${lang} ALL
|
||||
PO_FILES po/${lang}.po)
|
||||
endforeach()
|
||||
set(CMAKE_FOLDER)
|
||||
endif()
|
||||
|
||||
cmake_push_check_state()
|
||||
|
||||
@@ -51,3 +51,10 @@ The following code will create ``rmi``, which runs ``rm`` with additional argume
|
||||
# will be seen as an argument to "/Applications/Google":
|
||||
alias chrome='/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome banana'
|
||||
|
||||
|
||||
See more
|
||||
--------
|
||||
|
||||
1. The :ref:`function <cmd-function>` builtin this builds on.
|
||||
2. :ref:`Functions <syntax-function>`.
|
||||
3. :ref:`Function wrappers <syntax-function-wrappers>`.
|
||||
|
||||
@@ -14,9 +14,9 @@ Synopsis
|
||||
Description
|
||||
-----------
|
||||
|
||||
This command makes it easy for fish scripts and functions to handle arguments like how fish builtin commands handle their arguments. You pass arguments that define the known options, followed by a literal ``--``, then the arguments to be parsed (which might also include a literal ``--``). ``argparse`` then sets variables to indicate the passed options with their values, and sets $argv (and always $argv) to the remaining arguments. More on this in the `usage <#usage>`__ section below.
|
||||
This command makes it easy for fish scripts and functions to handle arguments like how fish builtin commands handle their arguments. You pass arguments that define the known options, followed by a literal ``--``, then the arguments to be parsed (which might also include a literal ``--``). ``argparse`` then sets variables to indicate the passed options with their values, and sets $argv (and always $argv) to the remaining arguments. More on this in the :ref:`usage <cmd-argparse-usage>` section below.
|
||||
|
||||
Each option specification (``OPTION_SPEC``) is written in the `domain specific language <#option-specifications>`__ described below. All OPTION_SPECs must appear after any argparse flags and before the ``--`` that separates them from the arguments to be parsed.
|
||||
Each option specification (``OPTION_SPEC``) is written in the :ref:`domain specific language <cmd-argparse-option-specification>` described below. All OPTION_SPECs must appear after any argparse flags and before the ``--`` that separates them from the arguments to be parsed.
|
||||
|
||||
Each option that is seen in the ARG list will result in variables named ``_flag_X``, where ``X`` is the short flag letter and the long flag name (if they are defined). For example a ``--help`` option could cause argparse to define one variable called ``_flag_h`` and another called ``_flag_help``.
|
||||
|
||||
@@ -41,6 +41,8 @@ The following ``argparse`` options are available. They must appear before all OP
|
||||
|
||||
- ``-h`` or ``--help`` displays help about using this command.
|
||||
|
||||
.. _cmd-argparse-usage:
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
@@ -69,6 +71,8 @@ But this is not::
|
||||
|
||||
The first ``--`` seen is what allows the ``argparse`` command to reliably separate the option specifications and options to ``argparse`` itself (like ``--ignore-unknown``) from the command arguments, so it is required.
|
||||
|
||||
.. _cmd-argparse-option-specification:
|
||||
|
||||
Option Specifications
|
||||
---------------------
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Note that special input functions cannot be combined with ordinary shell script
|
||||
|
||||
If no ``SEQUENCE`` is provided, all bindings (or just the bindings in the given ``MODE``) are printed. If ``SEQUENCE`` is provided but no ``COMMAND``, just the binding matching that sequence is printed.
|
||||
|
||||
To save custom keybindings, put the ``bind`` statements into :ref:`config.fish <initialization>`. Alternatively, fish also automatically executes a function called ``fish_user_key_bindings`` if it exists.
|
||||
To save custom keybindings, put the ``bind`` statements into :ref:`config.fish <configuration>`. Alternatively, fish also automatically executes a function called ``fish_user_key_bindings`` if it exists.
|
||||
|
||||
Key bindings may use "modes", which mimics Vi's modal input behavior. The default mode is "default", and every bind applies to a single mode. The mode can be viewed/changed with the ``$fish_bind_mode`` variable.
|
||||
|
||||
@@ -185,6 +185,10 @@ The following special input functions are available:
|
||||
|
||||
- ``transpose-words``, transpose two words to the left of the cursor
|
||||
|
||||
- ``togglecase-char``, toggle the capitalisation (case) of the character under the cursor
|
||||
|
||||
- ``togglecase-selection``, toggle the capitalisation (case) of the selection
|
||||
|
||||
- ``insert-line-under``, add a new line under the current line
|
||||
|
||||
- ``insert-line-over``, add a new line over the current line
|
||||
@@ -199,6 +203,24 @@ The following special input functions are available:
|
||||
|
||||
- ``yank-pop``, rotate to the previous entry of the killring
|
||||
|
||||
Additional functions
|
||||
--------------------
|
||||
The following functions are included as normal functions, but are particularly useful for input editing:
|
||||
|
||||
- ``up-or-search`` and ``down-or-search``, which move the cursor or search the history depending on the cursor position and current mode
|
||||
|
||||
- ``edit_command_buffer``, open the visual editor (controlled by the ``VISUAL`` or ``EDITOR`` environment variables) with the current command-line contents
|
||||
|
||||
- ``delete-or-exit``, quit the shell if the current command-line is empty, or delete the character under the cursor if not
|
||||
|
||||
- ``fish_clipboard_copy``, copy the current selection to the system clipboard
|
||||
|
||||
- ``fish_clipboard_paste``, paste the current selection from the system clipboard before the cursor
|
||||
|
||||
- ``fish_commandline_append``, append the argument to the command-line. If the command-line already ends with the argument, this removes the suffix instead. Starts with the last command from history if the command-line is empty.
|
||||
|
||||
- ``fish_commandline_prepend``, prepend the argument to the command-line. If the command-line already starts with the argument, this removes the prefix instead. Starts with the last command from history if the command-line is empty.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
@@ -210,7 +232,7 @@ Perform a history search when :kbd:`Page Up` is pressed::
|
||||
|
||||
bind -k ppage history-search-backward
|
||||
|
||||
Turn on Vi key bindings and rebind :kbd:`Control`\ +\ :kbd:`C` to clear the input line::
|
||||
Turn on :ref:`Vi key bindings <vi-mode>` and rebind :kbd:`Control`\ +\ :kbd:`C` to clear the input line::
|
||||
|
||||
set -g fish_key_bindings fish_vi_key_bindings
|
||||
bind -M insert \cc kill-whole-line repaint
|
||||
|
||||
@@ -21,7 +21,7 @@ With ``CMD`` specified, the command line buffer is erased and replaced with the
|
||||
|
||||
The following options are available:
|
||||
|
||||
- ``-C`` or ``--cursor`` set or get the current cursor position, not the contents of the buffer. If no argument is given, the current cursor position is printed, otherwise the argument is interpreted as the new cursor position.
|
||||
- ``-C`` or ``--cursor`` set or get the current cursor position, not the contents of the buffer. If no argument is given, the current cursor position is printed, otherwise the argument is interpreted as the new cursor position. If one of the options ``-j``, ``-p`` or ``-t`` is given, the position is relative to the respective substring instead of the entire command line buffer.
|
||||
|
||||
- ``-f`` or ``--function`` causes any additional arguments to be interpreted as input functions, and puts them into the queue, so that they will be read before any additional actual key presses are. This option cannot be combined with any other option. See :ref:`bind <cmd-bind>` for a list of input functions.
|
||||
|
||||
@@ -35,7 +35,7 @@ The following options change the way ``commandline`` updates the command line bu
|
||||
|
||||
The following options change what part of the commandline is printed or updated:
|
||||
|
||||
- ``-b`` or ``--current-buffer`` select the entire buffer, including any displayed autosuggestion (default)
|
||||
- ``-b`` or ``--current-buffer`` select the entire commandline, not including any displayed autosuggestion (default)
|
||||
|
||||
- ``-j`` or ``--current-job`` select the current job - a `job` here is one pipeline. It stops at logical operators or terminators (``;``, ``&`` or newlines).
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Synopsis
|
||||
[( -e | --erase )]
|
||||
[( -s | --short-option ) SHORT_OPTION]...
|
||||
[( -l | --long-option | -o | --old-option ) LONG_OPTION]...
|
||||
[( -a | --arguments ) OPTION_ARGUMENTS]
|
||||
[( -a | --arguments ) ARGUMENTS]
|
||||
[( -k | --keep-order )]
|
||||
[( -f | --no-files )]
|
||||
[( -F | --force-files )]
|
||||
@@ -44,9 +44,9 @@ the fish manual.
|
||||
|
||||
- ``-o LONG_OPTION`` or ``--old-option=LONG_OPTION`` adds an old style long option to the completions list (See below for details).
|
||||
|
||||
- ``-a OPTION_ARGUMENTS`` or ``--arguments=OPTION_ARGUMENTS`` adds the specified option arguments to the completions list.
|
||||
- ``-a ARGUMENTS`` or ``--arguments=ARGUMENTS`` adds the specified option arguments to the completions list.
|
||||
|
||||
- ``-k`` or ``--keep-order`` keeps the order of the ``OPTION_ARGUMENTS`` instead of sorting alphabetically. Multiple ``complete`` calls with ``-k`` result in arguments of the later ones displayed first.
|
||||
- ``-k`` or ``--keep-order`` keeps the order of ``ARGUMENTS`` instead of sorting alphabetically. Multiple ``complete`` calls with ``-k`` result in arguments of the later ones displayed first.
|
||||
|
||||
- ``-f`` or ``--no-files`` says that this completion may not be followed by a filename.
|
||||
|
||||
@@ -76,9 +76,9 @@ Multiple command switches and wrapped commands can also be given to define multi
|
||||
|
||||
Invoking ``complete`` multiple times for the same command adds the new definitions on top of any existing completions defined for the command.
|
||||
|
||||
When ``-a`` or ``--arguments`` is specified in conjunction with long, short, or old style options, the specified arguments are only completed as arguments for any of the specified options. If ``-a`` or ``--arguments`` is specified without any long, short, or old style options, the specified arguments are used when completing any argument to the command (except when completing an option argument that was specified with ``-r`` or ``--require-parameter``).
|
||||
When ``-a`` or ``--arguments`` is specified in conjunction with long, short, or old style options, the specified arguments are only completed as arguments for any of the specified options. If ``-a`` or ``--arguments`` is specified without any long, short, or old style options, the specified arguments are used when completing non-option arguments to the command (except when completing an option argument that was specified with ``-r`` or ``--require-parameter``).
|
||||
|
||||
Command substitutions found in ``OPTION_ARGUMENTS`` should return a newline-separated list of arguments, and each argument may optionally have a tab character followed by the argument description. Description given this way override a description given with ``-d`` or ``--description``.
|
||||
Command substitutions found in ``ARGUMENTS`` should return a newline-separated list of arguments, and each argument may optionally have a tab character followed by the argument description. Description given this way override a description given with ``-d`` or ``--description``.
|
||||
|
||||
The ``-w`` or ``--wraps`` options causes the specified command to inherit completions from another command, "wrapping" the other command. The wrapping command can also have additional completions. A command can wrap multiple commands, and wrapping is transitive: if A wraps B, and B wraps C, then A automatically inherits all of C's completions. Wrapping can be removed using the ``-e`` or ``--erase`` options. Wrapping only works for completions specified with ``-c`` or ``--command`` and are ignored when specifying completions with ``-p`` or ``--path``.
|
||||
|
||||
|
||||
@@ -8,23 +8,37 @@ Synopsis
|
||||
|
||||
::
|
||||
|
||||
fish_config [TAB]
|
||||
fish_config
|
||||
fish_config browse
|
||||
fish_config prompt (choose | list | save | show)
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
``fish_config`` starts the web-based configuration interface.
|
||||
``fish_config`` is used to configure fish.
|
||||
|
||||
The web interface allows you to view your functions, variables and history, and to make changes to your prompt and color configuration.
|
||||
|
||||
``fish_config`` starts a local web server and then opens a web browser window; when you have finished, close the browser window and then press the Enter key to terminate the configuration session.
|
||||
|
||||
``fish_config`` optionally accepts name of the initial configuration tab. For e.g. ``fish_config history`` will start configuration interface with history tab.
|
||||
Without arguments or with the ``browse`` command it starts the web-based configuration interface. The web interface allows you to view your functions, variables and history, and to make changes to your prompt and color configuration. It starts a local web server and opens a browser window. When you are finished, close the browser window and press the Enter key to terminate the configuration session.
|
||||
|
||||
If the ``BROWSER`` environment variable is set, it will be used as the name of the web browser to open instead of the system default.
|
||||
|
||||
With the ``prompt`` command ``fish_config`` can be used to view and choose a prompt from fish's sample prompts inside the terminal directly.
|
||||
|
||||
Available subcommands for the ``prompt`` command:
|
||||
|
||||
- ``choose`` loads a sample prompt in the current session.
|
||||
- ``list`` lists the names of the available sample prompts.
|
||||
- ``save`` saves the current prompt to a file (via :ref:`funcsave <cmd-funcsave>`).
|
||||
- ``show`` shows what the given sample prompts (or all) would look like.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
``fish_config`` opens a new web browser window and allows you to configure certain fish settings.
|
||||
``fish_config`` or ``fish_config browse`` opens a new web browser window and allows you to configure certain fish settings.
|
||||
|
||||
``fish_config prompt show`` demos the available sample prompts.
|
||||
|
||||
``fish_config prompt choose disco`` makes the disco prompt the prompt for the current session. This can also be used in :ref:`config.fish <configuration>` to set the prompt.
|
||||
|
||||
``fish_config prompt save`` saves the current prompt to an :ref:`autoloaded <syntax-function-autoloading>` file.
|
||||
|
||||
``fish_config prompt save default`` chooses the default prompt and saves it.
|
||||
|
||||
@@ -15,8 +15,8 @@ Synopsis
|
||||
Description
|
||||
-----------
|
||||
|
||||
``funcsave`` saves a function to a file in the fish configuration directory. This function will be automatically loaded by current and future fish sessions. This can be useful if you have interactively created a new function and wish to save it for later use.
|
||||
``funcsave`` saves a function to a file in the fish configuration directory. This function will be :ref:`automatically loaded <syntax-function-autoloading>` by current and future fish sessions. This can be useful if you have interactively created a new function and wish to save it for later use.
|
||||
|
||||
Note that because fish loads functions on-demand, saved functions will not function as :ref:`event handlers <event>` until they are run or sourced otherwise. To activate an event handler for every new shell, add the function to your :ref:`shell initialization file <initialization>` instead of using ``funcsave``.
|
||||
Note that because fish loads functions on-demand, saved functions will not function as :ref:`event handlers <event>` until they are run or sourced otherwise. To activate an event handler for every new shell, add the function to your :ref:`configuration file <configuration>` instead of using ``funcsave``.
|
||||
|
||||
This is typically used together with :ref:`funced <cmd-funced>`, which will open the function in your editor and load it in the current seession afterwards.
|
||||
|
||||
@@ -28,9 +28,9 @@ The following options are available:
|
||||
|
||||
- ``-e`` or ``--on-event EVENT_NAME`` tells fish to run this function when the specified named event is emitted. Fish internally generates named events e.g. when showing the prompt.
|
||||
|
||||
- ``-v`` or ``--on-variable VARIABLE_NAME`` tells fish to run this function when the variable VARIABLE_NAME changes value. Note that the function will not necessarily be run for each change; rather, it will be run when the variable has changed at least once.
|
||||
- ``-v`` or ``--on-variable VARIABLE_NAME`` tells fish to run this function when the variable VARIABLE_NAME changes value. Note that fish makes no guarantees on any particular timing or even that the function will be run for every single ``set``. Rather it will be run when the variable has been set at least once, possibly skipping some values or being run when the variable has been set to the same value (except for universal variables set in other shells - only changes in the value will be picked up for those).
|
||||
|
||||
- ``-j PGID`` or ``--on-job-exit PGID`` tells fish to run this function when the job with group ID PGID exits. Instead of PGID, the string 'caller' can be specified. This is only legal when in a command substitution, and will result in the handler being triggered by the exit of the job which created this command substitution.
|
||||
- ``-j PID`` or ``--on-job-exit PID`` tells fish to run this function when the job containing a child process with the given PID exits. Instead of PID, the string 'caller' can be specified. This is only legal when in a command substitution, and will result in the handler being triggered by the exit of the job which created this command substitution.
|
||||
|
||||
- ``-p PID`` or ``--on-process-exit PID`` tells fish to run this function when the fish child process
|
||||
with process ID PID exits. Instead of a PID, for backward compatibility,
|
||||
@@ -115,4 +115,9 @@ This will beep when the most recent job completes.
|
||||
Notes
|
||||
-----
|
||||
|
||||
Note that events are only received from the current fish process as there is no way to send events from one fish process to another.
|
||||
Events are only received from the current fish process as there is no way to send events from one fish process to another.
|
||||
|
||||
See more
|
||||
--------
|
||||
|
||||
For more explanation of how functions fit into fish, see :ref:`Functions <syntax-function>`.
|
||||
|
||||
@@ -39,6 +39,8 @@ The following options are available:
|
||||
|
||||
You should not assume that only five lines will be written since we may add additional information to the output in the future.
|
||||
|
||||
- ``--no-details`` turns off function path reporting, so just the definition will be printed.
|
||||
|
||||
- ``-n`` or ``--names`` lists the names of all defined functions.
|
||||
|
||||
- ``-q`` or ``--query`` tests if the specified functions exist.
|
||||
@@ -53,8 +55,6 @@ The default behavior of ``functions``, when called with no arguments, is to prin
|
||||
|
||||
If any non-option parameters are given, the definition of the specified functions are printed.
|
||||
|
||||
Automatically loaded functions cannot be removed using ``functions -e``. Either remove the definition file or change the $fish_function_path variable to remove autoloaded functions.
|
||||
|
||||
Copying a function using ``-c`` copies only the body of the function, and does not attach any event notifications from the original function.
|
||||
|
||||
Only one function's description can be changed in a single invocation of ``functions -d``.
|
||||
@@ -77,3 +77,7 @@ Examples
|
||||
functions -e bar
|
||||
# Erases the function ``bar``
|
||||
|
||||
See more
|
||||
--------
|
||||
|
||||
For more explanation of how functions fit into fish, see :ref:`Functions <syntax-function>`.
|
||||
|
||||
@@ -20,8 +20,11 @@ By default, the output is a floating-point number with trailing zeroes trimmed.
|
||||
|
||||
Keep in mind that parameter expansion happens before expressions are evaluated. This can be very useful in order to perform calculations involving shell variables or the output of command substitutions, but it also means that parenthesis (``()``) and the asterisk (``*``) glob character have to be escaped or quoted. ``x`` can also be used to denote multiplication, but it needs to be followed by whitespace to distinguish it from hexadecimal numbers.
|
||||
|
||||
Parentheses for functions are optional - ``math sin pi`` prints ``0``. However, a comma will bind to the inner function, so ``math pow sin 3, 5`` is an error because it tries to give ``sin`` the arguments ``3`` and ``5``. When in doubt, use parentheses.
|
||||
|
||||
``math`` ignores whitespace between arguments and takes its input as multiple arguments (internally joined with a space), so ``math 2 +2`` and ``math "2 + 2"`` work the same. ``math 2 2`` is an error.
|
||||
|
||||
|
||||
The following options are available:
|
||||
|
||||
- ``-sN`` or ``--scale=N`` sets the scale of the result. ``N`` must be an integer or the word "max" for the maximum scale. A scale of zero causes results to be rounded down to the nearest integer. So ``3/2`` returns ``1`` rather than ``2`` which ``1.5`` would normally round to. This is for compatibility with ``bc`` which was the basis for this command prior to fish 3.0.0. Scale values greater than zero causes the result to be rounded using the usual rules to the specified number of decimal places.
|
||||
@@ -87,6 +90,9 @@ Functions
|
||||
- ``floor`` - round number down to nearest integer
|
||||
- ``ln`` - the base-e logarithm
|
||||
- ``log`` or ``log10`` - the base-10 logarithm
|
||||
- ``log2`` - the base-2 logarithm
|
||||
- ``max`` - returns the larger of two numbers
|
||||
- ``min`` - returns the smaller of two numbers
|
||||
- ``ncr`` - "from n choose r" combination function - how many subsets of size r can be taken from n (order doesn't matter)
|
||||
- ``npr`` - the number of subsets of size r that can be taken from a set of n elements (including different order)
|
||||
- ``pow(x,y)`` returns x to the y (and can be written as ``x ^ y``)
|
||||
@@ -118,7 +124,7 @@ Examples
|
||||
|
||||
``math 0xFF`` outputs 255, ``math 0 x 3`` outputs 0 (because it computes 0 multiplied by 3).
|
||||
|
||||
``math "bitand(0xFE, 0x2e)"`` outputs 46.
|
||||
``math bitand 0xFE, 0x2e`` outputs 46.
|
||||
|
||||
``math "bitor(9,2)"`` outputs 11.
|
||||
|
||||
|
||||
26
doc_src/cmds/prompt_login.rst
Normal file
26
doc_src/cmds/prompt_login.rst
Normal file
@@ -0,0 +1,26 @@
|
||||
.. _cmd-prompt_login:
|
||||
|
||||
prompt_login - describe the login suitable for prompt
|
||||
=====================================================
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
function fish_prompt
|
||||
echo -n (prompt_login) (prompt_pwd) '$ '
|
||||
end
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
``prompt_login`` is a function to describe the current login. It will show the user, the host and also whether the shell is running in a chroot (currently debian's debian_chroot is supported).
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
>_ prompt_login
|
||||
root@bananablaster
|
||||
@@ -26,25 +26,23 @@ Example
|
||||
|
||||
::
|
||||
|
||||
pushd /usr/src
|
||||
# Working directory is now /usr/src
|
||||
# Directory stack contains /usr/src
|
||||
cd ~/dir1
|
||||
pushd ~/dir2
|
||||
pushd ~/dir3
|
||||
# Working directory is now ~/dir3
|
||||
# Directory stack contains ~/dir2 ~/dir1
|
||||
|
||||
pushd /usr/src/fish-shell
|
||||
# Working directory is now /usr/src/fish-shell
|
||||
# Directory stack contains /usr/src /usr/src/fish-shell
|
||||
|
||||
pushd /tmp/
|
||||
pushd /tmp
|
||||
# Working directory is now /tmp
|
||||
# Directory stack contains /tmp /usr/src /usr/src/fish-shell
|
||||
# Directory stack contains ~/dir3 ~/dir2 ~/dir1
|
||||
|
||||
pushd +1
|
||||
# Working directory is now /usr/src
|
||||
# Directory stack contains /usr/src /usr/src/fish-shell /tmp
|
||||
# Working directory is now ~/dir3
|
||||
# Directory stack contains ~/dir2 ~/dir1 /tmp
|
||||
|
||||
popd
|
||||
# Working directory is now /usr/src/fish-shell
|
||||
# Directory stack contains /usr/src/fish-shell /tmp
|
||||
# Working directory is now ~/dir2
|
||||
# Directory stack contains ~/dir1 /tmp
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
@@ -21,39 +21,47 @@ Description
|
||||
|
||||
``set`` manipulates :ref:`shell variables <variables>`.
|
||||
|
||||
If set is called with no arguments, the names and values of all shell variables are printed in sorted order. If some of the scope or export flags have been given, only the variables matching the specified scope are printed.
|
||||
If both a variable name and values are provided, ``set`` assigns the values to the variable of that name. Because all variables in fish are :ref:`lists <variables-lists>`, multiple values are allowed.
|
||||
|
||||
With both variable names and values provided, ``set`` assigns the variable ``VARIABLE_NAME`` the values ``VALUES...``.
|
||||
If only a variable name has been given, ``set`` sets the variable to the empty list.
|
||||
|
||||
If ``set`` is called with no arguments, it prints the names and values of all shell variables in sorted order. Passing :ref:`scope <variables-scope>` or :ref:`export <variables-export>` flags allows filtering this to only matching variables, so ``set --local`` would only show local variables.
|
||||
|
||||
With ``--erase`` and optionally a scope flag ``set`` will erase the matching variable (or the variable of that name in the smallest possible scope).
|
||||
|
||||
With ``--show``, ``set`` will describe the given variable names, explaining how they have been defined - in which scope with which values and options.
|
||||
|
||||
The following options control variable scope:
|
||||
|
||||
- ``-a`` or ``--append`` causes the values to be appended to the current set of values for the variable. This can be used with ``--prepend`` to both append and prepend at the same time. This cannot be used when assigning to a variable slice.
|
||||
|
||||
- ``-p`` or ``--prepend`` causes the values to be prepended to the current set of values for the variable. This can be used with ``--append`` to both append and prepend at the same time. This cannot be used when assigning to a variable slice.
|
||||
|
||||
- ``-l`` or ``--local`` forces the specified shell variable to be given a scope that is local to the current block, even if a variable with the given name exists and is non-local
|
||||
|
||||
- ``-g`` or ``--global`` causes the specified shell variable to be given a global scope. Non-global variables disappear when the block they belong to ends
|
||||
|
||||
- ``-U`` or ``--universal`` causes the specified shell variable to be given a universal scope. If this option is supplied, the variable will be shared between all the current user's fish instances on the current computer, and will be preserved across restarts of the shell.
|
||||
|
||||
These options control additional variable options:
|
||||
|
||||
- ``-x`` or ``--export`` causes the specified shell variable to be exported to child processes (making it an "environment variable")
|
||||
|
||||
- ``-u`` or ``--unexport`` causes the specified shell variable to NOT be exported to child processes
|
||||
|
||||
- ``--path`` causes the specified variable to be treated as a path variable, meaning it will automatically be split on colons, and joined using colons when quoted (`echo "$PATH"`) or exported.
|
||||
- ``--path`` causes the specified variable to be treated as a path variable, meaning it will automatically be split on colons, and joined using colons when quoted (``echo "$PATH"``) or exported.
|
||||
|
||||
- ``--unpath`` causes the specified variable to not be treated as a path variable. Variables with a name ending in "PATH" are automatically path variables, so this can be used to treat such a variable normally.
|
||||
|
||||
The following options are available:
|
||||
The following other options are available:
|
||||
|
||||
- ``-a`` or ``--append`` causes the values to be appended to the current set of values for the variable. This can be used with ``--prepend`` to both append and prepend at the same time. This cannot be used when assigning to a variable slice.
|
||||
|
||||
- ``-p`` or ``--prepend`` causes the values to be prepended to the current set of values for the variable. This can be used with ``--append`` to both append and prepend at the same time. This cannot be used when assigning to a variable slice.
|
||||
|
||||
- ``-e`` or ``--erase`` causes the specified shell variables to be erased
|
||||
|
||||
- ``-q`` or ``--query`` test if the specified variable names are defined. Does not output anything, but the builtins exit status is the number of variables specified that were not defined, or 255 if more than 255 variables are not defined.
|
||||
|
||||
- ``-n`` or ``--names`` List only the names of all defined variables, not their value. The names are guaranteed to be sorted.
|
||||
- ``-n`` or ``--names``: List only the names of all defined variables, not their value. The names are guaranteed to be sorted.
|
||||
|
||||
- ``-S`` or ``--show`` Shows information about the given variables. If no variable names are given then all variables are shown in sorted order. It shows the scopes the given variables are set in, along with the values in each and whether or not it is exported. No other flags can be used with this option.
|
||||
- ``-S`` or ``--show`` shows information about the given variables. If no variable names are given then all variables are shown in sorted order. It shows the scopes the given variables are set in, along with the values in each and whether or not it is exported. No other flags can be used with this option.
|
||||
|
||||
- ``-L`` or ``--long`` do not abbreviate long values when printing set variables
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ The following operations (sub-commands) are available:
|
||||
- ``fish-path`` prints the absolute path to the currently executing instance of fish.
|
||||
|
||||
- ``function`` prints the name of the currently called function if able, when missing displays "Not a
|
||||
function" (or equivalent translated string). Also ``current-function``, ``-u`` or ``--current-function``.
|
||||
function" (or equivalent translated string). Also ``current-function``.
|
||||
|
||||
- ``line-number`` prints the line number of the currently running script. Also ``current-line-number``, ``-n`` or ``--current-line-number``.
|
||||
|
||||
@@ -78,6 +78,6 @@ The following operations (sub-commands) are available:
|
||||
Notes
|
||||
-----
|
||||
|
||||
For backwards compatibility each subcommand can also be specified as a long or short option. For example, rather than ``status is-login`` you can type ``status --is-login``. The flag forms are deprecated and may be removed in a future release (but not before fish 3.0).
|
||||
For backwards compatibility most subcommands can also be specified as a long or short option. For example, rather than ``status is-login`` you can type ``status --is-login``. The flag forms are deprecated and may be removed in a future release (but not before fish 4.0).
|
||||
|
||||
You can only specify one subcommand per invocation even if you use the flag form of the subcommand.
|
||||
|
||||
@@ -22,6 +22,8 @@ Description
|
||||
|
||||
``string join0`` joins its STRING arguments into a single string separated by the zero byte (NUL), and adds a trailing NUL. This is most useful in conjunction with tools that accept NUL-delimited input, such as ``sort -z``. Exit status: 0 if at least one join was performed, or 1 otherwise.
|
||||
|
||||
Because Unix uses NUL as the string terminator, passing the output of ``string join0`` as an *argument* to a command (via a :ref:`command substitution <expand-command-substitution>`) won't actually work. Fish will pass the correct bytes along, but the command won't be able to tell where the argument ends. This is a limitation of Unix' argument passing.
|
||||
|
||||
.. END DESCRIPTION
|
||||
|
||||
Examples
|
||||
@@ -34,4 +36,11 @@ Examples
|
||||
>_ seq 3 | string join ...
|
||||
1...2...3
|
||||
|
||||
# Give a list of NUL-separated filenames to du (this is a GNU extension)
|
||||
>_ string join0 file1 file2 file\nwith\nmultiple\nlines | du --files0-from=-
|
||||
|
||||
# Just put the strings together without a separator
|
||||
>_ string join '' a b c
|
||||
abc
|
||||
|
||||
.. END EXAMPLES
|
||||
|
||||
@@ -119,7 +119,7 @@ These paths are controlled by parameters set at build, install, or run time, and
|
||||
|
||||
This wide search may be confusing. If you are unsure, your completions probably belong in ``~/.config/fish/completions``.
|
||||
|
||||
If you have written new completions for a common Unix command, please consider sharing your work by submitting it via the instructions in `Further help and development <#more-help>`_.
|
||||
If you have written new completions for a common Unix command, please consider sharing your work by submitting it via the instructions in :ref:`Further help and development <more-help>`
|
||||
|
||||
If you are developing another program and would like to ship completions with your program, install them to the "vendor" completions directory. As this path may vary from system to system, the ``pkgconfig`` framework should be used to discover this path with the output of ``pkg-config --variable completionsdir fish``.
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ highlight_language = "fish-docs-samples"
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = "fish-shell"
|
||||
copyright = "2020, fish-shell developers"
|
||||
copyright = "2021, fish-shell developers"
|
||||
author = "fish-shell developers"
|
||||
issue_url = "https://github.com/fish-shell/fish-shell/issues"
|
||||
|
||||
@@ -210,12 +210,17 @@ def get_command_description(path, name):
|
||||
return desc.strip()
|
||||
raise SphinxWarning("No description in file %s" % os.path.basename(path))
|
||||
|
||||
# Newer sphinxen apparently create another subdirectory which breaks our man lookup.
|
||||
# Unbreak it (#7996)
|
||||
man_make_section_directory = False
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
(master_doc, "fish-doc", "fish-shell Documentation", [author], 1),
|
||||
("tutorial", "fish-tutorial", "fish-shell tutorial", [author], 1),
|
||||
("language", "fish-language", "The fish language", [author], 1),
|
||||
("interactive", "fish-interactive", "Using fish interactively", [author], 1),
|
||||
("relnotes", "fish-releasenotes", "fish-shell release notes", [author], 1),
|
||||
("completions", "fish-completions", "Writing fish completions", [author], 1),
|
||||
(
|
||||
|
||||
@@ -64,7 +64,7 @@ variables.
|
||||
This means that the global value takes precedence over the universal value.
|
||||
|
||||
To avoid this problem, consider changing the setting which fish inherits. If this is not possible,
|
||||
add a statement to your :ref:`user initialization file <initialization>` (usually
|
||||
add a statement to your :ref:`configuration file <configuration>` (usually
|
||||
``~/.config/fish/config.fish``)::
|
||||
|
||||
set -gx EDITOR vim
|
||||
@@ -296,6 +296,7 @@ In fish versions prior to 2.5.0 it was possible to create a function named ``-``
|
||||
The open command doesn't work.
|
||||
------------------------------
|
||||
The ``open`` command uses the MIME type database and the ``.desktop`` files used by Gnome and KDE to identify filetypes and default actions. If at least one of these environments is installed, but the open command is not working, this probably means that the relevant files are installed in a non-standard location. Consider :ref:`asking for more help <more-help>`.
|
||||
|
||||
.. _faq-ssh-interactive:
|
||||
|
||||
Why won't SSH/SCP/rsync connect properly when fish is my login shell?
|
||||
@@ -305,7 +306,7 @@ This problem may show up as messages like "``Received message too long``", "``op
|
||||
failed: not a terminal``", "``Bad packet length``", or "``Connection refused``" with strange output
|
||||
in ``ssh_exchange_identification`` messages in the debug log.
|
||||
|
||||
This usually happens because fish reads the :ref:`user configuration file <initialization>` (``~/.config/fish/config.fish``) *always*,
|
||||
This usually happens because fish reads the :ref:`user configuration file <configuration>` (``~/.config/fish/config.fish``) *always*,
|
||||
whether it's in an interactive or login or non-interactive or non-login shell.
|
||||
|
||||
This simplifies matters, but it also means when config.fish generates output, it will do that even in non-interactive shells like the one ssh/scp/rsync start when they connect.
|
||||
@@ -321,8 +322,8 @@ The same applies for example when you start ``tmux`` in config.fish without guar
|
||||
|
||||
.. _faq-unicode:
|
||||
|
||||
I'm getting weird graphical glitches (a staircase effect, ghost characters,...)?
|
||||
--------------------------------------------------------------------------------
|
||||
I'm getting weird graphical glitches (a staircase effect, ghost characters, cursor in the wrong position,...)?
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
In a terminal, the application running inside it and the terminal itself need to agree on the width of characters in order to handle cursor movement.
|
||||
|
||||
This is more important to fish than other shells because features like syntax highlighting and autosuggestions are implemented by moving the cursor.
|
||||
|
||||
@@ -7,6 +7,8 @@ This is to give you a quick overview if you come from bash (or to a lesser exten
|
||||
|
||||
Many things are similar - they both fundamentally expand commandlines to execute commands, have pipes, redirections, variables, globs, use command output in various ways. This document is there to quickly show you the differences.
|
||||
|
||||
.. _bash-command-substitutions:
|
||||
|
||||
Command substitutions
|
||||
---------------------
|
||||
|
||||
@@ -262,6 +264,48 @@ Fish's blocking constructs look a little different. They all start with a word,
|
||||
|
||||
Fish does not have an ``until``. Use ``while not`` or ``while !``.
|
||||
|
||||
Subshells
|
||||
---------
|
||||
|
||||
Bash has a feature called "subshells", where it will start another shell process for certain things. That shell will then be independent and e.g. any changes it makes to variables won't be visible in the main shell.
|
||||
|
||||
This includes things like:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
# A list of commands in `()` parentheses
|
||||
(foo; bar) | baz
|
||||
|
||||
# Both sides of a pipe
|
||||
foo | while read -r bar; do
|
||||
# This variable will not be visible outside of the while loop.
|
||||
VAR=VAL
|
||||
# This background process will not be, either
|
||||
baz &
|
||||
done
|
||||
|
||||
``()`` subshells are often confused with ``{}`` grouping, which does *not* use a subshell. When you just need to group, you can use ``begin; end`` in fish::
|
||||
|
||||
(foo; bar) | baz
|
||||
# when it should really have been:
|
||||
{ foo; bar } | baz
|
||||
# becomes
|
||||
begin; foo; bar; end | baz
|
||||
|
||||
The pipe will simply be run in the same process, so ``while read`` loops can set variables outside::
|
||||
|
||||
foo | while read bar
|
||||
set -g VAR VAL
|
||||
baz &
|
||||
end
|
||||
|
||||
echo $VAR # will print VAL
|
||||
jobs # will show "baz"
|
||||
|
||||
Subshells are also frequently confused with :ref:`command substitutions <bash-command-substitutions>`, which bash writes as ```command``` or ``$(command)`` and fish writes as ``(command)``. Bash also *uses* subshells to implement them.
|
||||
|
||||
The isolation can usually be achieved by just scoping variables (with ``set -l``), but if you really do need to run your code in a new shell environment you can always use ``fish -c 'your code here'`` to do so explicitly.
|
||||
|
||||
Builtins and other commands
|
||||
---------------------------
|
||||
|
||||
|
||||
1997
doc_src/index.rst
1997
doc_src/index.rst
File diff suppressed because it is too large
Load Diff
571
doc_src/interactive.rst
Normal file
571
doc_src/interactive.rst
Normal file
@@ -0,0 +1,571 @@
|
||||
.. _interactive:
|
||||
|
||||
Interactive use
|
||||
***************
|
||||
|
||||
Fish prides itself on being really nice to use interactively. That's down to a few features we'll explain in the next few sections.
|
||||
|
||||
Fish is used by giving commands in the fish language, see :ref:`The Fish Language <language>` for information on that.
|
||||
|
||||
Help
|
||||
----
|
||||
|
||||
Fish has an extensive help system. Use the :ref:`help <cmd-help>` command to obtain help on a specific subject or command. For instance, writing ``help syntax`` displays the :ref:`syntax section <syntax>` of this documentation.
|
||||
|
||||
Fish also has man pages for its commands, and translates the help pages to man pages. For example, ``man set`` will show the documentation for ``set`` as a man page.
|
||||
|
||||
Help on a specific builtin can also be obtained with the ``-h`` parameter. For instance, to obtain help on the :ref:`fg <cmd-fg>` builtin, either type ``fg -h`` or ``help fg``.
|
||||
|
||||
This page can be viewed via ``help index`` (or just ``help``) or ``man fish-doc``. The tutorial can be viewed with ``help tutorial`` or ``man fish-tutorial``.
|
||||
|
||||
.. _autosuggestions:
|
||||
|
||||
Autosuggestions
|
||||
---------------
|
||||
|
||||
fish suggests commands as you type, based on :ref:`command history <history-search>`, completions, and valid file paths. As you type commands, you will see a suggestion offered after the cursor, in a muted gray color (which can be changed with the ``fish_color_autosuggestion`` variable).
|
||||
|
||||
To accept the autosuggestion (replacing the command line contents), press :kbd:`→` or :kbd:`Control`\ +\ :kbd:`F`. To accept the first suggested word, press :kbd:`Alt`\ +\ :kbd:`→` or :kbd:`Alt`\ +\ :kbd:`F`. If the autosuggestion is not what you want, just ignore it: it won't execute unless you accept it.
|
||||
|
||||
Autosuggestions are a powerful way to quickly summon frequently entered commands, by typing the first few characters. They are also an efficient technique for navigating through directory hierarchies.
|
||||
|
||||
|
||||
.. _tab-completion:
|
||||
|
||||
Tab Completion
|
||||
--------------
|
||||
|
||||
Tab completion is a time saving feature of any modern shell. When you type :kbd:`Tab`, fish tries to guess the rest of the word under the cursor. If it finds just one possibility, it inserts it. If it finds more, it inserts the longest unambiguous part and then opens a menu (the "pager") that you can navigate to find what you're looking for.
|
||||
|
||||
The pager can be navigated with the arrow keys, :kbd:`Page Up` / :kbd:`Page Down`, :kbd:`Tab` or :kbd:`Shift`\ +\ :kbd:`Tab`. Pressing :kbd:`Control`\ +\ :kbd:`S` (the ``pager-toggle-search`` binding - :kbd:`/` in vi-mode) opens up a search menu that you can use to filter the list.
|
||||
|
||||
Fish provides some general purpose completions:
|
||||
|
||||
- Commands (builtins, functions and regular programs).
|
||||
|
||||
- Shell variable names.
|
||||
|
||||
- Usernames for tilde expansion.
|
||||
|
||||
- Filenames, even on strings with wildcards such as ``*`` and ``**``.
|
||||
|
||||
It also provides a large number of program specific scripted completions. Most of these completions are simple options like the ``-l`` option for ``ls``, but some are more advanced. For example:
|
||||
|
||||
- The programs ``man`` and ``whatis`` show all installed manual pages as completions.
|
||||
|
||||
- The ``make`` program uses all targets in the Makefile in the current directory as completions.
|
||||
|
||||
- The ``mount`` command uses all mount points specified in fstab as completions.
|
||||
|
||||
- The ``ssh`` command uses all hosts that are stored in the known_hosts file as completions. (See the ssh documentation for more information)
|
||||
|
||||
- The ``su`` command shows the users on the system
|
||||
|
||||
- The ``apt-get``, ``rpm`` and ``yum`` commands show installed or installable packages
|
||||
|
||||
You can also write your own completions or install some you got from someone else. For that, see :ref:`Writing your own completions <completion-own>`.
|
||||
|
||||
.. _color:
|
||||
|
||||
Syntax highlighting
|
||||
-------------------
|
||||
|
||||
Fish interprets the command line as it is typed and uses syntax highlighting to provide feedback. The most important feedback is the detection of potential errors. By default, errors are marked red.
|
||||
|
||||
Detected errors include:
|
||||
|
||||
- Non existing commands.
|
||||
- Reading from or appending to a non existing file.
|
||||
- Incorrect use of output redirects
|
||||
- Mismatched parenthesis
|
||||
|
||||
|
||||
When the cursor is over a parenthesis or a quote, fish also highlights its matching quote or parenthesis.
|
||||
|
||||
To customize the syntax highlighting, you can set the environment variables listed in the :ref:`Variables for changing highlighting colors <variables-color>` section.
|
||||
|
||||
.. _variables-color:
|
||||
|
||||
Syntax highlighting variables
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The colors used by fish for syntax highlighting can be configured by changing the values of a various variables. The value of these variables can be one of the colors accepted by the :ref:`set_color <cmd-set_color>` command. The modifier switches accepted by ``set_color`` like ``--bold``, ``--dim``, ``--italics``, ``--reverse`` and ``--underline`` are also accepted.
|
||||
|
||||
|
||||
Example: to make errors highlighted and red, use::
|
||||
|
||||
set fish_color_error red --bold
|
||||
|
||||
|
||||
The following variables are available to change the highlighting colors in fish:
|
||||
|
||||
========================================== =====================================================================
|
||||
Variable Meaning
|
||||
========================================== =====================================================================
|
||||
``fish_color_normal`` default color
|
||||
``fish_color_command`` commands like echo
|
||||
``fish_color_keyword`` keywords like if - this falls back on the command color if unset
|
||||
``fish_color_quote`` quoted text like "abc"
|
||||
``fish_color_redirection`` IO redirections like >/dev/null
|
||||
``fish_color_end`` process separators like ';' and '&'
|
||||
``fish_color_error`` syntax errors
|
||||
``fish_color_param`` ordinary command parameters
|
||||
``fish_color_comment`` comments like '# important'
|
||||
``fish_color_selection`` selected text in vi visual mode
|
||||
``fish_color_operator`` parameter expansion operators like '*' and '~'
|
||||
``fish_color_escape`` character escapes like '\n' and '\x70'
|
||||
``fish_color_autosuggestion`` autosuggestions (the proposed rest of a command)
|
||||
``fish_color_cwd`` the current working directory in the default prompt
|
||||
``fish_color_user`` the username in the default prompt
|
||||
``fish_color_host`` the hostname in the default prompt
|
||||
``fish_color_host_remote`` the hostname in the default prompt for remote sessions (like ssh)
|
||||
``fish_color_cancel`` the '^C' indicator on a canceled command
|
||||
``fish_color_search_match`` history search matches and selected pager items (background only)
|
||||
========================================== =====================================================================
|
||||
|
||||
If a variable isn't set, fish usually tries ``$fish_color_normal``, except for ``$fish_color_keyword``, where it tries ``$fish_color_command`` first.
|
||||
|
||||
.. _variables-color-pager:
|
||||
|
||||
Pager color variables
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
fish will sometimes present a list of choices in a table, called the pager.
|
||||
|
||||
Example: to set the background of each pager row, use::
|
||||
|
||||
set fish_pager_color_background --background=white
|
||||
|
||||
To have black text on alternating white and gray backgrounds::
|
||||
|
||||
set fish_pager_color_prefix black
|
||||
set fish_pager_color_completion black
|
||||
set fish_pager_color_description black
|
||||
set fish_pager_color_background --background=white
|
||||
set fish_pager_color_secondary_background --background=brwhite
|
||||
|
||||
Variables affecting the pager colors:
|
||||
|
||||
========================================== ===========================================================
|
||||
Variable Meaning
|
||||
========================================== ===========================================================
|
||||
``fish_pager_color_progress`` the progress bar at the bottom left corner
|
||||
``fish_pager_color_background`` the background color of a line
|
||||
``fish_pager_color_prefix`` the prefix string, i.e. the string that is to be completed
|
||||
``fish_pager_color_completion`` the completion itself, i.e. the proposed rest of the string
|
||||
``fish_pager_color_description`` the completion description
|
||||
``fish_pager_color_selected_background`` background of the selected completion
|
||||
``fish_pager_color_selected_prefix`` prefix of the selected completion
|
||||
``fish_pager_color_selected_completion`` suffix of the selected completion
|
||||
``fish_pager_color_selected_description`` description of the selected completion
|
||||
``fish_pager_color_secondary_background`` background of every second unselected completion
|
||||
``fish_pager_color_secondary_prefix`` prefix of every second unselected completion
|
||||
``fish_pager_color_secondary_completion`` suffix of every second unselected completion
|
||||
``fish_pager_color_secondary_description`` description of every second unselected completion
|
||||
========================================== ===========================================================
|
||||
|
||||
When the secondary or selected variables aren't set, the normal variables are used, except for ``$fish_pager_color_selected_background``, where the background of ``$fish_color_search_match`` is tried first.
|
||||
|
||||
.. _abbreviations:
|
||||
|
||||
Abbreviations
|
||||
-------------
|
||||
|
||||
To avoid needless typing, a frequently-run command like ``git checkout`` can be abbreviated to ``gco`` using the :ref:`abbr <cmd-abbr>` command.
|
||||
|
||||
::
|
||||
|
||||
abbr -a gco git checkout
|
||||
|
||||
After entering ``gco`` and pressing :kbd:`Space` or :kbd:`Enter`, the full text ``git checkout`` will appear in the command line.
|
||||
|
||||
This is an alternative to aliases, and has the advantage that you see the actual command before using it, and the actual command will be stored in history.
|
||||
|
||||
.. _title:
|
||||
|
||||
Programmable title
|
||||
------------------
|
||||
|
||||
When using most virtual terminals, it is possible to set the message displayed in the titlebar of the terminal window. This can be done automatically in fish by defining the :ref:`fish_title <cmd-fish_title>` function. The :ref:`fish_title <cmd-fish_title>` function is executed before and after a new command is executed or put into the foreground and the output is used as a titlebar message. The :ref:`status current-command <cmd-status>` builtin will always return the name of the job to be put into the foreground (or ``fish`` if control is returning to the shell) when the `fish_prompt <cmd-fish_prompt>` function is called. The first argument to fish_title will contain the most recently executed foreground command as a string, starting with fish 2.2.
|
||||
|
||||
Examples:
|
||||
The default fish title is::
|
||||
|
||||
|
||||
function fish_title
|
||||
echo (status current-command) ' '
|
||||
pwd
|
||||
end
|
||||
|
||||
To show the last command in the title::
|
||||
|
||||
function fish_title
|
||||
echo $argv[1]
|
||||
end
|
||||
|
||||
.. _prompt:
|
||||
|
||||
Programmable prompt
|
||||
-------------------
|
||||
|
||||
When fish waits for input, it will display a prompt by evaluating the :ref:`fish_prompt <cmd-fish_prompt>` and :ref:`fish_right_prompt <cmd-fish_right_prompt>` functions. The output of the former is displayed on the left and the latter's output on the right side of the terminal. The output of :ref:`fish_mode_prompt <cmd-fish_mode_prompt>` will be prepended on the left, though the default function only does this when in :ref:`vi-mode <vi-mode>`.
|
||||
|
||||
.. _greeting:
|
||||
|
||||
Configurable greeting
|
||||
---------------------
|
||||
|
||||
If a function named :ref:`fish_greeting <cmd-fish_greeting>` exists, it will be run when entering interactive mode. Otherwise, if an environment variable named :ref:`fish_greeting <cmd-fish_greeting>` exists, it will be printed.
|
||||
|
||||
.. _private-mode:
|
||||
|
||||
Private mode
|
||||
-------------
|
||||
|
||||
If ``$fish_private_mode`` is set to a non-empty value, commands will not be written to the history file on disk.
|
||||
|
||||
You can also launch with ``fish --private`` (or ``fish -P`` for short). This both hides old history and prevents writing history to disk. This is useful to avoid leaking personal information (e.g. for screencasts) or when dealing with sensitive information.
|
||||
|
||||
You can query the variable ``fish_private_mode`` (``if test -n "$fish_private_mode" ...``) if you would like to respect the user's wish for privacy and alter the behavior of your own fish scripts.
|
||||
|
||||
.. _editor:
|
||||
|
||||
Command line editor
|
||||
-------------------
|
||||
|
||||
The fish editor features copy and paste, a :ref:`searchable history <history-search>` and many editor functions that can be bound to special keyboard shortcuts.
|
||||
|
||||
Like bash and other shells, fish includes two sets of keyboard shortcuts (or key bindings): one inspired by the Emacs text editor, and one by the Vi text editor. The default editing mode is Emacs. You can switch to Vi mode by running ``fish_vi_key_bindings`` and switch back with ``fish_default_key_bindings``. You can also make your own key bindings by creating a function and setting the ``fish_key_bindings`` variable to its name. For example::
|
||||
|
||||
|
||||
function fish_hybrid_key_bindings --description \
|
||||
"Vi-style bindings that inherit emacs-style bindings in all modes"
|
||||
for mode in default insert visual
|
||||
fish_default_key_bindings -M $mode
|
||||
end
|
||||
fish_vi_key_bindings --no-erase
|
||||
end
|
||||
set -g fish_key_bindings fish_hybrid_key_bindings
|
||||
|
||||
While the key bindings included with fish include many of the shortcuts popular from the respective text editors, they are not a complete implementation. They include a shortcut to open the current command line in your preferred editor (:kbd:`Alt`\ +\ :kbd:`E` by default) if you need the full power of your editor.
|
||||
|
||||
.. _shared-binds:
|
||||
|
||||
Shared bindings
|
||||
---------------
|
||||
|
||||
Some bindings are common across Emacs and Vi mode, because they aren't text editing bindings, or because what Vi/Vim does for a particular key doesn't make sense for a shell.
|
||||
|
||||
- :kbd:`Tab` :ref:`completes <tab-completion>` the current token. :kbd:`Shift`\ +\ :kbd:`Tab` completes the current token and starts the pager's search mode.
|
||||
|
||||
- :kbd:`←` (Left) and :kbd:`→` (Right) move the cursor left or right by one character. If the cursor is already at the end of the line, and an autosuggestion is available, :kbd:`→` accepts the autosuggestion.
|
||||
|
||||
- :kbd:`Enter` executes the current commandline or inserts a newline if it's not complete yet (e.g. a ``)`` or ``end`` is missing).
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`Enter` inserts a newline at the cursor position.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`←` and :kbd:`Alt`\ +\ :kbd:`→` move the cursor one word left or right (to the next space or punctuation mark), or moves forward/backward in the directory history if the command line is empty. If the cursor is already at the end of the line, and an autosuggestion is available, :kbd:`Alt`\ +\ :kbd:`→` (or :kbd:`Alt`\ +\ :kbd:`F`) accepts the first word in the suggestion.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`←` and :kbd:`Control`\ +\ :kbd:`→` move the cursor one word left or right. These accept one word of the autosuggestion - the part they'd move over.
|
||||
|
||||
- :kbd:`Shift`\ +\ :kbd:`←` and :kbd:`Shift`\ +\ :kbd:`→` move the cursor one word left or right, without stopping on punctuation. These accept one big word of the autosuggestion.
|
||||
|
||||
- :kbd:`↑` (Up) and :kbd:`↓` (Down) (or :kbd:`Control`\ +\ :kbd:`P` and :kbd:`Control`\ +\ :kbd:`N` for emacs aficionados) search the command history for the previous/next command containing the string that was specified on the commandline before the search was started. If the commandline was empty when the search started, all commands match. See the :ref:`history <history-search>` section for more information on history searching.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`↑` and :kbd:`Alt`\ +\ :kbd:`↓` search the command history for the previous/next token containing the token under the cursor before the search was started. If the commandline was not on a token when the search started, all tokens match. See the :ref:`history <history-search>` section for more information on history searching.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`C` cancels the entire line.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`D` delete one character to the right of the cursor. If the command line is empty, :kbd:`Control`\ +\ :kbd:`D` will exit fish.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`U` moves contents from the beginning of line to the cursor to the :ref:`killring <killring>`.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`L` clears and repaints the screen.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`R` searches the history if there is something in the commandline. This is mainly to ease the transition from other shells, where ctrl+r initiates the history search.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`W` moves the previous path component (everything up to the previous "/", ":" or "@") to the :ref:`killring`.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`X` copies the current buffer to the system's clipboard, :kbd:`Control`\ +\ :kbd:`V` inserts the clipboard contents.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`D` moves the next word to the :ref:`killring`.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`H` (or :kbd:`F1`) shows the manual page for the current command, if one exists.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`L` lists the contents of the current directory, unless the cursor is over a directory argument, in which case the contents of that directory will be listed.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`O` opens the file at the cursor in a pager.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`P` adds the string ``&| less;`` to the end of the job under the cursor. The result is that the output of the command will be paged.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`W` prints a short description of the command under the cursor.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`E` edit the current command line in an external editor. The editor is chosen from the first available of the ``$VISUAL`` or ``$EDITOR`` variables.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`V` Same as :kbd:`Alt`\ +\ :kbd:`E`.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`S` Prepends ``sudo`` to the current commandline. If the commandline is empty, prepend ``sudo`` to the last commandline.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`Space` Inserts a space without expanding an :ref:`abbreviation <abbreviations>`. For vi-mode this only applies to insert-mode.
|
||||
|
||||
.. _emacs-mode:
|
||||
|
||||
Emacs mode commands
|
||||
-------------------
|
||||
|
||||
- :kbd:`Home` or :kbd:`Control`\ +\ :kbd:`A` moves the cursor to the beginning of the line.
|
||||
|
||||
- :kbd:`End` or :kbd:`Control`\ +\ :kbd:`E` moves to the end of line. If the cursor is already at the end of the line, and an autosuggestion is available, :kbd:`End` or :kbd:`Control`\ +\ :kbd:`E` accepts the autosuggestion.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`B`, :kbd:`Control`\ +\ :kbd:`F` move the cursor one character left or right or accept the autosuggestion just like the :kbd:`←` (Left) and :kbd:`→` (Right) shared bindings (which are available as well).
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`N`, :kbd:`Control`\ +\ :kbd:`P` move the cursor up/down or through history, like the up and down arrow shared bindings.
|
||||
|
||||
- :kbd:`Delete` or :kbd:`Backspace` removes one character forwards or backwards respectively.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`K` moves contents from the cursor to the end of line to the :ref:`killring`.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`C` capitalizes the current word.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`U` makes the current word uppercase.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`T` transposes the last two characters.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`T` transposes the last two words.
|
||||
|
||||
- :kbd:`Control`\ +\ :kbd:`Z`, :kbd:`Control`\ +\ :kbd:`_` (:kbd:`Control`\ +\ :kbd:`/` on some terminals) undo the most recent edit of the line.
|
||||
|
||||
- :kbd:`Alt`\ +\ :kbd:`/` reverts the most recent undo.
|
||||
|
||||
|
||||
You can change these key bindings using the :ref:`bind <cmd-bind>` builtin.
|
||||
|
||||
|
||||
.. _vi-mode:
|
||||
|
||||
Vi mode commands
|
||||
----------------
|
||||
|
||||
Vi mode allows for the use of Vi-like commands at the prompt. Initially, :ref:`insert mode <vi-mode-insert>` is active. :kbd:`Escape` enters :ref:`command mode <vi-mode-command>`. The commands available in command, insert and visual mode are described below. Vi mode shares :ref:`some bindings <shared-binds>` with :ref:`Emacs mode <emacs-mode>`.
|
||||
|
||||
It is also possible to add all emacs-mode bindings to vi-mode by using something like::
|
||||
|
||||
|
||||
function fish_user_key_bindings
|
||||
# Execute this once per mode that emacs bindings should be used in
|
||||
fish_default_key_bindings -M insert
|
||||
|
||||
# Then execute the vi-bindings so they take precedence when there's a conflict.
|
||||
# Without --no-erase fish_vi_key_bindings will default to
|
||||
# resetting all bindings.
|
||||
# The argument specifies the initial mode (insert, "default" or visual).
|
||||
fish_vi_key_bindings --no-erase insert
|
||||
end
|
||||
|
||||
|
||||
When in vi-mode, the :ref:`fish_mode_prompt <cmd-fish_mode_prompt>` function will display a mode indicator to the left of the prompt. To disable this feature, override it with an empty function. To display the mode elsewhere (like in your right prompt), use the output of the ``fish_default_mode_prompt`` function.
|
||||
|
||||
When a binding switches the mode, it will repaint the mode-prompt if it exists, and the rest of the prompt only if it doesn't. So if you want a mode-indicator in your ``fish_prompt``, you need to erase ``fish_mode_prompt`` e.g. by adding an empty file at ``~/.config/fish/functions/fish_mode_prompt.fish``. (Bindings that change the mode are supposed to call the `repaint-mode` bind function, see :ref:`bind <cmd-bind>`)
|
||||
|
||||
The ``fish_vi_cursor`` function will be used to change the cursor's shape depending on the mode in supported terminals. The following snippet can be used to manually configure cursors after enabling vi-mode::
|
||||
|
||||
# Emulates vim's cursor shape behavior
|
||||
# Set the normal and visual mode cursors to a block
|
||||
set fish_cursor_default block
|
||||
# Set the insert mode cursor to a line
|
||||
set fish_cursor_insert line
|
||||
# Set the replace mode cursor to an underscore
|
||||
set fish_cursor_replace_one underscore
|
||||
# The following variable can be used to configure cursor shape in
|
||||
# visual mode, but due to fish_cursor_default, is redundant here
|
||||
set fish_cursor_visual block
|
||||
|
||||
Additionally, ``blink`` can be added after each of the cursor shape parameters to set a blinking cursor in the specified shape.
|
||||
|
||||
If the cursor shape does not appear to be changing after setting the above variables, it's likely your terminal emulator does not support the capabilities necessary to do this. It may also be the case, however, that ``fish_vi_cursor`` has not detected your terminal's features correctly (for example, if you are using ``tmux``). If this is the case, you can force ``fish_vi_cursor`` to set the cursor shape by setting ``$fish_vi_force_cursor`` in ``config.fish``. You'll have to restart fish for any changes to take effect. If cursor shape setting remains broken after this, it's almost certainly an issue with your terminal emulator, and not fish.
|
||||
|
||||
.. _vi-mode-command:
|
||||
|
||||
Command mode
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Command mode is also known as normal mode.
|
||||
|
||||
- :kbd:`H` moves the cursor left.
|
||||
|
||||
- :kbd:`L` moves the cursor right.
|
||||
|
||||
- :kbd:`I` enters :ref:`insert mode <vi-mode-insert>` at the current cursor position.
|
||||
|
||||
- :kbd:`V` enters :ref:`visual mode <vi-mode-visual>` at the current cursor position.
|
||||
|
||||
- :kbd:`A` enters :ref:`insert mode <vi-mode-insert>` after the current cursor position.
|
||||
|
||||
- :kbd:`Shift`\ +\ :kbd:`A` enters :ref:`insert mode <vi-mode-insert>` at the end of the line.
|
||||
|
||||
- :kbd:`0` (zero) moves the cursor to beginning of line (remaining in command mode).
|
||||
|
||||
- :kbd:`D`\ +\ :kbd:`D` deletes the current line and moves it to the :ref:`killring`.
|
||||
|
||||
- :kbd:`Shift`\ +\ :kbd:`D` deletes text after the current cursor position and moves it to the :ref:`killring`.
|
||||
|
||||
- :kbd:`P` pastes text from the :ref:`killring`.
|
||||
|
||||
- :kbd:`U` search history backwards.
|
||||
|
||||
- :kbd:`[` and :kbd:`]` search the command history for the previous/next token containing the token under the cursor before the search was started. See the :ref:`history <history-search>` section for more information on history searching.
|
||||
|
||||
- :kbd:`Backspace` moves the cursor left.
|
||||
|
||||
.. _vi-mode-insert:
|
||||
|
||||
Insert mode
|
||||
^^^^^^^^^^^
|
||||
|
||||
- :kbd:`Escape` enters :ref:`command mode <vi-mode-command>`.
|
||||
|
||||
- :kbd:`Backspace` removes one character to the left.
|
||||
|
||||
.. _vi-mode-visual:
|
||||
|
||||
Visual mode
|
||||
^^^^^^^^^^^
|
||||
|
||||
- :kbd:`←` (Left) and :kbd:`→` (Right) extend the selection backward/forward by one character.
|
||||
|
||||
- :kbd:`B` and :kbd:`W` extend the selection backward/forward by one word.
|
||||
|
||||
- :kbd:`D` and :kbd:`X` move the selection to the :ref:`killring` and enter :ref:`command mode <vi-mode-command>`.
|
||||
|
||||
- :kbd:`Escape` and :kbd:`Control`\ +\ :kbd:`C` enter :ref:`command mode <vi-mode-command>`.
|
||||
|
||||
- :kbd:`c` and :kbd:`s` remove the selection and switch to insert mode
|
||||
|
||||
- :kbd:`d` and :kbd:`x` remove the selection and switch to normal mode
|
||||
|
||||
- :kbd:`X` removes the entire line and switches to normal mode
|
||||
|
||||
- :kbd:`y` copies the selection and switches to normal mode
|
||||
|
||||
- :kbd:`~` toggles the case (upper/lower) on the selection and switches to normal mode
|
||||
|
||||
- :kbd:`"*y` copies the selection to the clipboard and switches to normal mode
|
||||
|
||||
.. _custom-binds:
|
||||
|
||||
Custom bindings
|
||||
---------------
|
||||
|
||||
In addition to the standard bindings listed here, you can also define your own with :ref:`bind <cmd-bind>`::
|
||||
|
||||
# Just clear the commandline on control-c
|
||||
bind \cc 'commandline -r ""'
|
||||
|
||||
Put ``bind`` statements into :ref:`config.fish <configuration>` or a function called ``fish_user_key_bindings``.
|
||||
|
||||
The key sequence (the ``\cc``) here depends on your setup, in particular the terminal. To find out what the terminal sends use :ref:`fish_key_reader <cmd-fish_key_reader>`::
|
||||
|
||||
> fish_key_reader # pressing control-c
|
||||
Press a key:
|
||||
hex: 3 char: \cC
|
||||
Press [ctrl-C] again to exit
|
||||
bind \cC 'do something'
|
||||
|
||||
> fish_key_reader # pressing the right-arrow
|
||||
Press a key:
|
||||
hex: 1B char: \c[ (or \e)
|
||||
( 0.077 ms) hex: 5B char: [
|
||||
( 0.037 ms) hex: 43 char: C
|
||||
bind \e\[C 'do something'
|
||||
|
||||
Note that some key combinations are indistinguishable or unbindable. For instance control-i *is the same* as the tab key. This is a terminal limitation that fish can't do anything about.
|
||||
|
||||
Also, :kbd:`Escape` is the same thing as :kbd:`Alt` in a terminal. To distinguish between pressing :kbd:`Escape` and then another key, and pressing :kbd:`Alt` and that key (or an escape sequence the key sends), fish waits for a certain time after seeing an escape character. This is configurable via the ``fish_escape_delay_ms`` variable.
|
||||
|
||||
If you want to be able to press :kbd:`Escape` and then a character and have it count as :kbd:`Alt`\ +\ that character, set it to a higher value, e.g.::
|
||||
|
||||
set -g fish_escape_delay_ms 100
|
||||
|
||||
.. _killring:
|
||||
|
||||
Copy and paste (Kill Ring)
|
||||
--------------------------
|
||||
|
||||
Fish uses an Emacs-style kill ring for copy and paste functionality. For example, use :kbd:`Control`\ +\ :kbd:`K` (`kill-line`) to cut from the current cursor position to the end of the line. The string that is cut (a.k.a. killed in emacs-ese) is inserted into a list of kills, called the kill ring. To paste the latest value from the kill ring (emacs calls this "yanking") use :kbd:`Control`\ +\ :kbd:`Y` (the ``yank`` input function). After pasting, use :kbd:`Alt`\ +\ :kbd:`Y` (``yank-pop``) to rotate to the previous kill.
|
||||
|
||||
Copy and paste from outside are also supported, both via the :kbd:`Control`\ +\ :kbd:`X` / :kbd:`Control`\ +\ :kbd:`V` bindings (the ``fish_clipboard_copy`` and ``fish_clipboard_paste`` functions [#]_) and via the terminal's paste function, for which fish enables "Bracketed Paste Mode", so it can tell a paste from manually entered text.
|
||||
In addition, when pasting inside single quotes, pasted single quotes and backslashes are automatically escaped so that the result can be used as a single token simply by closing the quote after.
|
||||
Kill ring entries are stored in ``fish_killring`` variable.
|
||||
|
||||
.. [#] These rely on external tools. Currently xsel, xclip, wl-copy/wl-paste and pbcopy/pbpaste are supported.
|
||||
|
||||
.. _multiline:
|
||||
|
||||
Multiline editing
|
||||
-----------------
|
||||
|
||||
The fish commandline editor can be used to work on commands that are several lines long. There are three ways to make a command span more than a single line:
|
||||
|
||||
- Pressing the :kbd:`Enter` key while a block of commands is unclosed, such as when one or more block commands such as ``for``, ``begin`` or ``if`` do not have a corresponding :ref:`end <cmd-end>` command.
|
||||
|
||||
- Pressing :kbd:`Alt`\ +\ :kbd:`Enter` instead of pressing the :kbd:`Enter` key.
|
||||
|
||||
- By inserting a backslash (``\``) character before pressing the :kbd:`Enter` key, escaping the newline.
|
||||
|
||||
The fish commandline editor works exactly the same in single line mode and in multiline mode. To move between lines use the left and right arrow keys and other such keyboard shortcuts.
|
||||
|
||||
.. _history-search:
|
||||
|
||||
Searchable command history
|
||||
--------------------------
|
||||
|
||||
After a command has been executed, it is remembered in the history list. Any duplicate history items are automatically removed. By pressing the up and down keys, you can search forwards and backwards in the history. If the current command line is not empty when starting a history search, only the commands containing the string entered into the command line are shown.
|
||||
|
||||
By pressing :kbd:`Alt`\ +\ :kbd:`↑` and :kbd:`Alt`\ +\ :kbd:`↓`, a history search is also performed, but instead of searching for a complete commandline, each commandline is broken into separate elements just like it would be before execution, and the history is searched for an element matching that under the cursor.
|
||||
|
||||
History searches are case-insensitive unless the search string contains an uppercase character, and they can be aborted by pressing the escape key.
|
||||
|
||||
Prefixing the commandline with a space will prevent the entire line from being stored in the history.
|
||||
|
||||
The command history is stored in the file ``~/.local/share/fish/fish_history`` (or
|
||||
``$XDG_DATA_HOME/fish/fish_history`` if that variable is set) by default. However, you can set the
|
||||
``fish_history`` environment variable to change the name of the history session (resulting in a
|
||||
``<session>_history`` file); both before starting the shell and while the shell is running.
|
||||
|
||||
See the :ref:`history <cmd-history>` command for other manipulations.
|
||||
|
||||
Examples:
|
||||
|
||||
To search for previous entries containing the word 'make', type ``make`` in the console and press the up key.
|
||||
|
||||
If the commandline reads ``cd m``, place the cursor over the ``m`` character and press :kbd:`Alt`\ +\ :kbd:`↑` to search for previously typed words containing 'm'.
|
||||
|
||||
Navigating directories
|
||||
----------------------
|
||||
|
||||
.. _directory-history:
|
||||
|
||||
The current working directory can be displayed with the :ref:`pwd <cmd-pwd>` command, or the ``$PWD`` :ref:`special variable <variables-special>`.
|
||||
|
||||
Directory history
|
||||
-----------------
|
||||
|
||||
Fish automatically keeps a trail of the recent visited directories with :ref:`cd <cmd-cd>` by storing this history in the ``dirprev`` and ``dirnext`` variables.
|
||||
|
||||
Several commands are provided to interact with this directory history:
|
||||
|
||||
- :ref:`dirh <cmd-dirh>` prints the history
|
||||
- :ref:`cdh <cmd-cdh>` displays a prompt to quickly navigate the history
|
||||
- :ref:`prevd <cmd-prevd>` moves backward through the history. It is bound to :kbd:`Alt`\ +\ :kbd:`←`
|
||||
- :ref:`nextd <cmd-nextd>` moves forward through the history. It is bound to :kbd:`Alt`\ +\ :kbd:`→`
|
||||
|
||||
.. _directory-stack:
|
||||
|
||||
Directory stack
|
||||
---------------
|
||||
|
||||
Another set of commands, usually also available in other shells like bash, deal with the directory stack. Stack handling is not automatic and needs explicit calls of the following commands:
|
||||
|
||||
- :ref:`dirs <cmd-dirs>` prints the stack
|
||||
- :ref:`pushd <cmd-pushd>` adds a directory on top of the stack and makes it the current working directory
|
||||
- :ref:`popd <cmd-popd>` removes the directory on top of the stack and changes the current working directory
|
||||
1452
doc_src/language.rst
Normal file
1452
doc_src/language.rst
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@ License
|
||||
License for fish
|
||||
----------------
|
||||
|
||||
``fish`` Copyright © 2005-2009 Axel Liljencrantz, 2009-2020 fish-shell contributors. ``fish`` is released under the GNU General Public License, version 2.
|
||||
``fish`` Copyright © 2005-2009 Axel Liljencrantz, 2009-2021 fish-shell contributors. ``fish`` is released under the GNU General Public License, version 2.
|
||||
|
||||
``fish`` includes other code licensed under the GNU General Public License, version 2, including GNU ``printf``.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
{% block rootrellink %}
|
||||
<li><img src="{{ pathto('_static/' + theme_root_icon, 1) }}" alt=""
|
||||
style="width: 80px; vertical-align: middle; margin-top: -1px"/></li>
|
||||
style="width: 80px; height: 80px; vertical-align: middle; margin-top: -1px"/></li>
|
||||
<li><a href="{{theme_root_url}}">{{theme_root_name}}</a>{{ reldelim1 }}</li>
|
||||
{% if theme_root_include_title %}
|
||||
<a href="{{ pathto('index') }}">{{ shorttitle }}</a>{{ reldelim1 }}
|
||||
@@ -37,7 +37,8 @@
|
||||
{%- endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar1 %}{{ sidebar() }}{% endblock %}
|
||||
{# The sidebar goes into the *document* block, so it ends up in the document *div* so it doesn't go over the footer #}
|
||||
{% block document %}{{ sidebar() }}{{ super() }}{% endblock %}
|
||||
{% block sidebar2 %} {% endblock %}
|
||||
{% block extrahead %}
|
||||
<link rel="shortcut icon" type="image/png" href="{{ pathto('_static/' + theme_root_icon, 1) }}" />
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
@import url("classic.css");
|
||||
|
||||
:root {
|
||||
color-scheme: light dark; /* both supported */
|
||||
}
|
||||
|
||||
html {
|
||||
background: none;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
@@ -26,6 +31,7 @@ div.related {
|
||||
padding: 0.5em 0;
|
||||
border-top: 1px solid #ccc;
|
||||
margin-top: 0;
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
div.section {
|
||||
@@ -34,9 +40,15 @@ div.section {
|
||||
but I have no idea how to make the tables themselves scrollable
|
||||
*/
|
||||
overflow-y: auto;
|
||||
/* This avoids leaving the actual text narrower than necessary
|
||||
in certain widths.
|
||||
*/
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.related a:hover {
|
||||
div.related a:hover,
|
||||
div.footer a:hover,
|
||||
div.sphinxsidebar a:hover {
|
||||
color: #0095C4;
|
||||
}
|
||||
|
||||
@@ -56,17 +68,41 @@ form.inline-search input[type="submit"] {
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
background-color: #eeeefa;
|
||||
border-right: 1px solid #ccc;
|
||||
border-radius: 0px;
|
||||
line-height: 130%;
|
||||
line-height: 150%;
|
||||
font-size: smaller;
|
||||
overflow: auto;
|
||||
position: absolute;
|
||||
margin-left: 0;
|
||||
float: left;
|
||||
/* Let this move along with the screen, but be scrollable itself.
|
||||
This means the user can't scroll *away* from the sidebar - it's always available */
|
||||
overflow: auto;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
max-height: 100vh;
|
||||
/* Default scrollbar is too thicc */
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
div.sphinxsidebar::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
div.sphinxsidebar::-webkit-scrollbar-thumb {
|
||||
/* Without, chrome lets the scrollbar disappear? */
|
||||
background-color: grey;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
div.documentwrapper {
|
||||
float: none;
|
||||
}
|
||||
|
||||
div.document, div.body {
|
||||
background-color: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
div#searchbox {
|
||||
/* Cheesy: The padding is on the sphinxsidebar*wrapper*,
|
||||
so if this is the last element the bottom padding won't apply.
|
||||
@@ -75,7 +111,7 @@ div#searchbox {
|
||||
}
|
||||
|
||||
div.sphinxsidebar h3, div.sphinxsidebar h4 {
|
||||
margin-top: 1.5em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
div.sphinxsidebarwrapper > h3:first-child {
|
||||
@@ -86,8 +122,8 @@ div.sphinxsidebarwrapper > ul > li > ul > li {
|
||||
margin-bottom: 0.4em;
|
||||
}
|
||||
|
||||
div.sphinxsidebar a:hover {
|
||||
color: #0095C4;
|
||||
ul li.toctree-l1 {
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
form.inline-search input,
|
||||
@@ -103,7 +139,7 @@ div.sphinxsidebar input[type=text] {
|
||||
}
|
||||
|
||||
div.body {
|
||||
padding: 0 0 0 1.2em;
|
||||
padding: 10px 0 0 1.2em;
|
||||
min-width: 150px;
|
||||
}
|
||||
|
||||
@@ -155,8 +191,13 @@ div.body a:hover {
|
||||
tt, code, pre {
|
||||
font-family: monospace, sans-serif;
|
||||
font-size: 96.5%;
|
||||
/* Older sphinx versions set a color here, we need to unset it so we inherit from the outer div.highlight */
|
||||
background-color: unset;
|
||||
/* Older sphinx versions set a color here, we need to inherit it from the outer div.highlight */
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
pre, div[class*="highlight-"] {
|
||||
/* For some reason sphinx since 3.1.2 sets "clear: both" here, which breaks in interesting ways */
|
||||
clear: unset;
|
||||
}
|
||||
|
||||
div.body tt, div.body code {
|
||||
@@ -213,10 +254,6 @@ div.footer {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
div.footer a:hover {
|
||||
color: #0095C4;
|
||||
}
|
||||
|
||||
.refcount {
|
||||
color: #060;
|
||||
}
|
||||
@@ -226,7 +263,7 @@ div.footer a:hover {
|
||||
}
|
||||
|
||||
.highlight {
|
||||
background: #FFF !important;
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
dl > dt span ~ em {
|
||||
@@ -237,10 +274,15 @@ dl > dt span ~ em {
|
||||
- the sidebar, the gradient background, ... */
|
||||
@media screen and (max-width: 700px) {
|
||||
div.sphinxsidebar {
|
||||
font-size: 16px;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
position: relative;
|
||||
}
|
||||
div.documentwrapper {
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul {
|
||||
flex-basis: content;
|
||||
flex-wrap: wrap;
|
||||
@@ -304,3 +346,82 @@ kbd {
|
||||
color: #000;
|
||||
padding: 0.1em 0.3em;
|
||||
}
|
||||
|
||||
.footnote, .footnote-reference {
|
||||
background-color: #ddddea;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
body {
|
||||
background: linear-gradient(to top, #1f1f3f 0%,#051f3a 100%);
|
||||
}
|
||||
div#fmain {
|
||||
color: #DDD;
|
||||
background-color: #202028;
|
||||
box-shadow: 0 0 5px 1px #000;
|
||||
}
|
||||
|
||||
div.body h1, div.body h2, div.body h3, div.body h4, div.body h5, div.body h6 {
|
||||
background-color: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.footnote, .footnote-reference {
|
||||
background-color: #101020;
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
border-right: 1px solid #666;
|
||||
}
|
||||
|
||||
div.related:first-child {
|
||||
border-bottom: 1px solid #666;
|
||||
}
|
||||
|
||||
div.related {
|
||||
border-top: 1px solid #666;
|
||||
}
|
||||
|
||||
div.sphinxsidebar a, div.footer {
|
||||
color: #CCC;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h3 a, div.related a, div.sphinxsidebar h3 {
|
||||
color: #AAA;
|
||||
}
|
||||
.highlight {
|
||||
background: #000;
|
||||
}
|
||||
kbd {
|
||||
background-color: #111;
|
||||
border: 1px solid #444;
|
||||
box-shadow: 0.1em 0.1em 0.2em rgba(100,100,100,0.1);
|
||||
color: #FFF;
|
||||
}
|
||||
table.docutils th {
|
||||
background-color: #222;
|
||||
}
|
||||
|
||||
table.docutils td {
|
||||
background-color: #111;
|
||||
}
|
||||
input {
|
||||
background-color: #222;
|
||||
color: #AAA;
|
||||
}
|
||||
|
||||
div.body a {
|
||||
color: #2092da;
|
||||
}
|
||||
dt:target, span.highlighted {
|
||||
background-color: #404060;
|
||||
}
|
||||
table.docutils {
|
||||
border: 1px solid #222;
|
||||
}
|
||||
|
||||
table.docutils td, table.docutils th {
|
||||
border: 1px solid #222 !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
@import "pydoctheme.css";
|
||||
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight { background: #f8f8f8; }
|
||||
.highlight .c { color: #8f5902; } /* Comment */
|
||||
|
||||
@@ -268,7 +268,8 @@ var Search = {
|
||||
} else {
|
||||
// normal html builders
|
||||
requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX;
|
||||
linkUrl = item[0] + DOCUMENTATION_OPTIONS.LINK_SUFFIX;
|
||||
// If LINK_SUFFIX is undefined, default to ".html" - I actually don't see this being anything else.
|
||||
linkUrl = item[0] + (DOCUMENTATION_OPTIONS.LINK_SUFFIX || ".html");
|
||||
}
|
||||
listItem.append($('<a/>').attr('href',
|
||||
linkUrl +
|
||||
|
||||
@@ -28,8 +28,8 @@ which means you are all set up and can start using fish::
|
||||
|
||||
|
||||
This prompt that you see above is the fish default prompt: it shows your username, hostname, and working directory.
|
||||
- to change this prompt see `how to change your prompt <#prompt>`_
|
||||
- to switch to fish permanently see `switch your default shell to fish <#switching-to-fish>`_.
|
||||
- to change this prompt see :ref:`how to change your prompt <prompt>`
|
||||
- to switch to fish permanently see :ref:`switch your default shell to fish <switching-to-fish>`.
|
||||
|
||||
From now on, we'll pretend your prompt is just a ``>`` to save space.
|
||||
|
||||
@@ -41,6 +41,7 @@ This tutorial assumes a basic understanding of command line shells and Unix comm
|
||||
|
||||
If you have a strong understanding of other shells, and want to know what fish does differently, search for the magic phrase *unlike other shells*, which is used to call out important differences.
|
||||
|
||||
Or, if you want a quick overview over the differences to other shells like Bash, see :ref:`Fish For Bash Users <fish_for_bash_users>`.
|
||||
|
||||
Running Commands
|
||||
----------------
|
||||
@@ -51,25 +52,20 @@ Fish runs commands like other shells: you type a command, followed by its argume
|
||||
hello world
|
||||
|
||||
|
||||
This runs the command ``echo`` with the arguments ``hello`` and ``world``.
|
||||
|
||||
You can include a literal space in an argument with a backslash, or by using single or double quotes::
|
||||
This runs the command ``echo`` with the arguments ``hello`` and ``world``. In this case that's the same as one argument ``hello world``, but in many cases it's not. If you need to pass an argument that includes a space, you can :ref:`escape <escapes>` with a backslash, or :ref:`quote <quotes>` it using single or double quotes::
|
||||
|
||||
> mkdir My\ Files
|
||||
# Makes a directory called "My Files", with a space in the name
|
||||
> cp ~/Some\ File 'My Files'
|
||||
# Copies a file called "Some File" in the home directory to "My Files"
|
||||
> ls "My Files"
|
||||
Some File
|
||||
|
||||
|
||||
Commands can be chained with semicolons.
|
||||
|
||||
|
||||
Getting Help
|
||||
------------
|
||||
|
||||
Fish has excellent help and man pages. Run ``help`` to open help in a web browser, and ``man`` to open it in a man page. You can also ask for help with a specific command, for example, ``help set`` to open in a web browser, or ``man set`` to see it in the terminal.
|
||||
|
||||
|
||||
Run ``help`` to open fish's help in a web browser, and ``man`` with the page (like ``fish-language``) to open it in a man page. You can also ask for help with a specific command, for example, ``help set`` to open in a web browser, or ``man set`` to see it in the terminal.
|
||||
|
||||
::
|
||||
|
||||
@@ -78,7 +74,6 @@ Fish has excellent help and man pages. Run ``help`` to open help in a web browse
|
||||
Synopsis...
|
||||
|
||||
|
||||
|
||||
Syntax Highlighting
|
||||
-------------------
|
||||
|
||||
@@ -141,6 +136,7 @@ Especially powerful is the recursive wildcard ** which searches directories recu
|
||||
|
||||
If that directory traversal is taking a long time, you can :kbd:`Control`\ +\ :kbd:`C` out of it.
|
||||
|
||||
For more, see :ref:`Wildcards <expand-wildcard>`.
|
||||
|
||||
Pipes and Redirections
|
||||
----------------------
|
||||
@@ -164,6 +160,7 @@ To redirect stdout and stderr into one file, you need to first redirect stdout,
|
||||
|
||||
> make > make_output.txt 2>&1
|
||||
|
||||
For more, see :ref:`Input and output redirections <redirects>` and :ref:`Pipes <pipes>`.
|
||||
|
||||
Autosuggestions
|
||||
---------------
|
||||
@@ -233,13 +230,13 @@ Try hitting tab and see what fish can do!
|
||||
Variables
|
||||
---------
|
||||
|
||||
Like other shells, a dollar sign performs variable substitution::
|
||||
Like other shells, a dollar sign followed by a variable name is replaced with the value of that variable::
|
||||
|
||||
> echo My home directory is $HOME
|
||||
My home directory is /home/tutorial
|
||||
|
||||
|
||||
Variable substitution also happens in double quotes, but not single quotes::
|
||||
This is known as variable substitution, and it also happens in double quotes, but not single quotes::
|
||||
|
||||
> echo "My current directory is $PWD"
|
||||
My current directory is /home/tutorial
|
||||
@@ -275,6 +272,8 @@ You can erase (or "delete") a variable with ``-e`` or ``--erase``
|
||||
> env | grep MyVariable
|
||||
(no output)
|
||||
|
||||
For more, see :ref:`Variable expansion <expand-variable>`.
|
||||
|
||||
.. _tut-exports:
|
||||
|
||||
Exports (Shell Variables)
|
||||
@@ -294,7 +293,9 @@ It can also be unexported with ``--unexport`` or ``-u``.
|
||||
|
||||
This works the other way around as well! If fish is started by something else, it inherits that parents exported variables. So if your terminal emulator starts fish, and it exports ``$LANG`` set to ``en_US.UTF-8``, fish will receive that setting. And whatever started your terminal emulator also gave *it* some variables that it will then pass on unless it specifically decides not to. This is how fish usually receives the values for things like ``$LANG``, ``$PATH`` and ``$TERM``, without you having to specify them again.
|
||||
|
||||
Note that exported variables can be local or global or universal - "exported" is not a :ref:`scope <variables-scope>`. Usually you'd make them global via ``set -gx MyVariable SomeValue``.
|
||||
Exported variables can be local or global or universal - "exported" is not a :ref:`scope <variables-scope>`! Usually you'd make them global via ``set -gx MyVariable SomeValue``.
|
||||
|
||||
For more, see :ref:`Exporting variables <variables-export>`.
|
||||
|
||||
.. _tut-lists:
|
||||
|
||||
@@ -310,7 +311,6 @@ Other variables, like ``$PATH``, really do have multiple values. During variable
|
||||
> echo $PATH
|
||||
/usr/bin /bin /usr/sbin /sbin /usr/local/bin
|
||||
|
||||
|
||||
Variables whose name ends in "PATH" are automatically split on colons to become lists. They are joined using colons when exported to subcommands. This is for compatibility with other tools, which expect $PATH to use colons. You can also explicitly add this quirk to a variable with ``set --path``, or remove it with ``set --unpath``.
|
||||
|
||||
Lists cannot contain other lists: there is no recursion. A variable is a list of strings, full stop.
|
||||
@@ -320,13 +320,10 @@ Get the length of a list with ``count``::
|
||||
> count $PATH
|
||||
5
|
||||
|
||||
|
||||
You can append (or prepend) to a list by setting the list to itself, with some additional arguments. Here we append /usr/local/bin to $PATH::
|
||||
|
||||
> set PATH $PATH /usr/local/bin
|
||||
|
||||
|
||||
|
||||
You can access individual elements with square brackets. Indexing starts at 1 from the beginning, and -1 from the end::
|
||||
|
||||
> echo $PATH
|
||||
@@ -336,11 +333,8 @@ You can access individual elements with square brackets. Indexing starts at 1 fr
|
||||
> echo $PATH[-1]
|
||||
/usr/local/bin
|
||||
|
||||
|
||||
You can also access ranges of elements, known as "slices":
|
||||
|
||||
|
||||
|
||||
::
|
||||
|
||||
> echo $PATH[1..2]
|
||||
@@ -348,7 +342,6 @@ You can also access ranges of elements, known as "slices":
|
||||
> echo $PATH[-1..2]
|
||||
/usr/local/bin /sbin /usr/sbin /bin
|
||||
|
||||
|
||||
You can iterate over a list (or a slice) with a for loop::
|
||||
|
||||
> for val in $PATH
|
||||
@@ -360,7 +353,6 @@ You can iterate over a list (or a slice) with a for loop::
|
||||
entry: /sbin
|
||||
entry: /usr/local/bin
|
||||
|
||||
|
||||
Lists adjacent to other lists or strings are expanded as :ref:`cartesian products <cartesian-product>` unless quoted (see :ref:`Variable expansion <expand-variable>`)::
|
||||
|
||||
> set a 1 2 3
|
||||
@@ -372,8 +364,10 @@ Lists adjacent to other lists or strings are expanded as :ref:`cartesian product
|
||||
> echo "$a banana"
|
||||
1 2 3 banana
|
||||
|
||||
This is similar to :ref:`Brace expansion <expand-brace>`.
|
||||
|
||||
For more, see :ref:`Lists <variables-lists>`.
|
||||
|
||||
This is similar to `Brace expansion <index#expand-brace>`__.
|
||||
|
||||
Command Substitutions
|
||||
---------------------
|
||||
@@ -383,24 +377,20 @@ Command substitutions use the output of one command as an argument to another. U
|
||||
> echo In (pwd), running (uname)
|
||||
In /home/tutorial, running FreeBSD
|
||||
|
||||
|
||||
A common idiom is to capture the output of a command in a variable::
|
||||
|
||||
> set os (uname)
|
||||
> echo $os
|
||||
Linux
|
||||
|
||||
|
||||
Command substitutions are not expanded within quotes. Instead, you can temporarily close the quotes, add the command substitution, and reopen them, all in the same argument::
|
||||
|
||||
> touch "testing_"(date +%s)".txt"
|
||||
> ls *.txt
|
||||
testing_1360099791.txt
|
||||
|
||||
|
||||
Unlike other shells, fish does not split command substitutions on any whitespace (like spaces or tabs), only newlines. This can be an issue with commands like ``pkg-config`` that print what is meant to be multiple arguments on a single line. To split it on spaces too, use ``string split``.
|
||||
|
||||
|
||||
::
|
||||
|
||||
> printf '%s\n' (pkg-config --libs gio-2.0)
|
||||
@@ -410,6 +400,16 @@ Unlike other shells, fish does not split command substitutions on any whitespace
|
||||
-lgobject-2.0
|
||||
-lglib-2.0
|
||||
|
||||
If you need a command substitutions output as one argument, without any splits, use ``string collect``::
|
||||
|
||||
> echo "first line
|
||||
second line" > myfile
|
||||
> set myfile (cat myfile | string collect)
|
||||
> printf '|%s|' $myfile
|
||||
|first line
|
||||
second line|
|
||||
|
||||
For more, see :ref:`Command substitution <expand-command-substitution>`.
|
||||
|
||||
.. _tut-semicolon:
|
||||
|
||||
@@ -441,11 +441,12 @@ Unlike other shells, fish stores the exit status of the last command in ``$statu
|
||||
> echo $status
|
||||
1
|
||||
|
||||
|
||||
This indicates how the command fared - 0 usually means success, while the others signify kinds of failure. For instance fish's ``set --query`` returns the number of variables it queried that weren't set - ``set --query PATH`` usually returns 0, ``set --query arglbargl boogagoogoo`` usually returns 2.
|
||||
|
||||
There is also a ``$pipestatus`` list variable for the exit statuses [#]_ of processes in a pipe.
|
||||
|
||||
For more, see :ref:`The status variable <variables-status>`.
|
||||
|
||||
.. [#] or "stati" if you prefer, or "statūs" if you've time-travelled from ancient Rome or work as a latin teacher
|
||||
|
||||
.. _tut-combiners:
|
||||
@@ -542,9 +543,9 @@ There is also a :ref:`switch <cmd-switch>` command::
|
||||
echo Hi, stranger!
|
||||
end
|
||||
|
||||
As you see, :ref:`case <cmd-case>` does not fall through, and can accept multiple arguments or (quoted) wildcards.
|
||||
|
||||
Note that :ref:`case <cmd-case>` does not fall through, and can accept multiple arguments or (quoted) wildcards.
|
||||
|
||||
For more, see :ref:`Conditions <syntax-conditional>`.
|
||||
|
||||
Functions
|
||||
---------
|
||||
@@ -575,6 +576,8 @@ You can see the source for any function by passing its name to ``functions``::
|
||||
command ls -G $argv
|
||||
end
|
||||
|
||||
For more, see :ref:`Functions <syntax-function>`.
|
||||
|
||||
.. [#] There is a function called :ref:`alias <cmd-alias>`, but it's just a shortcut to make functions.
|
||||
|
||||
Loops
|
||||
@@ -604,6 +607,7 @@ Iterating over a list of numbers can be done with ``seq``::
|
||||
touch file_$x.txt
|
||||
end
|
||||
|
||||
For more, see :ref:`Loops and blocks <syntax-loops-and-blocks>`.
|
||||
|
||||
Prompt
|
||||
------
|
||||
@@ -642,7 +646,7 @@ This prompt would look like:
|
||||
:red:`/home/tutorial >` _
|
||||
|
||||
|
||||
You can choose among some sample prompts by running ``fish_config prompt``.
|
||||
You can choose among some sample prompts by running ``fish_config`` for a web UI or ``fish_config prompt`` for a simpler version inside your terminal.
|
||||
|
||||
$PATH
|
||||
-----
|
||||
@@ -702,7 +706,7 @@ It is possible to directly create functions and variables in ``config.fish`` fil
|
||||
|
||||
However, it is more common and efficient to use autoloading functions and universal variables.
|
||||
|
||||
If you want to organize your configuration, fish also reads commands in .fish files in ``~/.config/fish/conf.d/``. See :ref:`initialization <initialization>` for the details.
|
||||
If you want to organize your configuration, fish also reads commands in .fish files in ``~/.config/fish/conf.d/``. See :ref:`Configuration Files <configuration>` for the details.
|
||||
|
||||
Autoloading Functions
|
||||
---------------------
|
||||
|
||||
27
docker/alpine.Dockerfile
Normal file
27
docker/alpine.Dockerfile
Normal file
@@ -0,0 +1,27 @@
|
||||
FROM alpine:3.13
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
ENV LC_ALL C.UTF-8
|
||||
|
||||
RUN apk add bash cmake g++ gettext-dev git libintl musl-dev ncurses-dev ninja python3 py3-pexpect
|
||||
|
||||
RUN addgroup -g 1000 fishuser
|
||||
|
||||
RUN adduser \
|
||||
--disabled-password \
|
||||
--gecos "" \
|
||||
--home "/home/fishuser" \
|
||||
--ingroup fishuser \
|
||||
--uid 1000 \
|
||||
fishuser
|
||||
|
||||
RUN mkdir -p /home/fishuser/fish-build \
|
||||
&& mkdir /fish-source \
|
||||
&& chown -R fishuser:fishuser /home/fishuser /fish-source
|
||||
|
||||
USER fishuser
|
||||
WORKDIR /home/fishuser
|
||||
|
||||
COPY fish_run_tests.sh /
|
||||
|
||||
CMD /fish_run_tests.sh
|
||||
31
docker/centos8.Dockerfile
Normal file
31
docker/centos8.Dockerfile
Normal file
@@ -0,0 +1,31 @@
|
||||
FROM centos:8
|
||||
|
||||
# install powertools to get ninja-build
|
||||
RUN dnf -y install dnf-plugins-core \
|
||||
&& dnf config-manager --set-enabled powertools \
|
||||
&& yum install --assumeyes epel-release \
|
||||
&& yum install --assumeyes \
|
||||
cmake \
|
||||
diffutils \
|
||||
gcc-c++ \
|
||||
git \
|
||||
ncurses-devel \
|
||||
ninja-build \
|
||||
python3 \
|
||||
openssl \
|
||||
sudo
|
||||
|
||||
RUN pip3 install pexpect
|
||||
|
||||
RUN groupadd -g 1000 fishuser \
|
||||
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser -G wheel \
|
||||
&& mkdir -p /home/fishuser/fish-build \
|
||||
&& mkdir /fish-source \
|
||||
&& chown -R fishuser:fishuser /home/fishuser /fish-source
|
||||
|
||||
USER fishuser
|
||||
WORKDIR /home/fishuser
|
||||
|
||||
COPY fish_run_tests.sh /
|
||||
|
||||
CMD /fish_run_tests.sh
|
||||
@@ -16,7 +16,7 @@ DOCKER_EXTRA_ARGS=""
|
||||
set -e
|
||||
|
||||
# Get fish source directory.
|
||||
FISH_SRC_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd)
|
||||
FISH_SRC_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )"/.. >/dev/null && pwd)
|
||||
|
||||
# Parse args.
|
||||
while [ $# -gt 1 ]; do
|
||||
|
||||
27
docker/fedora.Dockerfile
Normal file
27
docker/fedora.Dockerfile
Normal file
@@ -0,0 +1,27 @@
|
||||
FROM fedora:latest
|
||||
|
||||
RUN dnf install --assumeyes \
|
||||
cmake \
|
||||
gcc-c++ \
|
||||
git-core \
|
||||
ncurses-devel \
|
||||
ninja-build \
|
||||
python3 \
|
||||
python3-pip \
|
||||
openssl \
|
||||
sudo
|
||||
|
||||
RUN pip3 install pexpect
|
||||
|
||||
RUN groupadd -g 1000 fishuser \
|
||||
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser -G wheel \
|
||||
&& mkdir -p /home/fishuser/fish-build \
|
||||
&& mkdir /fish-source \
|
||||
&& chown -R fishuser:fishuser /home/fishuser /fish-source
|
||||
|
||||
USER fishuser
|
||||
WORKDIR /home/fishuser
|
||||
|
||||
COPY fish_run_tests.sh /
|
||||
|
||||
CMD /fish_run_tests.sh
|
||||
36
docker/xenial.Dockerfile
Normal file
36
docker/xenial.Dockerfile
Normal file
@@ -0,0 +1,36 @@
|
||||
FROM ubuntu:16.04
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
ENV LC_ALL C.UTF-8
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get -y install \
|
||||
build-essential \
|
||||
cmake \
|
||||
gettext \
|
||||
git \
|
||||
libncurses5-dev \
|
||||
locales \
|
||||
ninja-build \
|
||||
python3 \
|
||||
python3-pip \
|
||||
sudo \
|
||||
&& locale-gen en_US.UTF-8
|
||||
|
||||
# The python3-pexpect package on Xenial doesn't allow delaybeforesend to be None.
|
||||
# Install pexpect with pip which is newer.
|
||||
RUN pip3 install pexpect
|
||||
|
||||
RUN groupadd -g 1000 fishuser \
|
||||
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser \
|
||||
&& adduser fishuser sudo \
|
||||
&& mkdir -p /home/fishuser/fish-build \
|
||||
&& mkdir /fish-source \
|
||||
&& chown -R fishuser:fishuser /home/fishuser /fish-source
|
||||
|
||||
USER fishuser
|
||||
WORKDIR /home/fishuser
|
||||
|
||||
COPY fish_run_tests.sh /
|
||||
|
||||
CMD /fish_run_tests.sh
|
||||
@@ -1,5 +1,4 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Terminal=true
|
||||
|
||||
16
fish.spec.in
16
fish.spec.in
@@ -21,18 +21,12 @@ BuildRequires: cmake pcre2-devel
|
||||
BuildRequires: update-desktop-files
|
||||
%endif
|
||||
|
||||
%if 0%{?opensuse_bs} && 0%{?rhel} && 0%{?rhel} < 7
|
||||
BuildRequires: gcc48 gcc48-c++
|
||||
%endif
|
||||
|
||||
# for tests
|
||||
%if 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 7 )
|
||||
# Need the en_US.utf-8 locale at a minimum
|
||||
BuildRequires: glibc-langpack-en
|
||||
%endif
|
||||
%if 0%{?rhel} != 6
|
||||
BuildRequires: python3 procps
|
||||
%endif
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
@@ -59,11 +53,6 @@ is simple but incompatible with other shell languages.
|
||||
%setup -q -n %{name}-@VERSION@
|
||||
|
||||
%build
|
||||
%if 0%{?opensuse_bs} && 0%{?rhel} && 0%{?rhel} < 7
|
||||
export CC=gcc48
|
||||
export CXX=g++48
|
||||
EXTRA_CMAKE_FLAGS="-DCURSES_EXTRA_LIBRARY=tinfo"
|
||||
%endif
|
||||
# CMake macros define -DBUILD_SHARED_LIBS:BOOL=ON, which breaks the
|
||||
# bundled PCRE2 static library.
|
||||
EXTRA_CMAKE_FLAGS="$EXTRA_CMAKE_FLAGS -DBUILD_SHARED_LIBS:BOOL=OFF"
|
||||
@@ -99,12 +88,7 @@ cp -a CONTRIBUTING.rst %{buildroot}%{_datadir}/doc/fish/
|
||||
%if 0%{?__builddir:1}
|
||||
cd %__builddir
|
||||
%endif
|
||||
# Turn off tests on RHEL 6, they are hard to keep running
|
||||
%if 0%{?opensuse_bs} && 0%{?rhel} && 0%{?rhel} < 7
|
||||
./fish -c 'exit 0'
|
||||
%else
|
||||
make test SHOW_INTERACTIVE_LOG=1
|
||||
%endif
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
@@ -66,7 +66,7 @@ complete -f -n '__fish_bundle_using_command update' -c bundle -s g -l group -d '
|
||||
complete -f -n '__fish_bundle_using_command update' -c bundle -a '(__fish_bundled_gems)'
|
||||
|
||||
# Package
|
||||
complete -f -n __fish_bundle_no_command -c bundle -a package -d 'Package the .gem files required by your application into the vendor/cache directory'
|
||||
complete -f -n __fish_bundle_no_command -c bundle -a package -d 'Package the .gem files into vendor/cache directory'
|
||||
|
||||
# Binstubs
|
||||
complete -f -n __fish_bundle_no_command -c bundle -a binstubs -d 'Install the binstubs of the listed gem'
|
||||
@@ -102,7 +102,7 @@ complete -f -n '__fish_bundle_using_command help' -c bundle -a cleanup -d 'Clean
|
||||
##
|
||||
|
||||
# Check
|
||||
complete -f -n __fish_bundle_no_command -c bundle -a check -d 'Determine whether the requirements for your application are installed and available to bundler'
|
||||
complete -f -n __fish_bundle_no_command -c bundle -a check -d 'Check if the requirements are installed and available to bundler'
|
||||
complete -f -n '__fish_bundle_using_command check' -c bundle -l gemfile -d 'The location of the Gemfile bundler should use'
|
||||
complete -f -n '__fish_bundle_using_command check' -c bundle -l path -d 'Specify a path other than the system default (BUNDLE_PATH or GEM_HOME)'
|
||||
complete -f -n '__fish_bundle_using_command check' -c bundle -l dry-run -d 'Lock the Gemfile'
|
||||
|
||||
@@ -1,30 +1,11 @@
|
||||
# Tab completion for cargo (https://github.com/rust-lang/cargo).
|
||||
complete -c cargo -s h -l help
|
||||
complete -c cargo -s V -l version -d 'Print version info and exit'
|
||||
complete -c cargo -l list -d 'List installed commands'
|
||||
complete -c cargo -s v -l verbose -d 'Use verbose output'
|
||||
complete -c cargo -s q -l quiet -d 'No output printed to stdout'
|
||||
|
||||
## --- WRITTEN MANUALLY ---
|
||||
set -l __fish_cargo_subcommands (cargo --list 2>&1 | string replace -rf '^\s+([^\s]+)\s+(.*)' '$1\t$2' | string escape)
|
||||
|
||||
complete -c cargo -f -c cargo -n __fish_use_subcommand -a "$__fish_cargo_subcommands"
|
||||
complete -c cargo -x -c cargo -n '__fish_seen_subcommand_from help' -a "$__fish_cargo_subcommands"
|
||||
|
||||
for x in bench b build clean doc fetch generate-lockfile \
|
||||
locate-project package pkgid publish \
|
||||
read-manifest r run rustc t test update \
|
||||
verify-project
|
||||
complete -c cargo -r -n "__fish_seen_subcommand_from $x" -l manifest-path -d 'path to the manifest to compile'
|
||||
end
|
||||
|
||||
for x in bench b build clean doc rustc t test update
|
||||
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -s p -l spec -d 'Package to build'
|
||||
end
|
||||
|
||||
for x in bench b build clean doc r run rustc t test
|
||||
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l target -d 'Build for the target triple'
|
||||
end
|
||||
|
||||
for x in bench b build rustc t test
|
||||
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l bench -a "(cargo bench --bench 2>&1 | string replace -rf '^\s+' '')"
|
||||
complete -c cargo -n "__fish_seen_subcommand_from $x" -l lib -d 'Only this package\'s library'
|
||||
@@ -36,7 +17,7 @@ function __list_cargo_examples
|
||||
return
|
||||
end
|
||||
|
||||
find ./examples/ -mindepth 1 -maxdepth 1 -type f -name "*.rs" -or -type d \
|
||||
find ./examples -mindepth 1 -maxdepth 1 -type f -name "*.rs" -or -type d \
|
||||
| string replace -r './examples/(.*?)(?:.rs)?$' '$1'
|
||||
end
|
||||
for x in bench b build r run rustc t test
|
||||
@@ -44,59 +25,786 @@ for x in bench b build r run rustc t test
|
||||
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l example -a "(__list_cargo_examples)"
|
||||
end
|
||||
|
||||
for x in b build r run rustc t test
|
||||
complete -c cargo -n "__fish_seen_subcommand_from $x" -l release -d 'Build artifacts in release mode, with optimizations'
|
||||
end
|
||||
|
||||
for x in bench t test
|
||||
complete -c cargo -n "__fish_seen_subcommand_from $x" -l no-run -d 'Compile but do not run'
|
||||
end
|
||||
|
||||
for x in bench b build doc r run rustc t test
|
||||
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -s j -l jobs -d 'Number of jobs to run in parallel'
|
||||
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l features -d 'Space-separated list of features to also build'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from $x" -l no-default-features -d 'Do not build the `default` feature'
|
||||
end
|
||||
|
||||
complete -c cargo -n '__fish_seen_subcommand_from doc' -l no-deps -d 'Don\'t build documentation for dependencies'
|
||||
|
||||
complete -c cargo -x -n '__fish_seen_subcommand_from new' -l vcs -a 'none hg git' -d 'Specify a vcs to use'
|
||||
complete -c cargo -x -n '__fish_seen_subcommand_from new' -l name
|
||||
|
||||
# This bin does not take any arguments which is why it is not defined above.
|
||||
complete -c cargo -n '__fish_seen_subcommand_from new' -l bin
|
||||
|
||||
complete -c cargo -x -n '__fish_seen_subcommand_from git-checkout' -l url
|
||||
complete -c cargo -x -n '__fish_seen_subcommand_from git-checkout' -l reference
|
||||
|
||||
for x in login publish search
|
||||
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l host -d 'The host to submit the request to'
|
||||
end
|
||||
|
||||
complete -c cargo -n '__fish_seen_subcommand_from doc' -l open -d 'Opens the docs in a browser after the operation'
|
||||
|
||||
complete -c cargo -r -n '__fish_seen_subcommand_from owner' -s a -l add -d 'Login of a user to add as an owner'
|
||||
complete -c cargo -r -n '__fish_seen_subcommand_from owner' -s r -l remove -d 'Login of a user to remove as an owner'
|
||||
|
||||
for x in owner yank
|
||||
complete -c cargo -r -n "__fish_seen_subcommand_from $x" -l index -d 'Registry index to use'
|
||||
end
|
||||
|
||||
for x in owner publish yank
|
||||
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l token -d 'API token to use when authenticating'
|
||||
end
|
||||
|
||||
complete -c cargo -n '__fish_seen_subcommand_from package' -l no-verify -d 'Don\'t verify the contents by building them'
|
||||
complete -c cargo -n '__fish_seen_subcommand_from package' -l no-metadata -d 'Ignore warnings about a lack of human-usable metadata'
|
||||
|
||||
complete -c cargo -n '__fish_seen_subcommand_from update' -l aggressive -d 'Force updating all dependencies of <name> as well'
|
||||
complete -c cargo -x -n '__fish_seen_subcommand_from update' -l precise -d 'Update a single dependency to exactly PRECISE'
|
||||
|
||||
complete -c cargo -x -n '__fish_seen_subcommand_from yank' -l vers -d 'The version to yank or un-yank'
|
||||
complete -c cargo -n '__fish_seen_subcommand_from yank' -l undo -d 'Undo a yank, putting a version back into the index'
|
||||
|
||||
function __fish_cargo_packages
|
||||
find . -name Cargo.toml | string replace -rf '.*/([^/]+)/?Cargo.toml' '$1'
|
||||
end
|
||||
complete -c cargo -n '__fish_seen_subcommand_from run test build debug check' -l package \
|
||||
-xa "(__fish_cargo_packages)"
|
||||
|
||||
## --- AUTO-GENERATED WITH `cargo complete fish` ---
|
||||
complete -c cargo -n __fish_use_subcommand -l explain -d 'Run `rustc --explain CODE`'
|
||||
complete -c cargo -n __fish_use_subcommand -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n __fish_use_subcommand -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n __fish_use_subcommand -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n __fish_use_subcommand -s V -l version -d 'Print version info and exit'
|
||||
complete -c cargo -n __fish_use_subcommand -l list -d 'List installed commands'
|
||||
complete -c cargo -n __fish_use_subcommand -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n __fish_use_subcommand -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n __fish_use_subcommand -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n __fish_use_subcommand -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n __fish_use_subcommand -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n __fish_use_subcommand -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a bench -d 'Execute all benchmarks of a local package'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a build -d 'Compile a local package and all of its dependencies'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a check -d 'Check a local package and all of its dependencies for errors'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a clean -d 'Remove artifacts that cargo has generated in the past'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a complete -d 'Generate completion file for a shell'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a describe-future-incompatibilities -d 'Reports any crates which will eventually stop compiling'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a doc -d 'Build a package\'s documentation'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a fetch -d 'Fetch dependencies of a package from the network'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a fix -d 'Automatically fix lint warnings reported by rustc'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a generate-lockfile -d 'Generate the lockfile for a package'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a git-checkout -d 'This subcommand has been removed'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a init -d 'Create a new cargo package in an existing directory'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a install -d 'Install a Rust binary. Default location is $HOME/.cargo/bin'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a locate-project -d 'Print a JSON representation of a Cargo.toml file\'s location'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a login -d 'Save an api token from the registry locally. If token is not specified, it will be read from stdin.'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a logout -d 'Remove an API token from the registry locally'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a metadata -d 'Output the resolved dependencies of a package, the concrete used versions including overrides, in machine-readable format'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a new -d 'Create a new cargo package at <path>'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a owner -d 'Manage the owners of a crate on the registry'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a package -d 'Assemble the local package into a distributable tarball'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a pkgid -d 'Print a fully qualified package specification'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a publish -d 'Upload a package to the registry'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a read-manifest -d 'Print a JSON representation of a Cargo.toml manifest.
|
||||
|
||||
Deprecated, use `cargo metadata --no-deps` instead.'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a run -d 'Run a binary or example of the local package'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a rustc -d 'Compile a package, and pass extra options to the compiler'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a rustdoc -d 'Build a package\'s documentation, using specified custom flags.'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a search -d 'Search packages in crates.io'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a test -d 'Execute all unit and integration tests and build examples of a local package'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a tree -d 'Display a tree visualization of a dependency graph'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a uninstall -d 'Remove a Rust binary'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a update -d 'Update dependencies as recorded in the local lock file'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a vendor -d 'Vendor all dependencies for a project locally'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a verify-project -d 'Check correctness of crate manifest'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a version -d 'Show version information'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a yank -d 'Remove a pushed crate from the index'
|
||||
complete -c cargo -n __fish_use_subcommand -f -a help -d 'Prints this message or the help of the given subcommand(s)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l bin -d 'Benchmark only the specified binary'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l example -d 'Benchmark only the specified example'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l test -d 'Benchmark only the specified test target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l bench -d 'Benchmark only the specified bench target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -s p -l package -d 'Package to run benchmarks for'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l exclude -d 'Exclude packages from the benchmark'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l target -d 'Build for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l message-format -d 'Error format'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l lib -d 'Benchmark only this package\'s library'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l bins -d 'Benchmark all binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l examples -d 'Benchmark all examples'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l tests -d 'Benchmark all tests'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l benches -d 'Benchmark all benches'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l all-targets -d 'Benchmark all targets'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l no-run -d 'Compile, but don\'t run benchmarks'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l all -d 'Alias for --workspace (deprecated)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l workspace -d 'Benchmark all packages in the workspace'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l no-fail-fast -d 'Run all benchmarks regardless of failure'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l unit-graph -d 'Output build graph in JSON (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from bench" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -s p -l package -d 'Package to build (see `cargo help pkgid`)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l exclude -d 'Exclude packages from the build'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l bin -d 'Build only the specified binary'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l example -d 'Build only the specified example'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l test -d 'Build only the specified test target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l bench -d 'Build only the specified bench target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l profile -d 'Build artifacts with the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l target -d 'Build for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l out-dir -d 'Copy final artifacts to this directory (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l message-format -d 'Error format'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l all -d 'Alias for --workspace (deprecated)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l workspace -d 'Build all packages in the workspace'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l lib -d 'Build only this package\'s library'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l bins -d 'Build all binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l examples -d 'Build all examples'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l tests -d 'Build all tests'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l benches -d 'Build all benches'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l all-targets -d 'Build all targets'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l release -d 'Build artifacts in release mode, with optimizations'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l build-plan -d 'Output the build plan in JSON (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l unit-graph -d 'Output build graph in JSON (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l future-incompat-report -d 'Ouputs a future incompatibility report at the end of the build (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from build" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -s p -l package -d 'Package(s) to check'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l exclude -d 'Exclude packages from the check'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l bin -d 'Check only the specified binary'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l example -d 'Check only the specified example'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l test -d 'Check only the specified test target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l bench -d 'Check only the specified bench target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l profile -d 'Check artifacts with the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l target -d 'Check for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l message-format -d 'Error format'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l all -d 'Alias for --workspace (deprecated)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l workspace -d 'Check all packages in the workspace'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l lib -d 'Check only this package\'s library'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l bins -d 'Check all binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l examples -d 'Check all examples'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l tests -d 'Check all tests'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l benches -d 'Check all benches'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l all-targets -d 'Check all targets'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l release -d 'Check artifacts in release mode, with optimizations'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l unit-graph -d 'Output build graph in JSON (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l future-incompat-report -d 'Ouputs a future incompatibility report at the end of the build (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from check" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -s p -l package -d 'Package to clean artifacts for'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l target -d 'Target triple to clean output for'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l profile -d 'Clean artifacts of the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l release -d 'Whether or not to clean release artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l doc -d 'Whether or not to clean just the documentation directory'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from clean" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from complete" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from complete" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from complete" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from complete" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from complete" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from complete" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from complete" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from complete" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from complete" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l id -d 'identifier of the report [generated by a Cargo command invocation'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -s p -l package -d 'Package to document'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l exclude -d 'Exclude packages from the build'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l bin -d 'Document only the specified binary'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l profile -d 'Build artifacts with the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l target -d 'Build for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l message-format -d 'Error format'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l open -d 'Opens the docs in a browser after the operation'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l all -d 'Alias for --workspace (deprecated)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l workspace -d 'Document all packages in the workspace'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l no-deps -d 'Don\'t build documentation for dependencies'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l document-private-items -d 'Document private items'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l lib -d 'Document only this package\'s library'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l bins -d 'Document all binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l release -d 'Build artifacts in release mode, with optimizations'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l unit-graph -d 'Output build graph in JSON (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from doc" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -l target -d 'Fetch dependencies for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fetch" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -s p -l package -d 'Package(s) to fix'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l exclude -d 'Exclude packages from the fixes'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l bin -d 'Fix only the specified binary'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l example -d 'Fix only the specified example'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l test -d 'Fix only the specified test target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l bench -d 'Fix only the specified bench target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l profile -d 'Build artifacts with the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l target -d 'Fix for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l message-format -d 'Error format'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l all -d 'Alias for --workspace (deprecated)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l workspace -d 'Fix all packages in the workspace'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l lib -d 'Fix only this package\'s library'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l bins -d 'Fix all binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l examples -d 'Fix all examples'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l tests -d 'Fix all tests'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l benches -d 'Fix all benches'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l all-targets -d 'Fix all targets (default)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l release -d 'Fix artifacts in release mode, with optimizations'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l broken-code -d 'Fix code even if it already has compiler errors'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l edition -d 'Fix in preparation for the next edition'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l edition-idioms -d 'Fix warnings to migrate to the idioms of an edition'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l allow-no-vcs -d 'Fix code even if a VCS was not detected'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l allow-dirty -d 'Fix code even if the working directory is dirty'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l allow-staged -d 'Fix code even if the working directory has staged changes'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from fix" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l registry -d 'Registry to use'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l vcs -d 'Initialize a new repository for the given version control system (git, hg, pijul, or fossil) or do not initialize any version control at all (none), overriding a global configuration.' -r -f -a "git hg pijul fossil none"
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l edition -d 'Edition to set for the crate generated' -r -f -a "2015 2018 2021"
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l name -d 'Set the resulting package name, defaults to the directory name'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l bin -d 'Use a binary (application) template [default]'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l lib -d 'Use a library template'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from init" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l version -d 'Specify a version to install'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l git -d 'Git URL to install the specified crate from'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l branch -d 'Branch to use when installing from git'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l tag -d 'Tag to use when installing from git'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l rev -d 'Specific commit to use when installing from git'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l path -d 'Filesystem path to local crate to install'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l profile -d 'Install artifacts with the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l bin -d 'Install only the specified binary'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l example -d 'Install only the specified example'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l target -d 'Build for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l root -d 'Directory to install packages into'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l index -d 'Registry index to install from'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l registry -d 'Registry to use'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l list -d 'list all installed packages and their versions'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -s f -l force -d 'Force overwriting existing crates or binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l no-track -d 'Do not save tracking information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l debug -d 'Build in debug mode instead of release mode'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l bins -d 'Install all binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l examples -d 'Install all examples'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from install" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l message-format -d 'Output representation [possible values: json, plain]'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l workspace -d 'Locate Cargo.toml of the workspace root'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -l host -d 'Host to set the token for'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -l registry -d 'Registry to use'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from login" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -l registry -d 'Registry to use'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from logout" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l filter-platform -d 'Only include resolve dependencies matching the given target-triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l format-version -d 'Format version' -r -f -a 1
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -s q -l quiet -d 'Do not print cargo log messages'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l no-deps -d 'Output information only about the workspace members and don\'t fetch dependencies'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from metadata" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l registry -d 'Registry to use'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l vcs -d 'Initialize a new repository for the given version control system (git, hg, pijul, or fossil) or do not initialize any version control at all (none), overriding a global configuration.' -r -f -a "git hg pijul fossil none"
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l edition -d 'Edition to set for the crate generated' -r -f -a "2015 2018 2021"
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l name -d 'Set the resulting package name, defaults to the directory name'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l bin -d 'Use a binary (application) template [default]'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l lib -d 'Use a library template'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from new" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -s a -l add -d 'Name of a user or team to invite as an owner'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -s r -l remove -d 'Name of a user or team to remove as an owner'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -l index -d 'Registry index to modify owners for'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -l token -d 'API token to use when authenticating'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -l registry -d 'Registry to use'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -s l -l list -d 'List owners of a crate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from owner" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l target -d 'Build for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -s l -l list -d 'Print files included in a package without making one'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l no-verify -d 'Don\'t verify the contents by building them'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l no-metadata -d 'Ignore warnings about a lack of human-usable metadata'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l allow-dirty -d 'Allow dirty working directories to be packaged'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from package" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s p -l package -d 'Argument to get the package ID specifier for'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l index -d 'Registry index URL to upload the package to'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l host -d 'DEPRECATED, renamed to \'--index\''
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l token -d 'Token to use when uploading'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l target -d 'Build for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l registry -d 'Registry to publish to'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l no-verify -d 'Don\'t verify the contents by building them'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l allow-dirty -d 'Allow dirty working directories to be packaged'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l dry-run -d 'Perform all checks without uploading'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from publish" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l bin -d 'Name of the bin target to run'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l example -d 'Name of the example target to run'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -s p -l package -d 'Package with the target to run'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l profile -d 'Build artifacts with the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l target -d 'Build for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l message-format -d 'Error format'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l release -d 'Build artifacts in release mode, with optimizations'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l unit-graph -d 'Output build graph in JSON (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from run" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -s p -l package -d 'Package to build'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l bin -d 'Build only the specified binary'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l example -d 'Build only the specified example'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l test -d 'Build only the specified test target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l bench -d 'Build only the specified bench target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l profile -d 'Build artifacts with the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l target -d 'Target triple which compiles will be for'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l print -d 'Output compiler information without compiling'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l message-format -d 'Error format'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l lib -d 'Build only this package\'s library'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l bins -d 'Build all binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l examples -d 'Build all examples'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l tests -d 'Build all tests'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l benches -d 'Build all benches'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l all-targets -d 'Build all targets'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l release -d 'Build artifacts in release mode, with optimizations'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l unit-graph -d 'Output build graph in JSON (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l future-incompat-report -d 'Ouputs a future incompatibility report at the end of the build (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustc" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s p -l package -d 'Package to document'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l bin -d 'Build only the specified binary'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l example -d 'Build only the specified example'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l test -d 'Build only the specified test target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l bench -d 'Build only the specified bench target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l profile -d 'Build artifacts with the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l target -d 'Build for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l message-format -d 'Error format'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l open -d 'Opens the docs in a browser after the operation'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l lib -d 'Build only this package\'s library'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l bins -d 'Build all binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l examples -d 'Build all examples'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l tests -d 'Build all tests'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l benches -d 'Build all benches'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l all-targets -d 'Build all targets'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l release -d 'Build artifacts in release mode, with optimizations'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l unit-graph -d 'Output build graph in JSON (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -l index -d 'Registry index URL to upload the package to'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -l host -d 'DEPRECATED, renamed to \'--index\''
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -l limit -d 'Limit the number of results (default: 10, max: 100)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -l registry -d 'Registry to use'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from search" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l bin -d 'Test only the specified binary'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l example -d 'Test only the specified example'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l test -d 'Test only the specified test target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l bench -d 'Test only the specified bench target'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -s p -l package -d 'Package to run tests for'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l exclude -d 'Exclude packages from the test'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l profile -d 'Build artifacts with the specified profile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l target -d 'Build for the target triple'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l target-dir -d 'Directory for all generated artifacts'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l message-format -d 'Error format'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -s q -l quiet -d 'Display one character per test instead of one line'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l lib -d 'Test only this package\'s library unit tests'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l bins -d 'Test all binaries'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l examples -d 'Test all examples'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l tests -d 'Test all tests'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l benches -d 'Test all benches'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l all-targets -d 'Test all targets'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l doc -d 'Test only this library\'s documentation'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l no-run -d 'Compile, but don\'t run tests'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l no-fail-fast -d 'Run all tests regardless of failure'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l all -d 'Alias for --workspace (deprecated)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l workspace -d 'Test all packages in the workspace'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l release -d 'Build artifacts in release mode, with optimizations'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l unit-graph -d 'Output build graph in JSON (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l future-incompat-report -d 'Ouputs a future incompatibility report at the end of the build (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from test" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s p -l package -d 'Package to be used as the root of the tree'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l exclude -d 'Exclude specific workspace members'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l features -d 'Space or comma separated list of features to activate'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l target -d 'Filter dependencies matching the given target-triple (default host platform). Pass `all` to include all targets.'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s e -l edges -d 'The kinds of dependencies to display (features, normal, build, dev, all, no-dev, no-build, no-normal)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s i -l invert -d 'Invert the tree direction and focus on the given package'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l prefix -d 'Change the prefix (indentation) of how each entry is displayed' -r -f -a "depth indent none"
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l charset -d 'Character set to use in output: utf8, ascii' -r -f -a "utf8 ascii"
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s f -l format -d 'Format string used for printing dependencies'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s q -l quiet -d 'Suppress status messages'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l workspace -d 'Display the tree for all packages in the workspace'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s a -l all
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l all-targets
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l all-features -d 'Activate all available features'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l no-default-features -d 'Do not activate the `default` feature'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l no-dev-dependencies
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l no-indent
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l prefix-depth
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l no-dedupe -d 'Do not de-duplicate (repeats all shared dependencies)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s d -l duplicates -d 'Show only dependencies which come in multiple versions (implies -i)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s V -l version
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s p -l package -d 'Package to uninstall'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l bin -d 'Only uninstall the binary NAME'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l root -d 'Directory to uninstall packages from'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -s p -l package -d 'Package to update'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -l precise -d 'Update a single dependency to exactly PRECISE when used with -p'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -s w -l workspace -d 'Only update the workspace packages'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -l aggressive -d 'Force updating all dependencies of SPEC as well when used with -p'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -l dry-run -d 'Don\'t actually write the lockfile'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from update" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -s s -l sync -d 'Additional `Cargo.toml` to sync and vendor'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l no-delete -d 'Don\'t delete older crates in the vendor directory'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l respect-source-config -d 'Respect `[source]` config in `.cargo/config`'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l versioned-dirs -d 'Always include version in subdir name'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l no-merge-sources
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l relative-path
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l only-git-deps
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l disallow-duplicates
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from vendor" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l manifest-path -d 'Path to Cargo.toml'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from version" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l vers -d 'The version to yank or un-yank'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l index -d 'Registry index to yank from'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l token -d 'API token to use when authenticating'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l registry -d 'Registry to use'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -s q -l quiet -d 'No output printed to stdout'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l undo -d 'Undo a yank, putting a version back into the index'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from yank" -l offline -d 'Run without accessing the network'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from help" -l color -d 'Coloring: auto, always, never'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from help" -l config -d 'Override a configuration value (unstable)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from help" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from help" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from help" -l frozen -d 'Require Cargo.lock and cache are up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from help" -l locked -d 'Require Cargo.lock is up to date'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from help" -l offline -d 'Run without accessing the network'
|
||||
|
||||
@@ -6,15 +6,17 @@ complete -c complete -s s -l short-option -d "POSIX-style short option to comple
|
||||
complete -c complete -s l -l long-option -d "GNU-style long option to complete" -x
|
||||
complete -c complete -s o -l old-option -d "Old style long option to complete" -x
|
||||
complete -c complete -s f -l no-files -d "Don't use file completion"
|
||||
complete -c complete -s F -l force-files -d "Always use file completion"
|
||||
complete -c complete -s r -l require-parameter -d "Require parameter"
|
||||
complete -c complete -s x -l exclusive -d "Require parameter and don't use file completion"
|
||||
complete -c complete -s a -l arguments -d "Space-separated list of possible option arguments" -x
|
||||
complete -c complete -s a -l arguments -d "Space-separated list of possible arguments" -x
|
||||
complete -c complete -s d -l description -d "Description of completion" -x
|
||||
complete -c complete -s e -l erase -d "Remove completion"
|
||||
complete -c complete -s h -l help -d "Display help and exit"
|
||||
complete -c complete -s C -l do-complete -d "Print completions for a commandline specified as a parameter"
|
||||
complete -c complete -s n -l condition -d "Completion only used if command has zero exit status" -x
|
||||
complete -c complete -s w -l wraps -d "Inherit completions from specified command" -xa '(__fish_complete_command)'
|
||||
complete -c complete -s k -l keep-order -d "Keep order of arguments instead of sorting alphabetically"
|
||||
|
||||
# Deprecated options
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#cryptsetup 2.3.1
|
||||
#cryptsetup 2.3.5
|
||||
|
||||
#variables
|
||||
set -l seen __fish_seen_subcommand_from
|
||||
@@ -34,6 +34,7 @@ complete -c cryptsetup -l integrity-legacy-padding -d "Use inefficient legacy pa
|
||||
complete -c cryptsetup -l integrity-no-journal -d "Disable journal for integrity device"
|
||||
complete -c cryptsetup -l integrity-no-wipe -d "Do not wipe device after format"
|
||||
complete -c cryptsetup -l iter-time -s i -d "PBKDF iteration time for LUKS (in ms)"
|
||||
complete -c cryptsetup -l iv-large-sectors -d "Use IV counted in sector size (not in 512 bytes)"
|
||||
complete -c cryptsetup -l json-file -d "Read or write the json from or to a file"
|
||||
complete -c cryptsetup -l key-description -d "Key description"
|
||||
complete -c cryptsetup -l key-file -s d -d "Read the key from a file"
|
||||
@@ -54,6 +55,8 @@ complete -c cryptsetup -l pbkdf -d "PBKDF algorithm (for LUKS2): argon2i, argon2
|
||||
complete -c cryptsetup -l pbkdf-force-iterations -d "PBKDF iterations cost (forced, disables benchmark)"
|
||||
complete -c cryptsetup -l pbkdf-memory -d "PBKDF memory cost limit"
|
||||
complete -c cryptsetup -l pbkdf-parallel -d "PBKDF parallel cost"
|
||||
complete -c cryptsetup -l perf-no_read_workqueue -d "Bypass dm-crypt workqueue and process read requests synchronously"
|
||||
complete -c cryptsetup -l perf-no_write_workqueue -d "Bypass dm-crypt workqueue and process write requests synchronously"
|
||||
complete -c cryptsetup -l perf-same_cpu_crypt -d "Use dm-crypt same_cpu_crypt performance compatibility option"
|
||||
complete -c cryptsetup -l perf-submit_from_crypt_cpus -d "Use dm-crypt submit_from_crypt_cpus performance compatibility option"
|
||||
complete -c cryptsetup -l persistent -d "Set activation flags persistent for device"
|
||||
@@ -80,7 +83,7 @@ complete -c cryptsetup -l token-id -d "Token number (default: any)"
|
||||
complete -c cryptsetup -l token-only -d "Do not ask for passphrase if activation by token fails"
|
||||
complete -c cryptsetup -l tries -s T -d "How often the input of the passphrase can be retried"
|
||||
complete -c cryptsetup -l type -s M -d "Type of device metadata: luks, luks1, luks2, plain, loopaes, tcrypt, bitlk"
|
||||
complete -c cryptsetup -l unbound -d "Create unbound (no assigned data segment) LUKS2 keyslot"
|
||||
complete -c cryptsetup -l unbound -d "Create or dump unbound (no assigned data segment) LUKS2 keyslot"
|
||||
complete -c cryptsetup -l usage -d "Display brief usage"
|
||||
complete -c cryptsetup -l use-random -d "Use /dev/random for generating volume key"
|
||||
complete -c cryptsetup -l use-urandom -d "Use /dev/urandom for generating volume key"
|
||||
|
||||
@@ -10,14 +10,8 @@ function __fish_complete_dd -d 'Complete dd operands'
|
||||
case 'if=*' 'of=*'
|
||||
string replace = ' ' -- $operand_string | read -l operand value
|
||||
|
||||
for entry in $value*
|
||||
# if $entry is a directory, append a '/'
|
||||
if test -d $entry
|
||||
echo $operand"="$entry/
|
||||
else
|
||||
echo $operand"="$entry
|
||||
end
|
||||
end
|
||||
# Use normal file completions.
|
||||
printf "$operand=%s\n" (complete -C "__fish_command_without_completions $value")
|
||||
|
||||
case 'iflag=*' 'oflag=*'
|
||||
string replace = ' ' -- $operand_string | read -l operand complete
|
||||
|
||||
@@ -19,7 +19,7 @@ complete -c dhclient -s s -x -d 'Specify the server IP address'
|
||||
complete -c dhclient -s g -x -d 'Set the giaddr field'
|
||||
complete -c dhclient -s i -d 'Use a DUID with DHCPv4 clients'
|
||||
complete -c dhclient -s I -d 'Use the standard DDNS scheme'
|
||||
complete -c dhclient -l decline-wait-time -x -d 'Time (in seconds) an IPv4 client should wait after declining an address before issuing a discover'
|
||||
complete -c dhclient -l decline-wait-time -x -d 'Wait time (in secs) between declining an address and issuing discover'
|
||||
complete -c dhclient -l version -d 'Print version number'
|
||||
complete -c dhclient -s S -d 'Use Information-request to get only stateless configuration parameters'
|
||||
complete -c dhclient -s T -d 'Ask for IPv6 temporary addresses, one set per -T flag'
|
||||
|
||||
@@ -7,17 +7,31 @@ function __dnf_list_installed_packages
|
||||
end
|
||||
|
||||
function __dnf_list_available_packages
|
||||
set -l tok (commandline -ct | string collect)
|
||||
set -l files (__fish_complete_suffix .rpm)
|
||||
if string match -q -- '*/*' $tok
|
||||
# Fast path - package names can't contain slashes, so show files.
|
||||
string join -- \n $files
|
||||
return
|
||||
end
|
||||
set -l results
|
||||
# dnf --cacheonly list --available gives a list of non-installed packages dnf is aware of,
|
||||
# but it is slow as molasses. Unfortunately, sqlite3 is not available oob (Fedora Server 32).
|
||||
if type -q sqlite3
|
||||
# This schema is bad, there is only a "pkg" field with the full
|
||||
# packagename-version-release.fedorarelease.architecture
|
||||
# tuple. We are only interested in the packagename.
|
||||
sqlite3 /var/cache/dnf/packages.db "SELECT pkg FROM available WHERE pkg LIKE \"$cur%\"" 2>/dev/null |
|
||||
string replace -r -- '-[^-]*-[^-]*$' ''
|
||||
set results (sqlite3 /var/cache/dnf/packages.db "SELECT pkg FROM available WHERE pkg LIKE \"$tok%\"" 2>/dev/null |
|
||||
string replace -r -- '-[^-]*-[^-]*$' '')
|
||||
else
|
||||
dnf repoquery --cacheonly "$cur*" --qf "%{NAME}" --available 2>/dev/null
|
||||
set results (dnf repoquery --cacheonly "$tok*" --qf "%{NAME}" --available 2>/dev/null)
|
||||
end
|
||||
if set -q results[1]
|
||||
set results (string match -r -- '.*\\.rpm$' $files) $results
|
||||
else
|
||||
set results $files
|
||||
end
|
||||
string join \n $results
|
||||
end
|
||||
|
||||
function __dnf_list_transactions
|
||||
@@ -103,11 +117,11 @@ end
|
||||
|
||||
# Info
|
||||
complete -c dnf -n __fish_use_subcommand -xa info -d "Describes the given package"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from info; and not __fish_seen_subcommand_from history" -xa "(__dnf_list_available_packages)"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from info; and not __fish_seen_subcommand_from history" -k -xa "(__dnf_list_available_packages)"
|
||||
|
||||
# Install
|
||||
complete -c dnf -n __fish_use_subcommand -xa install -d "Install package"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from install" -xa "(__dnf_list_available_packages)"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from install" -k -xa "(__dnf_list_available_packages)"
|
||||
|
||||
# List
|
||||
complete -c dnf -n __fish_use_subcommand -xa list -d "Lists all packages"
|
||||
|
||||
268
share/completions/firewall-cmd.fish
Normal file
268
share/completions/firewall-cmd.fish
Normal file
@@ -0,0 +1,268 @@
|
||||
function __fish_print_firewalld_zones --description "Print list of predefined firewalld zones"
|
||||
firewall-cmd --get-zones | string split " "
|
||||
end
|
||||
|
||||
function __fish_print_firewalld_policies --description "Print list of predefined firewalld policies"
|
||||
firewall-cmd --get-policies | string split " "
|
||||
end
|
||||
|
||||
function __fish_print_firewalld_services --description "Print list of predefined firewalld services"
|
||||
firewall-cmd --get-services | string split " "
|
||||
end
|
||||
|
||||
function __fish_print_firewalld_icmptypes --description "Print list of ICMP types supported by firewalld"
|
||||
firewall-cmd --get-icmptypes | string split " "
|
||||
end
|
||||
|
||||
function __fish_print_firewalld_helpers --description "Print list of predefined firewalld helpers"
|
||||
firewall-cmd --get-helpers | string split " "
|
||||
end
|
||||
|
||||
function __fish_print_firewalld_protocols --description "Print list of protocols supported by firewalld"
|
||||
string replace -f -r '^([[:alnum:]]\S*).*' '$1' < /etc/protocols
|
||||
end
|
||||
|
||||
complete -c firewall-cmd -f
|
||||
|
||||
# General Options
|
||||
complete -c firewall-cmd -s h -l help -d "Prints a short help text and exits"
|
||||
complete -c firewall-cmd -s V -l version -d "Print the version string of firewalld"
|
||||
complete -c firewall-cmd -s q -l quiet -d "Do not print status messages"
|
||||
|
||||
# Status Options
|
||||
complete -c firewall-cmd -l state -d "Check whether the firewalld daemon is active"
|
||||
complete -c firewall-cmd -l reload -d "Reload firewall rules and keep state information"
|
||||
complete -c firewall-cmd -l complete-reload -d "Reload firewall completely, even netfilter kernel modules"
|
||||
complete -c firewall-cmd -l runtime-to-permanent -d "Save active runtime configuration and overwrite permanent configuration"
|
||||
complete -c firewall-cmd -l check-config -d "Run checks on the permanent configuration"
|
||||
|
||||
# Log Denied Options
|
||||
complete -c firewall-cmd -l get-log-denied -d "Print the log denied setting"
|
||||
complete -c firewall-cmd -l set-log-denied -xa "all unicast broadcast multicast off" -d "Add logging rules right before reject and drop rules"
|
||||
|
||||
# Permanent Options
|
||||
complete -c firewall-cmd -l permanent -d "Set options permanently"
|
||||
|
||||
# Zone Options
|
||||
complete -c firewall-cmd -l get-default-zone -d "Print default zone for connections and interfaces"
|
||||
complete -c firewall-cmd -l set-default-zone -xa "(__fish_print_firewalld_zones)" -d "Set default zone for connections and interfaces"
|
||||
complete -c firewall-cmd -l get-active-zones -d "Print currently active zones altogether with interfaces and sources"
|
||||
complete -c firewall-cmd -l get-zones -d "Print predefined zones"
|
||||
complete -c firewall-cmd -l get-services -d "Print predefined services"
|
||||
complete -c firewall-cmd -l get-icmptypes -d "Print predefined icmptypes"
|
||||
complete -c firewall-cmd -l get-zone-of-interface -xa "(__fish_print_interfaces)" -d "Print the name of the zone the interface is bound to"
|
||||
complete -c firewall-cmd -l get-zone-of-source -x -d "Print the name of the zone the source is bound to"
|
||||
complete -c firewall-cmd -l info-zone -xa "(__fish_print_firewalld_zones)" -d "Print information about the zone"
|
||||
complete -c firewall-cmd -l list-all-zones -d "List everything added for or enabled in all zones"
|
||||
complete -c firewall-cmd -l new-zone -x -d "Add a new permanent and empty zone"
|
||||
complete -c firewall-cmd -l new-zone-from-file -F -d "Add a new permanent zone from a prepared zone file"
|
||||
complete -c firewall-cmd -l delete-zone -xa "(__fish_print_firewalld_zones)" -d "Delete an existing permanent zone"
|
||||
complete -c firewall-cmd -l load-zone-defaults -xa "(__fish_print_firewalld_zones)" -d "Load zone default settings"
|
||||
complete -c firewall-cmd -l path-zone -xa "(__fish_print_firewalld_zones)" -d "Print path of the zone configuration file"
|
||||
|
||||
# Policy Options
|
||||
complete -c firewall-cmd -l get-policies -d "Print predefined policies"
|
||||
complete -c firewall-cmd -l info-policy -xa "(__fish_print_firewalld_policies)" -d "Print information about the policy"
|
||||
complete -c firewall-cmd -l list-all-policies -d "List everything added for or enabled in all policies"
|
||||
complete -c firewall-cmd -l new-policy -x -d "Add a new permanent policy"
|
||||
complete -c firewall-cmd -l new-policy-from-file -F -d "Add a new permanent policy from a prepared policy file"
|
||||
complete -c firewall-cmd -l path-policy -xa "(__fish_print_firewalld_policies)" -d "Print path of the policy configuration file"
|
||||
complete -c firewall-cmd -l delete-policy -xa "(__fish_print_firewalld_policies)" -d "Delete an existing permanent policy"
|
||||
complete -c firewall-cmd -l load-policy-defaults -xa "(__fish_print_firewalld_policies)" -d "Load the shipped defaults for a policy"
|
||||
|
||||
# Options to Adapt and Query Zones and Policies
|
||||
complete -c firewall-cmd -l zone -xa "(__fish_print_firewalld_zones)" -d "Apply option to this zone"
|
||||
complete -c firewall-cmd -l policy -xa "(__fish_print_firewalld_policies)" -d "Apply option to this policy"
|
||||
complete -c firewall-cmd -l get-target -d "Get the target"
|
||||
complete -c firewall-cmd -l set-target -xa "default CONTINUE ACCEPT DROP REJECT" -d "Set the target"
|
||||
complete -c firewall-cmd -l list-all -d "List everything added for or enabled"
|
||||
complete -c firewall-cmd -l list-services -d "List services added"
|
||||
complete -c firewall-cmd -l add-service -xa "(__fish_print_firewalld_services)" -d "Add a service"
|
||||
complete -c firewall-cmd -l remove-service -xa "(__fish_print_firewalld_services)" -d "Remove a service"
|
||||
complete -c firewall-cmd -l query-service -xa "(__fish_print_firewalld_services)" -d "Return whether service has been added"
|
||||
complete -c firewall-cmd -l list-ports -d "List ports added"
|
||||
complete -c firewall-cmd -l list-protocols -d "List protocols added"
|
||||
complete -c firewall-cmd -l list-source-ports -d "List source ports added"
|
||||
complete -c firewall-cmd -l list-icmp-blocks -d "List ICMPs type blocks added"
|
||||
complete -c firewall-cmd -l add-icmp-block -xa "(__fish_print_firewalld_icmptypes)" -d "Add an ICMP block for icmptype"
|
||||
complete -c firewall-cmd -l remove-icmp-block -xa "(__fish_print_firewalld_icmptypes)" -d "Remove the ICMP block for icmptype"
|
||||
complete -c firewall-cmd -l query-icmp-block -xa "(__fish_print_firewalld_icmptypes)" -d "Return whether an ICMP block for icmptype has been added"
|
||||
complete -c firewall-cmd -l list-forward-ports -d "List IPv4 forward ports added"
|
||||
complete -c firewall-cmd -l add-forward-port -x -d "Add the IPv4 forward port"
|
||||
complete -c firewall-cmd -l remove-forward-port -x -d "Remove the IPv4 forward port"
|
||||
complete -c firewall-cmd -l query-forward-port -x -d "Return whether the IPv4 forward port has been added"
|
||||
complete -c firewall-cmd -l add-masquerade -d "Enable IPv4 masquerade"
|
||||
complete -c firewall-cmd -l remove-masquerade -d "Disable IPv4 masquerade"
|
||||
complete -c firewall-cmd -l query-masquerade -d "Return whether IPv4 masquerading has been enabled"
|
||||
complete -c firewall-cmd -l list-rich-rules -d "List rich language rules added"
|
||||
complete -c firewall-cmd -l add-rich-rule -x -d "Add rich language rule"
|
||||
complete -c firewall-cmd -l remove-rich-rule -x -d "Remove rich language rule"
|
||||
complete -c firewall-cmd -l query-rich-rule -x -d "Return whether the rich language rule has been added"
|
||||
complete -c firewall-cmd -l timeout -x -d "The rule will be active for the specified amount of time"
|
||||
|
||||
# Options to Adapt and Query Zones
|
||||
complete -c firewall-cmd -l add-icmp-block-inversion -d "Enable ICMP block inversion"
|
||||
complete -c firewall-cmd -l remove-icmp-block-inversion -d "Disable ICMP block inversion"
|
||||
complete -c firewall-cmd -l query-icmp-block-inversion -d "Return whether ICMP block inversion is enabled"
|
||||
complete -c firewall-cmd -l add-forward -d "Enable intra zone forwarding"
|
||||
complete -c firewall-cmd -l remove-forward -d "Disable intra zone forwarding"
|
||||
complete -c firewall-cmd -l query-forward -d "Return whether intra zone forwarding is enabled"
|
||||
|
||||
# Options to Adapt and Query Policies
|
||||
complete -c firewall-cmd -l get-priority -d "Get the priority"
|
||||
complete -c firewall-cmd -l set-priority -x -d "Set the priority"
|
||||
complete -c firewall-cmd -l list-ingress-zones -d "List ingress zones added"
|
||||
complete -c firewall-cmd -l add-ingress-zone -xa "(__fish_print_firewalld_zones) HOST ANY" -d "Add an ingress zone"
|
||||
complete -c firewall-cmd -l remove-ingress-zone -xa "(__fish_print_firewalld_zones) HOST ANY" -d "Remove an ingress zone"
|
||||
complete -c firewall-cmd -l query-ingress-zone -xa "(__fish_print_firewalld_zones) HOST ANY" -d "Return whether zone has been added"
|
||||
complete -c firewall-cmd -l list-egress-zones -d "List egress zones added"
|
||||
complete -c firewall-cmd -l add-egress-zone -xa "(__fish_print_firewalld_zones) HOST ANY" -d "Add an egress zone"
|
||||
complete -c firewall-cmd -l remove-egress-zone -xa "(__fish_print_firewalld_zones) HOST ANY" -d "Remove an egress zone"
|
||||
complete -c firewall-cmd -l query-egress-zone -xa "(__fish_print_firewalld_zones) HOST ANY" -d "Return whether zone has been added"
|
||||
|
||||
# Options to Handle Bindings of Interfaces
|
||||
complete -c firewall-cmd -l list-interfaces -d "List interfaces that are bound to zone"
|
||||
complete -c firewall-cmd -l add-interface -xa "(__fish_print_interfaces)" -d "Bind interface to zone"
|
||||
complete -c firewall-cmd -l change-interface -xa "(__fish_print_interfaces)" -d "Change to which zone interface is bound"
|
||||
complete -c firewall-cmd -l query-interface -xa "(__fish_print_interfaces)" -d "Query whether interface is bound to zone"
|
||||
complete -c firewall-cmd -l remove-interface -xa "(__fish_print_interfaces)" -d "Remove binding of interface from zone"
|
||||
|
||||
# Options to Handle Bindings of Sources
|
||||
complete -c firewall-cmd -l list-sources -d "List sources that are bound to zone"
|
||||
complete -c firewall-cmd -l add-source -x -d "Bind the source to zone"
|
||||
complete -c firewall-cmd -l change-source -x -d "Change zone the source is bound to"
|
||||
complete -c firewall-cmd -l query-source -x -d "Query whether the source is bound to the zone"
|
||||
complete -c firewall-cmd -l remove-source -x -d "Remove binding of the source from zone"
|
||||
|
||||
# IPSet Options
|
||||
complete -c firewall-cmd -l get-ipset-types -d "Print the supported ipset types"
|
||||
complete -c firewall-cmd -l new-ipset -x -d "Add a new permanent and empty ipset"
|
||||
complete -c firewall-cmd -l type -x -d "Specify ipset type"
|
||||
complete -c firewall-cmd -l option -x -d "Options for new ipset"
|
||||
complete -c firewall-cmd -l new-ipset-from-file -F -d "Add a new permanent ipset from a prepared ipset file"
|
||||
complete -c firewall-cmd -l delete-ipset -x -d "Delete an existing permanent ipset"
|
||||
complete -c firewall-cmd -l load-ipset-defaults -x -d "Load ipset default settings"
|
||||
complete -c firewall-cmd -l info-ipset -x -d "Print information about the ipset"
|
||||
complete -c firewall-cmd -l get-ipsets -d "Print predefined ipsets"
|
||||
complete -c firewall-cmd -l ipset -x -d "Apply settings to this ipset"
|
||||
complete -c firewall-cmd -l add-entry -x -d "Add a new entry to the ipset"
|
||||
complete -c firewall-cmd -l remove-entry -x -d "Remove an entry from the ipset"
|
||||
complete -c firewall-cmd -l query-entry -x -d "Return whether the entry has been added to an ipset"
|
||||
complete -c firewall-cmd -l get-entries -d "List all entries of the ipset"
|
||||
complete -c firewall-cmd -l add-entries-from-file -F -d "Add new entries to the ipset from the file"
|
||||
complete -c firewall-cmd -l remove-entries-from-file -F -d "Remove existing entries from the ipset from the file"
|
||||
complete -c firewall-cmd -l path-ipset -d "Print path of the ipset configuration file"
|
||||
|
||||
# Service Options
|
||||
complete -c firewall-cmd -l info-service -xa "(__fish_print_firewalld_services)" -d "Print information about the service"
|
||||
complete -c firewall-cmd -l new-service -x -d "Add a new permanent and empty service"
|
||||
complete -c firewall-cmd -l new-service-from-file -F -d "Add a new permanent service from a prepared service file"
|
||||
complete -c firewall-cmd -l delete-service -xa "(__fish_print_firewalld_services)" -d "Delete an existing permanent service"
|
||||
complete -c firewall-cmd -l load-service-defaults -xa "(__fish_print_firewalld_services)" -d "Load service default settings"
|
||||
complete -c firewall-cmd -l path-service -xa "(__fish_print_firewalld_services)" -d "Print path of the service configuration file"
|
||||
complete -c firewall-cmd -l service -xa "(__fish_print_firewalld_services)" -d "Apply settings to this service"
|
||||
complete -c firewall-cmd -l get-protocols -d "List protocols added to the permanent service"
|
||||
complete -c firewall-cmd -l get-source-ports -d "List source ports added to the permanent service"
|
||||
complete -c firewall-cmd -l add-helper -xa "(__fish_print_firewalld_helpers)" -d "Add a new helper to the permanent service"
|
||||
complete -c firewall-cmd -l remove-helper -xa "(__fish_print_firewalld_helpers)" -d "Remove a helper from the permanent service"
|
||||
complete -c firewall-cmd -l query-helper -xa "(__fish_print_firewalld_helpers)" -d "Return wether the helper has been added to the permanent service"
|
||||
complete -c firewall-cmd -l get-service-helpers -d "List helpers added to the permanent service"
|
||||
complete -c firewall-cmd -l set-destination -x -d "Set destination for ipv to address[/mask] in the permanent service"
|
||||
complete -c firewall-cmd -l add-include -xa "(__fish_print_firewalld_services)" -d "Add a new include to the permanent service"
|
||||
complete -c firewall-cmd -l remove-include -xa "(__fish_print_firewalld_services)" -d "Remove a include from the permanent service"
|
||||
complete -c firewall-cmd -l query-include -xa "(__fish_print_firewalld_services)" -d "Return wether the include has been added to the permanent service"
|
||||
complete -c firewall-cmd -l get-includes -d "List includes added to the permanent service"
|
||||
|
||||
# Helper Options
|
||||
complete -c firewall-cmd -l info-helper -xa "(__fish_print_firewalld_helpers)" -d "Print information about the helper"
|
||||
complete -c firewall-cmd -l new-helper -x -d "Add a new permanent helper"
|
||||
complete -c firewall-cmd -l module -x -d "Specify module for new helper"
|
||||
complete -c firewall-cmd -l new-helper-from-file -F -d "Add a new permanent helper from a prepared helper file"
|
||||
complete -c firewall-cmd -l delete-helper -xa "(__fish_print_firewalld_helpers)" -d "Delete an existing permanent helper"
|
||||
complete -c firewall-cmd -l load-helper-defaults -xa "(__fish_print_firewalld_helpers)" -d "Load helper default settings"
|
||||
complete -c firewall-cmd -l path-helper -xa "(__fish_print_firewalld_helpers)" -d "Print path of the helper configuration file"
|
||||
complete -c firewall-cmd -l get-helpers -d "Print predefined helpers as a space separated list"
|
||||
complete -c firewall-cmd -l helper -xa "(__fish_print_firewalld_helpers)" -d "Apply settings to this helper"
|
||||
complete -c firewall-cmd -l set-module -x -d "Set module description for helper"
|
||||
complete -c firewall-cmd -l get-module -d "Print module description for helper"
|
||||
complete -c firewall-cmd -l set-family -x -d "Set family description for helper"
|
||||
complete -c firewall-cmd -l get-family -d "Print family description of helper"
|
||||
|
||||
# Internet Control Message Protocol (ICMP) type Options
|
||||
complete -c firewall-cmd -l info-icmptype -xa "(__fish_print_firewalld_icmptypes)" -d "Print information about the icmptype"
|
||||
complete -c firewall-cmd -l new-icmptype -x -d "Add a new permanent and empty icmptype"
|
||||
complete -c firewall-cmd -l new-icmptype-from-file -F -d "Add a new permanent icmptype from a prepared icmptype file"
|
||||
complete -c firewall-cmd -l delete-icmptype -xa "(__fish_print_firewalld_icmptypes)" -d "Delete an existing permanent icmptype"
|
||||
complete -c firewall-cmd -l load-icmptype-defaults -xa "(__fish_print_firewalld_icmptypes)" -d "Load icmptype default settings"
|
||||
complete -c firewall-cmd -l icmptype -xa "(__fish_print_firewalld_icmptypes)" -d "Apply settings to this icmptype"
|
||||
complete -c firewall-cmd -l add-destination -xa "ipv4 ipv6" -d "Enable destination for ipv in permanent icmptype"
|
||||
complete -c firewall-cmd -l path-icmptype -xa "(__fish_print_firewalld_icmptypes)" -d "Print path of the icmptype configuration file"
|
||||
|
||||
# Direct Options
|
||||
complete -c firewall-cmd -l direct -d "Give a more direct access to the firewall"
|
||||
complete -c firewall-cmd -l get-all-chains -d "Get all chains added to all tables"
|
||||
complete -c firewall-cmd -l get-chains -xa "ipv4 ipv6 eb" -d "Get all chains added to table"
|
||||
complete -c firewall-cmd -l add-chain -xa "ipv4 ipv6 eb" -d "Add a new chain to table"
|
||||
complete -c firewall-cmd -l remove-chain -xa "ipv4 ipv6 eb" -d "Remove chain from table"
|
||||
complete -c firewall-cmd -l query-chain -xa "ipv4 ipv6 eb" -d "Return whether the chain with given name exists in table"
|
||||
complete -c firewall-cmd -l get-all-rules -d "Get all rules added to all chains in all tables"
|
||||
complete -c firewall-cmd -l get-rules -xa "ipv4 ipv6 eb" -d "Get all rules added to chain in table"
|
||||
complete -c firewall-cmd -l add-rule -xa "ipv4 ipv6 eb" -d "Add a rule to chain in table"
|
||||
complete -c firewall-cmd -l remove-rule -xa "ipv4 ipv6 eb" -d "Remove a rule from chain in table"
|
||||
complete -c firewall-cmd -l remove-rules -xa "ipv4 ipv6 eb" -d "Remove all rules in the chain in table"
|
||||
complete -c firewall-cmd -l query-rule -xa "ipv4 ipv6 eb" -d "Return whether the rule exists in chain in table"
|
||||
complete -c firewall-cmd -l passthrough -xa "ipv4 ipv6 eb" -d "Pass a command through to the firewall"
|
||||
complete -c firewall-cmd -l get-all-passthroughs -d "Get all passthrough rules"
|
||||
complete -c firewall-cmd -l get-passthroughs -xa "ipv4 ipv6 eb" -d "Get all passthrough rules for the ipv value"
|
||||
complete -c firewall-cmd -l add-passthrough -xa "ipv4 ipv6 eb" -d "Add a passthrough rule"
|
||||
complete -c firewall-cmd -l remove-passthrough -xa "ipv4 ipv6 eb" -d "Remove a passthrough rule"
|
||||
complete -c firewall-cmd -l query-passthrough -xa "ipv4 ipv6 eb" -d "Return whether the passthrough rule exists"
|
||||
|
||||
# Lockdown Options
|
||||
complete -c firewall-cmd -l lockdown-on -d "Enable lockdown"
|
||||
complete -c firewall-cmd -l lockdown-off -d "Disable lockdown"
|
||||
complete -c firewall-cmd -l query-lockdown -d "Query whether lockdown is enabled"
|
||||
|
||||
# Lockdown Whitelist Options
|
||||
complete -c firewall-cmd -l list-lockdown-whitelist-commands -d "List all command lines that are on the whitelist"
|
||||
complete -c firewall-cmd -l add-lockdown-whitelist-command -x -d "Add the command to the whitelist"
|
||||
complete -c firewall-cmd -l remove-lockdown-whitelist-command -x -d "Remove the command from the whitelist"
|
||||
complete -c firewall-cmd -l query-lockdown-whitelist-command -x -d "Query whether the command is on the whitelist"
|
||||
complete -c firewall-cmd -l list-lockdown-whitelist-contexts -d "List all contexts that are on the whitelist"
|
||||
complete -c firewall-cmd -l add-lockdown-whitelist-context -x -d "Add the context to the whitelist"
|
||||
complete -c firewall-cmd -l remove-lockdown-whitelist-context -x -d "Remove the context from the whitelist"
|
||||
complete -c firewall-cmd -l query-lockdown-whitelist-context -x -d "Query whether the context is on the whitelist"
|
||||
complete -c firewall-cmd -l list-lockdown-whitelist-uids -d "List all user ids that are on the whitelist"
|
||||
complete -c firewall-cmd -l add-lockdown-whitelist-uid -x -d "Add the user id to the whitelist"
|
||||
complete -c firewall-cmd -l remove-lockdown-whitelist-uid -x -d "Remove the user id from the whitelist"
|
||||
complete -c firewall-cmd -l query-lockdown-whitelist-uid -x -d "Query whether the user id is on the whitelist"
|
||||
complete -c firewall-cmd -l list-lockdown-whitelist-users -d "List all user names that are on the whitelist"
|
||||
complete -c firewall-cmd -l add-lockdown-whitelist-user -xa "(__fish_complete_users)" -d "Add the user to the whitelist"
|
||||
complete -c firewall-cmd -l remove-lockdown-whitelist-user -xa "(__fish_complete_users)" -d "Remove the user from the whitelist"
|
||||
complete -c firewall-cmd -l query-lockdown-whitelist-user -xa "(__fish_complete_users)" -d "Query whether the user is on the whitelist"
|
||||
|
||||
# Panic Options
|
||||
complete -c firewall-cmd -l panic-on -d "Enable panic mode"
|
||||
complete -c firewall-cmd -l panic-off -d "Disable panic mode"
|
||||
complete -c firewall-cmd -l query-panic -d "Returns 0 if panic mode is enabled, 1 otherwise"
|
||||
|
||||
# Object independent options
|
||||
complete -c firewall-cmd -l set-description -x -d "Set new description for zone|policy|ipset|service|helper|icmptype"
|
||||
complete -c firewall-cmd -l get-description -d "Print description of zone|policy|ipset|service|helper|icmptype"
|
||||
complete -c firewall-cmd -l set-short -x -d "Set short description for zone|policy|ipset|service|helper|icmptype"
|
||||
complete -c firewall-cmd -l get-short -d "Print short description of zone|policy|ipset|service|helper|icmptype"
|
||||
complete -c firewall-cmd -l name -x -d "Name for new zone|policy|ipset|service|helper|icmptype"
|
||||
complete -c firewall-cmd -l add-port -x -d "Add the port to zone|policy|service|helper"
|
||||
complete -c firewall-cmd -l remove-port -x -d "Remove the port from zone|policy|service|helper"
|
||||
complete -c firewall-cmd -l query-port -x -d "Return whether the port has been added for zone|policy|service|helper"
|
||||
complete -c firewall-cmd -l add-protocol -xa "(__fish_print_firewalld_protocols)" -d "Add the protocol to zone|policy|service"
|
||||
complete -c firewall-cmd -l remove-protocol -xa "(__fish_print_firewalld_protocols)" -d "Remove the protocol from zone|policy|service"
|
||||
complete -c firewall-cmd -l query-protocol -xa "(__fish_print_firewalld_protocols)" -d "Return whether the protocol has been added to zone|policy|service"
|
||||
complete -c firewall-cmd -l add-source-port -x -d "Add the source port to zone|policy|service"
|
||||
complete -c firewall-cmd -l remove-source-port -x -d "Remove the source port from zone|policy|service"
|
||||
complete -c firewall-cmd -l query-source-port -x -d "Return whether the source port has been added for zone|policy|service"
|
||||
complete -c firewall-cmd -l get-ports -d "List ports added to the permanent service|helper"
|
||||
complete -c firewall-cmd -l remove-destination -xa "ipv4 ipv6" -d "Disable destination for ipv in permanent service|icmptype"
|
||||
complete -c firewall-cmd -l query-destination -xa "ipv4 ipv6" -d "Return whether destination for ipv is enabled in permanent service|icmptype"
|
||||
complete -c firewall-cmd -l get-destinations -d "List destinations in permanent service|icmptype"
|
||||
complete -c firewall-cmd -l family -x -d "Inet family"
|
||||
14
share/completions/fish_config.fish
Normal file
14
share/completions/fish_config.fish
Normal file
@@ -0,0 +1,14 @@
|
||||
complete fish_config -f
|
||||
set -l prompt_commands choose save show list
|
||||
complete fish_config -n '__fish_use_subcommand' -a prompt -d 'View and pick from the sample prompts'
|
||||
complete fish_config -n "__fish_seen_subcommand_from prompt; and not __fish_seen_subcommand_from $prompt_commands" \
|
||||
-a choose -d 'View and pick from the sample prompts'
|
||||
complete fish_config -n "__fish_seen_subcommand_from prompt; and not __fish_seen_subcommand_from $prompt_commands" \
|
||||
-a show -d 'Show what prompts would look like'
|
||||
complete fish_config -n "__fish_seen_subcommand_from prompt; and not __fish_seen_subcommand_from $prompt_commands" \
|
||||
-a list -d 'List all available prompts'
|
||||
complete fish_config -n "__fish_seen_subcommand_from prompt; and not __fish_seen_subcommand_from $prompt_commands" \
|
||||
-a save -d 'Save the current or given prompt to ~/.config/fish'
|
||||
complete fish_config -n '__fish_seen_subcommand_from prompt; and __fish_seen_subcommand_from choose save show' -a '(prompt list)'
|
||||
|
||||
complete fish_config -n '__fish_use_subcommand' -a browse -d 'Open the web-based UI'
|
||||
@@ -170,7 +170,9 @@ function __fish_git_files
|
||||
# (don't use --ignored=no because that was only added in git 2.16, from Jan 2018.
|
||||
set -q ignored; and set -a status_opt --ignored
|
||||
|
||||
set -q untracked; and set -a status_opt -unormal
|
||||
# If we're looking for untracked files, we give untracked files even inside untracked directories.
|
||||
# This makes it nicer if e.g. you're in an untracked directory and want to just add one file.
|
||||
set -q untracked; and set -a status_opt -uall
|
||||
or set -a status_opt -uno
|
||||
|
||||
# We need to set status.relativePaths to true because the porcelain v2 format still honors that,
|
||||
@@ -967,6 +969,7 @@ complete -f -c git -n '__fish_git_using_command add' -a '(__fish_git_files modif
|
||||
# TODO options
|
||||
|
||||
### checkout
|
||||
complete -F -c git -n '__fish_git_using_command checkout; and contains -- -- (commandline -opc)'
|
||||
complete -f -c git -n __fish_git_needs_command -a checkout -d 'Checkout and switch to a branch'
|
||||
complete -k -f -c git -n '__fish_git_using_command checkout; and not contains -- -- (commandline -opc)' -a '(__fish_git_tags)' -d Tag
|
||||
complete -k -f -c git -n '__fish_git_using_command checkout; and not contains -- -- (commandline -opc)' -a '(__fish_git_heads)' -d Head
|
||||
@@ -1060,6 +1063,8 @@ complete -x -c git -n '__fish_git_using_command commit' -l date -d 'Override the
|
||||
complete -x -c git -n '__fish_git_using_command commit' -s m -l message -d 'Use the given message as the commit message'
|
||||
complete -f -c git -n '__fish_git_using_command commit' -l no-edit -d 'Use the selected commit message without launching an editor'
|
||||
complete -f -c git -n '__fish_git_using_command commit; and __fish_contains_opt fixup squash' -k -a '(__fish_git_recent_commits)'
|
||||
complete -f -c git -n '__fish_git_using_command commit' -l allow-empty -d 'Create a commit with no changes'
|
||||
complete -f -c git -n '__fish_git_using_command commit' -l allow-empty-message -d 'Create a commit with no commit message'
|
||||
# TODO options
|
||||
|
||||
### count-objects
|
||||
@@ -1071,7 +1076,6 @@ complete -f -c git -n '__fish_git_using_command count-objects' -s H -l human-rea
|
||||
complete -c git -n __fish_git_needs_command -a describe -d 'Give an object a human readable name based on an available ref'
|
||||
complete -k -f -c git -n '__fish_git_using_command describe' -a '(__fish_git_tags)' -d Tag
|
||||
complete -k -f -c git -n '__fish_git_using_command describe' -a '(__fish_git_branches)'
|
||||
complete -k -f -c git -n '__fish_git_using_command describe' -a '(__fish_git_unique_remote_branches)' -d 'Unique Remote Branch'
|
||||
complete -k -f -c git -n '__fish_git_using_command describe' -a '(__fish_git_heads)' -d Head
|
||||
complete -f -c git -n '__fish_git_using_command describe' -l dirty -d 'Describe the state of the working tree, append dirty if there are local changes'
|
||||
complete -f -c git -n '__fish_git_using_command describe' -l broken -d 'Describe the state of the working tree, append -broken instead of erroring'
|
||||
@@ -1543,7 +1547,9 @@ complete -f -c git -n "__fish_git_using_command reflog; and not __fish_seen_subc
|
||||
|
||||
### reset
|
||||
complete -c git -n __fish_git_needs_command -a reset -d 'Reset current HEAD to the specified state'
|
||||
complete -f -c git -n '__fish_git_using_command reset' -l hard -d 'Reset files in working directory'
|
||||
complete -f -c git -n '__fish_git_using_command reset' -l hard -d 'Reset the index and the working tree'
|
||||
complete -f -c git -n '__fish_git_using_command reset' -l soft -d 'Reset head without touching the index or the working tree'
|
||||
complete -f -c git -n '__fish_git_using_command reset' -l mixed -d 'The default: reset the index but not the working tree'
|
||||
complete -c git -n '__fish_git_using_command reset; and not contains -- -- (commandline -opc)' -a '(__fish_git_branches)'
|
||||
# reset can either undo changes to versioned modified files,
|
||||
# or remove files from the staging area.
|
||||
@@ -1569,7 +1575,7 @@ complete -f -c git -n '__fish_git_using_command restore' -l overlay -d 'Never re
|
||||
complete -f -c git -n '__fish_git_using_command restore' -l no-overlay -d 'Remove files when restoring (default)'
|
||||
complete -f -c git -n '__fish_git_using_command restore; and not contains -- --staged (commandline -opc)' -a '(__fish_git_files modified deleted unmerged)'
|
||||
complete -f -c git -n '__fish_git_using_command restore; and contains -- --staged (commandline -opc)' -a '(__fish_git_files added modified-staged deleted-staged renamed copied)'
|
||||
complete -f -c git -n '__fish_git_using_command restore; and __fish_contains_opt -s s source' -a '(git ls-files)'
|
||||
complete -F -c git -n '__fish_git_using_command restore; and __fish_contains_opt -s s source'
|
||||
# switch options
|
||||
complete -f -c git -n __fish_git_needs_command -a switch -d 'Switch to a branch'
|
||||
complete -k -f -c git -n '__fish_git_using_command switch' -a '(__fish_git_local_branches)'
|
||||
@@ -1599,10 +1605,14 @@ complete -f -c git -n __fish_git_needs_command -a rev-parse -d 'Pick out and mas
|
||||
complete -f -c git -n '__fish_git_using_command rev-parse' -a '(__fish_git_branches)'
|
||||
complete -f -c git -n '__fish_git_using_command rev-parse' -a '(__fish_git_heads)' -d Head
|
||||
complete -k -c git -n '__fish_git_using_command rev-parse' -a '(__fish_git_tags)' -d Tag
|
||||
complete -c git -n '__fish_git_using_command rev-parse' -l abbrev-ref -d 'Output non-ambiguous short object names'
|
||||
|
||||
### revert
|
||||
complete -f -c git -n __fish_git_needs_command -a revert -d 'Revert an existing commit'
|
||||
complete -f -c git -n '__fish_git_using_command revert' -ka '(__fish_git_commits)'
|
||||
complete -f -c git -n '__fish_git_using_command revert' -l continue -d 'Continue the operation in progress'
|
||||
complete -f -c git -n '__fish_git_using_command revert' -l abort -d 'Cancel the operation'
|
||||
complete -f -c git -n '__fish_git_using_command revert' -l skip -d 'Skip the current commit and continue with the rest of the sequence'
|
||||
# TODO options
|
||||
|
||||
### rm
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
function __fish_hashcat_types --description "Get hashcat hash types"
|
||||
set -l modes (hashcat --example-hashes | string replace -f -r '^MODE: (\d+)' '$1')
|
||||
set -l types (hashcat --example-hashes | string replace -f -r '^TYPE: (.+)' '$1')
|
||||
set -l modes (hashcat --example-hashes | string replace -f -r '^(?:MODE: |Hash mode #)(\d+)' '$1')
|
||||
set -l types (hashcat --example-hashes | string replace -f -r '^(?:TYPE:|\s+Name\.+:)\s+(.+)' '$1')
|
||||
for i in (seq (count $modes))
|
||||
echo -e "$modes[$i]\t$types[$i]"
|
||||
end
|
||||
@@ -29,7 +29,8 @@ complete -c hashcat -s a -l attack-mode -d "Attack-mode" -xa "
|
||||
1\t'Combination'
|
||||
3\t'Brute-force'
|
||||
6\t'Hybrid Wordlist + Mask'
|
||||
7\t'Hybrid Mask + Wordlist'"
|
||||
7\t'Hybrid Mask + Wordlist'
|
||||
9\t'Association'"
|
||||
complete -c hashcat -s V -l version -d "Print version"
|
||||
complete -c hashcat -s h -l help -d "Print help"
|
||||
complete -c hashcat -l quiet -d "Suppress output"
|
||||
@@ -74,8 +75,7 @@ complete -c hashcat -l debug-mode -d "Defines the debug mode" -xa "
|
||||
1\t'Finding-Rule'
|
||||
2\t'Original-Word'
|
||||
3\t'Original-Word:Finding-Rule'
|
||||
4\t'Original-Word:Finding-Rule:Processed-Word'
|
||||
"
|
||||
4\t'Original-Word:Finding-Rule:Processed-Word'"
|
||||
complete -c hashcat -l debug-file -rF -d "Output file for debugging rules"
|
||||
complete -c hashcat -l induction-dir -xa "(__fish_complete_directories)" -d "Specify the induction directory to use for loopback"
|
||||
complete -c hashcat -l outfile-check-dir -xa "(__fish_complete_directories)" -d "Specify the outfile directory to monitor for plains"
|
||||
@@ -96,7 +96,8 @@ complete -c hashcat -l bitmap-min -x -d "Sets minimum bits allowed for bitmaps"
|
||||
complete -c hashcat -l bitmap-max -x -d "Sets maximum bits allowed for bitmaps"
|
||||
complete -c hashcat -l cpu-affinity -x -d "Locks to CPU devices"
|
||||
complete -c hashcat -l hook-threads -x -d "Sets number of threads for a hook (per compute unit)"
|
||||
complete -c hashcat -l example-hashes -d "Show an example hash for each hash-mode"
|
||||
complete -c hashcat -l hash-info -d "Show information for each hash-mode"
|
||||
complete -c hashcat -l example-hashes -d "Alias of --hash-info"
|
||||
complete -c hashcat -l backend-ignore-cuda -d "Do not try to open CUDA interface on startup"
|
||||
complete -c hashcat -l backend-ignore-opencl -d "Do not try to open OpenCL interface on startup"
|
||||
complete -c hashcat -s I -l backend-info -d "Show info about detected backend API devices"
|
||||
@@ -107,8 +108,7 @@ complete -c hashcat -s w -l workload-profile -d "Enable a specific workload prof
|
||||
1\tLow
|
||||
2\tDefault
|
||||
3\tHigh
|
||||
4\tNightmare
|
||||
"
|
||||
4\tNightmare"
|
||||
complete -c hashcat -s n -l kernel-accel -x -d "Manual workload tuning, set outerloop step size"
|
||||
complete -c hashcat -s u -l kernel-loops -x -d "Manual workload tuning, set innerloop step size"
|
||||
complete -c hashcat -s T -l kernel-threads -x -d "Manual workload tuning, set thread count"
|
||||
@@ -141,8 +141,7 @@ complete -c hashcat -s z -l brain-client -d "Enable brain client, activates -S"
|
||||
complete -c hashcat -l brain-client-features -d "Define brain client features" -xa "
|
||||
1\t'Send hashed passwords'
|
||||
2\t'Send attack positions'
|
||||
3\t'Send hashed passwords and attack positions'
|
||||
"
|
||||
3\t'Send hashed passwords and attack positions'"
|
||||
complete -c hashcat -l brain-host -xa "(__fish_print_hostnames)" -d "Brain server host (IP or domain)"
|
||||
complete -c hashcat -l brain-port -x -d "Brain server port"
|
||||
complete -c hashcat -l brain-password -x -d "Brain server authentication password"
|
||||
|
||||
@@ -105,3 +105,69 @@ complete -c help -x -a releasenotes -d "Fish's release notes"
|
||||
complete -c help -x -a completions -d "How to write completions"
|
||||
complete -c help -x -a faq -d "Frequently Asked Questions"
|
||||
complete -c help -x -a fish-for-bash-users -d "Differences from bash"
|
||||
|
||||
complete -c help -x -a argument-handling -d "How to handle arguments"
|
||||
complete -c help -x -a autoloading-functions -d "How functions are loaded"
|
||||
complete -c help -x -a brace-expansion -d "{a,b} brace expansion"
|
||||
complete -c help -x -a builtin-commands -d "An overview of fish's builtins"
|
||||
complete -c help -x -a combining-different-expansions -d "How different expansions work together"
|
||||
complete -c help -x -a combining-lists-cartesian-product -d "How lists combine"
|
||||
complete -c help -x -a command-substitution -d "(command) command substitution"
|
||||
complete -c help -x -a comments -d "# comments"
|
||||
complete -c help -x -a conditions -d "ifs and elses"
|
||||
complete -c help -x -a defining-aliases -d "How to define an alias"
|
||||
complete -c help -x -a escaping-characters -d "How \\\\ escaping works"
|
||||
complete -c help -x -a exporting-variables -d "What set -x does"
|
||||
complete -c help -x -a functions -d "How to define functions"
|
||||
complete -c help -x -a home-directory-expansion -d "~ expansion"
|
||||
complete -c help -x -a index-range-expansion -d "var[x..y] slices"
|
||||
complete -c help -x -a input-output-redirection -d "< and > redirectoins"
|
||||
complete -c help -x -a lists -d "Variables with multiple elements"
|
||||
complete -c help -x -a loops-and-blocks -d "while, for and begin"
|
||||
complete -c help -x -a more-on-universal-variables
|
||||
complete -c help -x -a overriding-variables-for-a-single-command -d "foo=bar variable overrides"
|
||||
complete -c help -x -a pager-color-variables -d "How to color the pager"
|
||||
complete -c help -x -a path-variables -d 'Why $PATH is special'
|
||||
complete -c help -x -a shell-variable-and-function-names -d 'What characters are allowed in names'
|
||||
complete -c help -x -a shell-variables
|
||||
complete -c help -x -a special-variables
|
||||
complete -c help -x -a syntax-highlighting-variables
|
||||
complete -c help -x -a syntax-overview
|
||||
complete -c help -x -a terminology
|
||||
complete -c help -x -a the-fish-language
|
||||
complete -c help -x -a the-status-variable -d '$status, the return code'
|
||||
complete -c help -x -a variable-expansion -d '$variable'
|
||||
complete -c help -x -a variable-scope -d 'Local, global and universal scope'
|
||||
complete -c help -x -a variable-scope-for-functions
|
||||
complete -c help -x -a wildcards-globbing
|
||||
complete -c help -x -a abbreviations
|
||||
complete -c help -x -a command-line-editor
|
||||
complete -c help -x -a configurable-greeting
|
||||
complete -c help -x -a copy-and-paste-kill-ring
|
||||
complete -c help -x -a custom-bindings
|
||||
complete -c help -x -a directory-stack
|
||||
complete -c help -x -a emacs-mode-commands
|
||||
complete -c help -x -a help
|
||||
complete -c help -x -a interactive-use
|
||||
complete -c help -x -a multiline-editing
|
||||
complete -c help -x -a navigating-directories
|
||||
complete -c help -x -a private-mode
|
||||
complete -c help -x -a programmable-prompt
|
||||
complete -c help -x -a programmable-title
|
||||
complete -c help -x -a searchable-command-history
|
||||
complete -c help -x -a shared-bindings
|
||||
complete -c help -x -a syntax-highlighting
|
||||
complete -c help -x -a vi-mode-commands
|
||||
complete -c help -x -a arithmetic-expansion
|
||||
complete -c help -x -a blocks-and-loops
|
||||
complete -c help -x -a builtins-and-other-commands
|
||||
complete -c help -x -a command-substitutions
|
||||
complete -c help -x -a heredocs
|
||||
complete -c help -x -a process-substitution
|
||||
complete -c help -x -a prompts -d 'How to make your own prompt'
|
||||
complete -c help -x -a quoting -d 'How "" and \'\' work'
|
||||
complete -c help -x -a special-variables
|
||||
complete -c help -x -a string-manipulation
|
||||
complete -c help -x -a test-test
|
||||
complete -c help -x -a wildcards-globs
|
||||
complete -c help -x -a frequently-asked-questions
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#Keybase 5.3.0
|
||||
#Keybase 5.6.1
|
||||
|
||||
function __fish_keybase_line_ends_with
|
||||
set -l line (commandline -poc | string match -v -r '^-')
|
||||
@@ -13,12 +13,13 @@ end
|
||||
set -l ends __fish_keybase_line_ends_with
|
||||
set -l seen __fish_seen_subcommand_from
|
||||
#L1
|
||||
set -l keybase account blocks bot chat ctl currency decrypt deprovision device encrypt follow fs git h help id kvstore list-followers list-following log login logout oneshot paperkey passphrase pgp ping prove rekey selfprovision service sign signup sigs status team track unfollow untrack update verify version wallet whoami
|
||||
set -l keybase account blocks bot chat config ctl currency decrypt deprovision device encrypt follow fs git h help id kvstore list-followers list-following log login logout oneshot paperkey passphrase pgp ping prove rekey selfprovision service sign signup sigs status team track unfollow untrack update verify version wallet whoami
|
||||
#L2
|
||||
set -l keybase_account contact-settings delete email h help lockdown recover-username upload-avatar
|
||||
set -l keybase_blocks h help list-users list-teams
|
||||
set -l keybase_bot h help signup token
|
||||
set -l keybase_chat add-bot-member add-to-channel api api-listen bot-member-settings clear-commands conv-info create-channel default-channels delete-channel delete-history download edit-bot-member featured-bots h help hide join-channel leave-channel list list-channels list-members list-unread ls lsur min-writer-role mute notification-settings read readd-member remove-bot-member rename-channel report retention-policy search search-bots search-regexp send upload
|
||||
set -l keybase_config get h help info set
|
||||
set -l keybase_ctl app-exit autostart h help init log-rotate redirector reload restart start stop wait watchdog watchdog2
|
||||
set -l keybase_currency add h help
|
||||
set -l keybase_device add h help list remove
|
||||
@@ -122,6 +123,7 @@ complete -c keybase -f -n "$ends keybase account" -a "$keybase_account"
|
||||
complete -c keybase -f -n "$ends keybase blocks" -a "$keybase_blocks"
|
||||
complete -c keybase -f -n "$ends keybase bot" -a "$keybase_bot"
|
||||
complete -c keybase -f -n "$ends keybase chat" -a "$keybase_chat"
|
||||
complete -c keybase -f -n "$ends keybase config" -a "$keybase_config"
|
||||
complete -c keybase -f -n "$ends keybase ctl" -a "$keybase_ctl"
|
||||
complete -c keybase -f -n "$ends keybase currency" -a "$keybase_currency"
|
||||
complete -c keybase -f -n "$ends keybase device" -a "$keybase_device"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
complete -c la -w ls
|
||||
@@ -1 +0,0 @@
|
||||
complete -c ll -w ls
|
||||
@@ -1,4 +1,4 @@
|
||||
#loginctl (systemd 245)
|
||||
#loginctl (systemd 248)
|
||||
|
||||
#variables
|
||||
set -l seen __fish_seen_subcommand_from
|
||||
@@ -21,6 +21,7 @@ complete -c loginctl -f -n "not $seen $commands" -l no-legend -d "Do not show th
|
||||
complete -c loginctl -f -n "not $seen $commands" -l no-pager -d "Do not pipe output into a pager"
|
||||
complete -c loginctl -x -n "not $seen $commands" -l output -s o -a "$output" -d "Change journal output mode"
|
||||
complete -c loginctl -x -n "not $seen $commands" -l property -s p -d "Show only properties by this name"
|
||||
complete -c loginctl -x -n "not $seen $commands" -s P -d "Equivalent to --value --property"
|
||||
complete -c loginctl -x -n "not $seen $commands" -l signal -s s -d "Which signal to send"
|
||||
complete -c loginctl -f -n "not $seen $commands" -l value -d "When showing properties, only print the value"
|
||||
complete -c loginctl -f -n "not $seen $commands" -l version -d "Show package version"
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
complete -f -c math -r
|
||||
complete -f -c math -s s -l scale -r -x
|
||||
complete -f -c math -s s -l scale -r
|
||||
complete -f -c math -s b -l base -r
|
||||
|
||||
@@ -34,7 +34,20 @@ complete -c mvn -r -f -o b -l builder -d "The id of the build strategy to use."
|
||||
complete -c mvn -f -o C -l strict-checksums -d "Fail the build if checksums don't match"
|
||||
complete -c mvn -f -o c -l lax-checksums -d "Warn if checksums don't match"
|
||||
complete -c mvn -f -o cpu -l check-plugin-updates -d "Ineffective, only kept for backward compatibility"
|
||||
|
||||
function __fish_mvn_complete_definition
|
||||
set -l current_token (commandline -t)
|
||||
set -l previous_token (commandline -opc)[-1]
|
||||
string match -qr -- '^(-D|--define\b)' $current_token $previous_token
|
||||
or return
|
||||
set -l keyval (string split --max=1 -- = $current_token)
|
||||
or return
|
||||
# Use normal file completion for the value.
|
||||
printf -- "$keyval[1]=%s\n" (complete -C "__fish_command_without_completions $keyval[2]")
|
||||
end
|
||||
|
||||
complete -c mvn -f -o D -l define -d "Define a system property"
|
||||
complete -c mvn -f -a "(__fish_mvn_complete_definition)"
|
||||
complete -c mvn -f -o e -l errors -d "Produce execution error messages"
|
||||
complete -c mvn -f -o emp -l encrypt-master-password -d "Encrypt master security password"
|
||||
complete -c mvn -f -o ep -l encrypt-password -d "Encrypt server password"
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
function __fish_openssl_subcommand_options --description "Print options for openssl subcommand"
|
||||
set -l cmd (commandline -poc)
|
||||
openssl list -options $cmd[2] | string replace -r -- '^(\S*)\s*.*' '-$1'
|
||||
end
|
||||
|
||||
if command openssl list -1 2>&1 >/dev/null
|
||||
if string match -q "OpenSSL*" (command openssl version)
|
||||
# This is real OpenSSL that has the list command.
|
||||
function __fish_openssl_subcommand_options --description "Print options for openssl subcommand"
|
||||
set -l cmd (commandline -poc)
|
||||
openssl list -options $cmd[2] | string replace -r -- '^(\S*)\s*.*' '-$1'
|
||||
end
|
||||
|
||||
complete -c openssl -n __fish_use_subcommand -x -a "(openssl list -1 -commands -cipher-commands -digest-commands)"
|
||||
complete -c openssl -n 'not __fish_use_subcommand && string match -qr -- "^-" (commandline -ct)' -a "(__fish_openssl_subcommand_options)"
|
||||
else
|
||||
complete -c openssl -n __fish_use_subcommand -x -a "(openssl help 2>&1 | string match -rv '^[A-Z]|^\$' | string split -n ' ')"
|
||||
# Perhaps LibreSSL - see #7966
|
||||
# TODO: support subcommand options.
|
||||
complete -c openssl -n __fish_use_subcommand -x -a "(openssl help 2>&1 | string match -rv '^[A-Z]|^\$|Error' | string split -n ' ')"
|
||||
end
|
||||
complete -c openssl -n 'not __fish_use_subcommand && string match -qr -- "^-" (commandline -ct)' -a "(__fish_openssl_subcommand_options)"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Pulseaudio's pacmd
|
||||
# This covers the most useful commands
|
||||
set -l commands (pacmd help | string match -r '^ +[-\w]+' | string trim)
|
||||
set -l commands (pacmd help 2>/dev/null | string match -r '^ +[-\w]+' | string trim)
|
||||
complete -f -c pacmd
|
||||
complete -f -c pacmd -w pactl
|
||||
|
||||
# These descriptions are a bit wordy and unnecessary
|
||||
# Sample: set-source-port Change the port of a source (args: index|name, port-name)
|
||||
# Or: list-source-outputs List source outputs
|
||||
complete -f -c pacmd -n "not __fish_seen_subcommand_from $commands" -a "(pacmd help | string match ' *' | string trim | string replace -r '\s+' '\t')"
|
||||
complete -f -c pacmd -n "not __fish_seen_subcommand_from $commands" -a "(pacmd help 2>/dev/null | string match ' *' | string trim | string replace -r '\s+' '\t')"
|
||||
|
||||
# Since we wrapped pactl, we can also use functions defined there
|
||||
complete -f -c pacmd -n "__fish_seen_subcommand_from describe-module" -a '(__fish_pa_complete_type modules)'
|
||||
|
||||
@@ -12,7 +12,7 @@ set -l ctlcommands stat info list exit {upload,play,remove}-sample {load,unload}
|
||||
|
||||
# HACK: This is the list of commands from pacmd - used so we can use complete -w there
|
||||
if command -sq pacmd
|
||||
set commands (pacmd help | string match -r '^ +[-\w]+' | string trim)
|
||||
set commands (pacmd help 2>/dev/null | string match -r '^ +[-\w]+' | string trim)
|
||||
else
|
||||
set commands $ctlcommands
|
||||
end
|
||||
|
||||
@@ -12,6 +12,6 @@ complete -c pydf -s m -l megabytes -d 'like --block-size=1048576'
|
||||
complete -c pydf -s g -l gigabytes -d 'like --block-size=1073741824'
|
||||
complete -c pydf -l blocks -d 'use filesystem native block size'
|
||||
complete -c pydf -l bw -d 'do not use colours'
|
||||
complete -c pydf -l mounts -r -d 'file to get mount information from. On normal Linux systems only /etc/mtab or /proc/mounts make sense. Some other Unices use /etc/mnttab. Use /proc/mounts when /etc/mtab is corrupted or inaccessible (the output looks a bit weird in this case).'
|
||||
complete -c pydf -l mounts -r -d 'file to get mount information from'
|
||||
complete -c pydf -s B -l show-binds -d 'show \'mount --bind\' mounts'
|
||||
complete -c pydf -s i -l inodes -d 'show inode instead of block usage'
|
||||
|
||||
@@ -16,7 +16,7 @@ function __fish_complete_rc-update_runlevels
|
||||
default \
|
||||
'Last startup runlevel' \
|
||||
shutdown \
|
||||
'Runlevel for stutting down'
|
||||
'Runlevel for shutting down'
|
||||
printf "%s\t%s\n" $levels
|
||||
end
|
||||
|
||||
|
||||
@@ -15,6 +15,6 @@ complete -c read -s n -l nchars -d "Read the specified number of characters" -x
|
||||
complete -c read -s a -l list -l array -d "Store the results as an array"
|
||||
complete -c read -s R -l right-prompt -d "Set right-hand prompt command" -x
|
||||
complete -c read -s z -l null -d "Use NUL character as line terminator"
|
||||
complete -c read -s l -l line -d "Read each line into its own variable"
|
||||
complete -c read -s L -l line -d "Read each line into its own variable"
|
||||
complete -c read -s d -l delimiter -d "Set string to use as delimiter" -x
|
||||
complete -c read -s t -l tokenize -d "Use shell tokenization rules when splitting"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#resolvectl (systemd 245)
|
||||
#resolvectl (systemd 248)
|
||||
|
||||
#variables
|
||||
set -l seen __fish_seen_subcommand_from
|
||||
set -l commands default-route dns dnsovertls dnssec domain flush-caches llmnr mdns nta openpgp query reset-server-features reset-statistics revert service statistics status tlsa
|
||||
set -l commands default-route dns dnsovertls dnssec domain flush-caches llmnr log-level mdns nta openpgp query reset-server-features reset-statistics revert service statistics status tlsa
|
||||
|
||||
#commands
|
||||
complete -c resolvectl -x -n "not $seen $commands" -a "$commands"
|
||||
@@ -10,16 +10,22 @@ complete -c resolvectl -x -n "not $seen $commands" -a "$commands"
|
||||
#options
|
||||
complete -c resolvectl -f -n "not $seen $commands" -s 4 -d "Resolve IPv4 addresses"
|
||||
complete -c resolvectl -f -n "not $seen $commands" -s 6 -d "Resolve IPv6 addresses"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l cache -d "Allow response from cache"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l class -s c -d "Query RR with DNS class"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l cname -d "Follow CNAME redirects"
|
||||
complete -c resolvectl -f -n "not $seen $commands" -l help -s h -d "Show this help"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l interface -s i -d "Look on interface"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l legend -d "Print headers and additional info"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l network -d "Allow response from network"
|
||||
complete -c resolvectl -f -n "not $seen $commands" -l no-pager -d "Do not pipe output into a pager"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l protocol -s p -d "Look via protocol"
|
||||
complete -c resolvectl -f -n "not $seen $commands" -l raw -d "Dump the answer as binary data"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l search -d "Use search domains for single-label names"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l service-address -d "Resolve address for services"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l service-txt -d "Resolve TXT records for services"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l synthesize -d "Allow synthetic response"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l trust-anchor -d "Allow response from local trust anchor"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l type -s t -d "Query RR with DNS type"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l validate -d "Allow DNSSEC validation"
|
||||
complete -c resolvectl -f -n "not $seen $commands" -l version -d "Show package version"
|
||||
complete -c resolvectl -x -n "not $seen $commands" -l zone -d "Allow response from locally registered mDNS/LLMNR records"
|
||||
|
||||
@@ -20,20 +20,20 @@ complete -c rpm -l root -d "Specify root directory for rpm operations" -a "
|
||||
|
||||
set -l rpm_install -c rpm -n "__fish_contains_opt -s i -s U -s F install upgrade freshen"
|
||||
complete $rpm_install -l aid -d "Add suggested packages to the transaction set when needed"
|
||||
complete $rpm_install -l allfiles -d "Installs or upgrades all the files in the package, even if they aren't needed (missingok) and don't exist"
|
||||
complete $rpm_install -l badreloc -d "Used with --relocate, permit relocations on all file paths, not just those OLD-PATH's included in the binary package relocation hint(s)"
|
||||
complete $rpm_install -l allfiles -d "Install all files in package, even those not needed (missingok)"
|
||||
complete $rpm_install -l badreloc -d "Allow path relocations not included in package hints (requires --relocate)"
|
||||
complete $rpm_install -l excludepath -d "Don't install files whose name begins with specified path" -xa "(__fish_complete_directories (commandline -ct) 'Skip installation of files in this directory')"
|
||||
complete $rpm_install -l excludedocs -d "Don't install any files which are marked as documentation"
|
||||
complete $rpm_install -l force -d 'Same as using --replacepkgs, --replacefiles, and --oldpackage'
|
||||
complete $rpm_install -s h -l hash -d 'Print 50 hash marks as the package archive is unpacked'
|
||||
complete $rpm_install -l ignoresize -d "Don't check for sufficient disk space before installation"
|
||||
complete $rpm_install -l ignorearch -d "Allow installation or upgrading even if the architectures of the binary package and host don't match"
|
||||
complete $rpm_install -l ignoreos -d "Allow installation or upgrading even if the operating systems of the binary package and host don't match"
|
||||
complete $rpm_install -l ignorearch -d "Ignore host and package architecture mismatch"
|
||||
complete $rpm_install -l ignoreos -d "Ignore host and package OS mismatch"
|
||||
complete $rpm_install -l includedocs -d 'Install documentation files (default)'
|
||||
complete $rpm_install -l justdb -d 'Update only the database, not the filesystem'
|
||||
complete $rpm_install -l nodigest -d "Don't verify package or header digests when reading"
|
||||
complete $rpm_install -l nosignature -d "Don't verify package or header signatures when reading"
|
||||
complete $rpm_install -l nodeps -d "Don't do a dependency check"
|
||||
complete $rpm_install -l nodeps -d "Don't perform a dependency check"
|
||||
complete $rpm_install -l nosuggest -d "Don't suggest package(s) that provide a missing dependency"
|
||||
complete $rpm_install -l noorder -d "Don't change the package installation order"
|
||||
complete $rpm_install -l noscripts -d "Don't execute scripts"
|
||||
@@ -46,27 +46,27 @@ complete $rpm_install -l notriggerin -d "Don't execute triggerin scriptlets"
|
||||
complete $rpm_install -l notriggerun -d "Don't execute triggerun scriptlets"
|
||||
complete $rpm_install -l notriggerpostun -d "Don't execute triggerpostun scriptlets"
|
||||
complete $rpm_install -l oldpackage -d 'Allow an upgrade to replace a newer package with an older one'
|
||||
complete $rpm_install -l percent -d 'Print percentages as files are unpacked from the package archive. This is intended to make rpm easy to run from other tools'
|
||||
complete $rpm_install -l prefix -d 'For relocatable binary packages, translate all file paths that start with the installation prefix in the package relocation hint(s) to NEWPATH' -xa "(__fish_complete_directories (commandline -ct) 'Directory prefix for relocatable packages')"
|
||||
complete $rpm_install -l relocate -x -d "Translate all paths that start with first half of following parameter to second half of following parameter"
|
||||
complete $rpm_install -l percent -d 'Output percentages as files are unpacked from the package archive'
|
||||
complete $rpm_install -l prefix -d 'Replace path prefix for relocatable binary packages with NEWPATH' -xa "(__fish_complete_directories (commandline -ct) 'Directory prefix for relocatable packages')"
|
||||
complete $rpm_install -l relocate -x -d "Replace OLDPATH prefixes for relocatable packages with NEWPATH"
|
||||
complete $rpm_install -l repackage -d 'Re-package the files before erasing'
|
||||
complete $rpm_install -l replacefiles -d 'Install the packages even if they replace files from other, already installed, packages'
|
||||
complete $rpm_install -l replacepkgs -d 'Install the packages even if some of them are already installed on this system'
|
||||
complete $rpm_install -l test -d "Don't install the package, simply check for and report potential conflicts"
|
||||
complete $rpm_install -l replacefiles -d 'Install packages even if they replace files from other installed packages'
|
||||
complete $rpm_install -l replacepkgs -d 'Install packages even if they are already installed'
|
||||
complete $rpm_install -l test -d "Don't install, only check and report potential conflicts"
|
||||
|
||||
set -l rpm_query -c rpm -n "__fish_contains_opt -s q query"
|
||||
complete $rpm_query -l changelog -d 'Display change information for the package'
|
||||
complete $rpm_query -s c -l configfiles -d 'List only configuration files (implies -l)'
|
||||
complete $rpm_query -s d -l docfiles -d 'List only documentation files (implies -l)'
|
||||
complete $rpm_query -l dump -d 'Dump file information. Must be used with at least one of -l, -c, -d'
|
||||
complete $rpm_query -l dump -d 'Dump file information. Requires at least one of -l, -c, -d'
|
||||
complete $rpm_query -l filesbypkg -d 'List all the files in each selected package'
|
||||
complete $rpm_query -s i -l info -d 'Display package information, including name, version, and description. Uses --queryformat if specified'
|
||||
complete $rpm_query -s i -l info -d 'Display package details, uses --queryformat if specified'
|
||||
complete $rpm_query -l last -d 'Orders the package listing by install time'
|
||||
complete $rpm_query -s l -l list -d 'List files in package'
|
||||
complete $rpm_query -l provides -d 'List capabilities this package provides'
|
||||
complete $rpm_query -s R -l requires -d 'List packages on which this package depends'
|
||||
complete $rpm_query -l scripts -d 'List the package specific scriptlets'
|
||||
complete $rpm_query -s s -l state -d 'Display the states of files in the package. The state of each file is one of normal, not installed, or replaced'
|
||||
complete $rpm_query -s s -l state -d 'Display the states of files in the package'
|
||||
complete $rpm_query -l triggers -d 'Display the trigger scripts contained in the package'
|
||||
complete $rpm_query -l triggerscripts -d 'Display the trigger scripts contained in the package'
|
||||
|
||||
@@ -74,16 +74,16 @@ set -l rpm_select -c rpm -n "__fish_contains_opt -s q -s V query verify"
|
||||
complete $rpm_select -a "(__fish_print_rpm_packages)"
|
||||
complete $rpm_select -s a -l all -d 'Query all installed packages'
|
||||
complete $rpm_select -s f -l file -d 'Query package owning specified file' -rF
|
||||
complete $rpm_select -l fileid -d 'Query package that contains a given file identifier, i.e. the MD5 digest of the file contents' -x
|
||||
complete $rpm_select -l fileid -d 'Query package that contains a given file identifier' -x
|
||||
complete $rpm_select -s g -l group -d 'Query packages with the specified group' -x
|
||||
complete $rpm_select -l hdrid -d 'Query package that contains a given header identifier, i.e. the SHA1 digest of the immutable header region' -x
|
||||
complete $rpm_select -l hdrid -d 'Query package that contains a given header identifier' -x
|
||||
complete $rpm_select -s p -l package -d 'Query an (uninstalled) package in specified file' -k -xa "(__fish_complete_suffix .rpm)"
|
||||
complete $rpm_select -l pkgid -d 'Query package that contains a given package identifier, i.e. the MD5 digest of the combined header and payload contents' -x
|
||||
complete $rpm_select -l pkgid -d 'Query package that contains a given package identifier' -x
|
||||
complete $rpm_select -l specfile -d 'Parse and query specified spec-file as if it were a package' -k -xa "(__fish_complete_suffix .spec)"
|
||||
complete $rpm_select -l tid -d 'Query package(s) that have the specified TID (transaction identifier)' -x
|
||||
complete $rpm_select -l triggeredby -d 'Query packages that are triggered by the specified packages' -x -a "(__fish_print_rpm_packages)"
|
||||
complete $rpm_select -l whatprovides -d 'Query all packages that provide the specified capability' -x
|
||||
complete $rpm_select -l whatrequires -d 'Query all packages that requires the specified capability for functioning' -x
|
||||
complete $rpm_select -l whatrequires -d 'Query all packages that require the specified capability' -x
|
||||
|
||||
set -l rpm_verify -c rpm -n "__fish_contains_opt -s V verify"
|
||||
complete $rpm_verify -l nodeps -d "Don't verify dependencies of packages"
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
#
|
||||
# Load completions shared by ssh and scp.
|
||||
#
|
||||
# Load completions shared by various ssh tools like ssh, scp and sftp.
|
||||
__fish_complete_ssh scp
|
||||
|
||||
|
||||
# Helper functions to simplify the completions.
|
||||
function __scp2ssh_port_number
|
||||
# There is a silly inconsistency between the ssh and scp commands regarding the short flag name
|
||||
@@ -58,10 +57,11 @@ complete -c scp -d "Remote Path" -f -n "commandline -ct | string match -e ':'" -
|
||||
string escape -n
|
||||
)
|
||||
"
|
||||
complete -c scp -s 3 -d "Copies between two remote hosts are transferred through the local host"
|
||||
complete -c scp -s B -d "Batch mode"
|
||||
complete -c scp -s l -x -d "Bandwidth limit"
|
||||
complete -c scp -s P -x -d Port
|
||||
complete -c scp -s p -d "Preserves modification times, access times, and modes from the original file"
|
||||
complete -c scp -s q -d "Do not display progress bar"
|
||||
complete -c scp -s r -d "Recursively copy"
|
||||
complete -c scp -s S -d "Encryption program"
|
||||
complete -c scp -s T -d "Disable strict filename checking"
|
||||
|
||||
@@ -1,24 +1,18 @@
|
||||
# Load completions shared by various ssh tools like ssh, scp and sftp.
|
||||
__fish_complete_ssh sftp
|
||||
|
||||
complete -c sftp -x -a "(__fish_complete_user_at_hosts)"
|
||||
|
||||
complete -c sftp -s 4 -d 'Use IPv4 addresses only'
|
||||
complete -c sftp -s 6 -d 'Use IPv6 addresses only'
|
||||
complete -c sftp -s a -d 'Attempt to continue interrupted transfers'
|
||||
complete -c sftp -s B -x -d 'Size of the buffer when transferring files'
|
||||
complete -c sftp -s b -F -d 'Reads a series of commands from an input batchfile'
|
||||
complete -c sftp -s C -d 'Enables compression'
|
||||
complete -c sftp -s c -x -d 'The cipher to use for encrypting data'
|
||||
complete -c sftp -s D -x -d 'Connect directly to a local sftp server'
|
||||
complete -c sftp -s F -F -d 'Alternative per-user configuration file'
|
||||
complete -c sftp -s D -x -d 'Connect directly to a local SFTP server'
|
||||
complete -c sftp -s f -d 'Flush files to disk after transfer'
|
||||
complete -c sftp -s i -F -d 'Identity (private key) file'
|
||||
complete -c sftp -s J -x -a "(__fish_complete_user_at_hosts)" -d 'ProxyJump host'
|
||||
complete -c sftp -s l -x -d 'Limits the used bandwidth (Kbit/s)'
|
||||
complete -c sftp -s o -x -d 'Set additional ssh_config options'
|
||||
complete -c sftp -s N -d 'Disables quiet mode'
|
||||
complete -c sftp -s P -x -d 'Port to connect to on the remote host'
|
||||
complete -c sftp -s p -d 'Preserve timestamps from the original files transferred'
|
||||
complete -c sftp -s q -d 'Quiet mode'
|
||||
complete -c sftp -s R -x -d 'How many requests may be outstanding'
|
||||
complete -c sftp -s r -d 'Recursively copy entire directories'
|
||||
complete -c sftp -s S -r -d 'Program to use for the encrypted connection'
|
||||
complete -c sftp -s s -x -d 'The SSH2 subsystem or the path for an sftp server'
|
||||
complete -c sftp -s v -d 'Raise logging level'
|
||||
|
||||
@@ -1,53 +1,49 @@
|
||||
#
|
||||
# Load completions shared by ssh and scp.
|
||||
#
|
||||
# Load completions shared by various ssh tools like ssh, scp and sftp.
|
||||
__fish_complete_ssh ssh
|
||||
|
||||
#
|
||||
# ssh specific completions
|
||||
#
|
||||
complete -x -c ssh -d Remote -a "(__fish_complete_user_at_hosts)"
|
||||
|
||||
# Disable as username completion is not very useful.
|
||||
# complete -x -c ssh -d User -a "
|
||||
# (__fish_print_users | string match -r -v '^_')@
|
||||
# "
|
||||
|
||||
complete -c ssh -n 'test (__fish_number_of_cmd_args_wo_opts) -ge 2' -d "Command to run" -x -a '(__fish_complete_subcommand --fcs-skip=2)'
|
||||
|
||||
complete -c ssh -s a -d "Disables forwarding of the authentication agent"
|
||||
complete -c ssh -s A -d "Enables forwarding of the authentication agent"
|
||||
|
||||
complete -x -c ssh -s b -d "Local address to bind to" -a '(__fish_print_addresses)'
|
||||
|
||||
complete -x -c ssh -s e -d "Escape character" -a "\^ none"
|
||||
complete -c ssh -s f -d "Go to background"
|
||||
complete -c ssh -s g -d "Allow remote host to connect to local forwarded ports"
|
||||
complete -c ssh -s I -d "Smartcard device"
|
||||
complete -c ssh -s k -d "Disable forwarding of Kerberos tickets"
|
||||
complete -c ssh -s l -x -a "(__fish_complete_users)" -d User
|
||||
complete -c ssh -s m -d "MAC algorithm"
|
||||
complete -c ssh -s n -d "Prevent reading from stdin"
|
||||
complete -c ssh -s N -d "Do not execute remote command"
|
||||
complete -c ssh -s p -x -d Port
|
||||
complete -c ssh -s q -d "Quiet mode"
|
||||
complete -c ssh -s s -d Subsystem
|
||||
complete -c ssh -s t -d "Force pseudo-tty allocation"
|
||||
complete -c ssh -s T -d "Disable pseudo-tty allocation"
|
||||
complete -c ssh -s x -d "Disable X11 forwarding"
|
||||
complete -c ssh -s X -d "Enable X11 forwarding"
|
||||
complete -c ssh -s L -d "Locally forwarded ports"
|
||||
complete -c ssh -s R -d "Remotely forwarded ports"
|
||||
complete -c ssh -s D -d "Dynamic port forwarding"
|
||||
complete -c ssh -s c -d "Encryption cipher" -xa "(ssh -Q cipher)"
|
||||
|
||||
# Also retrieve `user@host` entries from history
|
||||
function __ssh_history_completions --argument-names limit
|
||||
if string match -q ""
|
||||
set limit 100
|
||||
end
|
||||
|
||||
history --prefix ssh --max=$limit | string replace -rf '.* ([A-Za-z0-9._:-]+@[A-Za-z0-9._:-]+).*' '$1'
|
||||
function __ssh_history_completions
|
||||
history --prefix ssh --max=100 | string replace -rf '.* ([A-Za-z0-9._:-]+@[A-Za-z0-9._:-]+).*' '$1'
|
||||
end
|
||||
|
||||
complete -k -c ssh -a '(__ssh_history_completions 100)' -f -d Remote
|
||||
complete -c ssh -d Remote -xa "(__fish_complete_user_at_hosts)"
|
||||
complete -c ssh -d Remote -k -fa '(__ssh_history_completions)'
|
||||
|
||||
complete -c ssh -n 'test (__fish_number_of_cmd_args_wo_opts) -ge 2' -d "Command to run" -xa '(__fish_complete_subcommand --fcs-skip=2)'
|
||||
|
||||
complete -c ssh -s a -d "Disables forwarding of the authentication agent"
|
||||
complete -c ssh -s B -d "Bind to the address of that interface" -xa '(__fish_print_interfaces)'
|
||||
complete -c ssh -s b -d "Local address to bind to" -xa '(__fish_print_addresses)'
|
||||
complete -c ssh -s E -d "Append debug logs to log_file" -rF
|
||||
complete -c ssh -s e -d "Escape character" -xa "\^ none"
|
||||
complete -c ssh -s f -d "Go to background"
|
||||
complete -c ssh -s G -d "Print configuration after evaluating Host"
|
||||
complete -c ssh -s g -d "Allow remote host to connect to local forwarded ports"
|
||||
complete -c ssh -s I -d "Specify the PKCS#11 library" -r
|
||||
complete -c ssh -s K -d "Enables GSSAPI-based authentication"
|
||||
complete -c ssh -s k -d "Disables forwarding of GSSAPI credentials"
|
||||
complete -c ssh -s L -d "Specify local port forwarding" -x
|
||||
complete -c ssh -s l -x -a "(__fish_complete_users)" -d User
|
||||
complete -c ssh -s M -d "Places the ssh client into master mode"
|
||||
complete -c ssh -s m -d "MAC algorithm" -xa "(__fish_complete_list , __fish_ssh_macs)"
|
||||
complete -c ssh -s N -d "Do not execute remote command"
|
||||
complete -c ssh -s n -d "Prevent reading from stdin"
|
||||
complete -c ssh -s O -d "Control an active connection multiplexing master process" -x
|
||||
complete -c ssh -s p -d Port -x
|
||||
complete -c ssh -s Q -d "List supported algorithms" -xa "(ssh -Q help)"
|
||||
complete -c ssh -s R -d "Specify remote/reverse port forwarding" -x
|
||||
complete -c ssh -s S -d "Location of a control socket for connection sharing" -r
|
||||
complete -c ssh -s s -d Subsystem
|
||||
complete -c ssh -s T -d "Disable pseudo-tty allocation"
|
||||
complete -c ssh -s t -d "Force pseudo-tty allocation"
|
||||
complete -c ssh -s V -d "Display version number"
|
||||
complete -c ssh -s W -d "Forward stdin/stdout to host:port over secure channel" -x
|
||||
complete -c ssh -s w -d "Requests tunnel device forwarding" -x
|
||||
complete -c ssh -s X -d "Enable X11 forwarding"
|
||||
complete -c ssh -s x -d "Disable X11 forwarding"
|
||||
complete -c ssh -s Y -d "Enables trusted X11 forwarding"
|
||||
complete -c ssh -s y -d "Send log information using syslog"
|
||||
|
||||
76
share/completions/sv.fish
Normal file
76
share/completions/sv.fish
Normal file
@@ -0,0 +1,76 @@
|
||||
# Completions for sv
|
||||
# A part of the runit init system
|
||||
# Author: Leonardo da Rosa Eugênio <lelgenio@disroot.org>
|
||||
|
||||
|
||||
set -l commands \
|
||||
status up down once s u d o pause cont hup \
|
||||
alarm interrupt quit 1 2 term kill exit p c h \
|
||||
a i q 1 2 t k e start stop reload restart \
|
||||
shutdown force-stop force-reload force-restart force-shutdown \
|
||||
try-restart check
|
||||
|
||||
|
||||
function __fish_complete_sv_list_services
|
||||
for dir in $SVDIR /run/runit/service/ /etc/runit/current /etc/runit/runsvdir/
|
||||
test -d $dir
|
||||
and break
|
||||
end
|
||||
set -l services (string match -r '[^/]*$' $dir/*)
|
||||
set -l out (sv status $services 2>/dev/null)
|
||||
and string replace -r "^(\w+: )(.*?):" '$2\t$1$2:' $out
|
||||
or printf "%s\n" $services
|
||||
end
|
||||
|
||||
complete -f -c sv -a "(__fish_complete_sv_list_services)" -n "__fish_seen_subcommand_from $commands"
|
||||
|
||||
|
||||
complete -fc sv -s v -d "Report status for up, down, term, once, cont, and exit"
|
||||
complete -fc sv -s w -d "Override the default timeout to report status"
|
||||
|
||||
|
||||
set -l no_comm "not __fish_seen_subcommand_from $commands"
|
||||
|
||||
complete -kfc sv -n $no_comm -a check -d "Check if the service is in it's requested state"
|
||||
complete -kfc sv -n $no_comm -a try-restart -d "Run term, cont, and up, report status"
|
||||
complete -kfc sv -n $no_comm -a force-shutdown -d "Run exit, report status or kill on timeout"
|
||||
complete -kfc sv -n $no_comm -a force-restart -d "Run term, cont and up, report status"
|
||||
complete -kfc sv -n $no_comm -a force-reload -d "Run term and cont, report status"
|
||||
complete -kfc sv -n $no_comm -a force-stop -d "Run down, report status or kill on timeout"
|
||||
complete -kfc sv -n $no_comm -a shutdown -d "Run exit, report status"
|
||||
complete -kfc sv -n $no_comm -a restart -d "Run term, cont, and up, report status using ./check"
|
||||
complete -kfc sv -n $no_comm -a reload -d "Run hup, report status"
|
||||
complete -kfc sv -n $no_comm -a stop -d "Run down, report status"
|
||||
complete -kfc sv -n $no_comm -a start -d "Run up, report status"
|
||||
|
||||
complete -kfc sv -n $no_comm -a e -d "Alias for exit"
|
||||
complete -kfc sv -n $no_comm -a k -d "Alias for kill"
|
||||
complete -kfc sv -n $no_comm -a t -d "Alias for term"
|
||||
complete -kfc sv -n $no_comm -a 2 -d "Alias for 2"
|
||||
complete -kfc sv -n $no_comm -a 1 -d "Alias for 1"
|
||||
complete -kfc sv -n $no_comm -a q -d "Alias for quit"
|
||||
complete -kfc sv -n $no_comm -a i -d "Alias for interrupt"
|
||||
complete -kfc sv -n $no_comm -a a -d "Alias for alarm"
|
||||
complete -kfc sv -n $no_comm -a h -d "Alias for hup"
|
||||
complete -kfc sv -n $no_comm -a c -d "Alias for cont"
|
||||
complete -kfc sv -n $no_comm -a p -d "Alias for pause"
|
||||
complete -kfc sv -n $no_comm -a exit -d "Send TERM, and CONT, report status"
|
||||
complete -kfc sv -n $no_comm -a kill -d "Send SIGKILL"
|
||||
complete -kfc sv -n $no_comm -a term -d "Send SIGTERM"
|
||||
complete -kfc sv -n $no_comm -a 2 -d "Send SIGUSR2"
|
||||
complete -kfc sv -n $no_comm -a 1 -d "Send SIGUSR1"
|
||||
complete -kfc sv -n $no_comm -a quit -d "Send SIGQUIT"
|
||||
complete -kfc sv -n $no_comm -a interrupt -d "Send SIGINT"
|
||||
complete -kfc sv -n $no_comm -a alarm -d "Send SIGALRM"
|
||||
complete -kfc sv -n $no_comm -a hup -d "Send SIGHUP"
|
||||
complete -kfc sv -n $no_comm -a cont -d "Send SIGCONT"
|
||||
complete -kfc sv -n $no_comm -a pause -d "Send SIGSTOP"
|
||||
|
||||
complete -kfc sv -n $no_comm -a o -d "Alias for once"
|
||||
complete -kfc sv -n $no_comm -a d -d "Alias for down"
|
||||
complete -kfc sv -n $no_comm -a u -d "Alias for up"
|
||||
complete -kfc sv -n $no_comm -a s -d "Alias for status"
|
||||
complete -kfc sv -n $no_comm -a once -d "Start service, but don't restart it"
|
||||
complete -kfc sv -n $no_comm -a down -d "Send it the TERM signal"
|
||||
complete -kfc sv -n $no_comm -a up -d "Start a service"
|
||||
complete -kfc sv -n $no_comm -a status -d "Report the current status of the service"
|
||||
@@ -12,7 +12,7 @@ if sysctl -h >/dev/null 2>/dev/null
|
||||
complete -c sysctl -s N -l names -d 'Only print names'
|
||||
complete -c sysctl -s q -l quiet -d 'Be quiet when setting values'
|
||||
complete -c sysctl -s w -l write -d 'Write value'
|
||||
complete -c sysctl -o 'p[FILE]' -l 'load[' -d 'Load in sysctl settings from the file specified or /etc/sysctl'
|
||||
complete -c sysctl -s p -l load -d 'Load in sysctl settings from the file specified or /etc/sysctl'
|
||||
complete -c sysctl -s a -l all -d 'Display all values currently available'
|
||||
complete -c sysctl -l deprecated -d 'Include deprecated parameters too'
|
||||
complete -c sysctl -s b -l binary -d 'Print value without new line'
|
||||
|
||||
@@ -66,7 +66,7 @@ complete -c tmux -n "__fish_seen_subcommand_from $detach" -s P -d 'SIGHUP parent
|
||||
|
||||
complete -c tmux -n __fish_use_subcommand -a $has -d 'report error and exit with 1 if the session does not exist'
|
||||
complete -c tmux -n __fish_use_subcommand -a $killserver -d 'kill tmux server, clients, and sessions'
|
||||
complete -c tmux -n __fish_use_subcommand -a $killsession -d 'destroy session, closing windows linked to it, and detach all clients'
|
||||
complete -c tmux -n __fish_use_subcommand -a $killsession -d 'destroy session, close its windows, and detach all its clients'
|
||||
complete -c tmux -n __fish_use_subcommand -a $lsc -d 'list all attached clients'
|
||||
complete -c tmux -n __fish_use_subcommand -a $lscm -d 'list syntax for all tmux commands'
|
||||
complete -c tmux -n __fish_use_subcommand -a $ls -d 'list all sessions'
|
||||
|
||||
@@ -21,30 +21,30 @@ complete -c vbc -o optimize- -d "Disable optimizations"
|
||||
# Output files
|
||||
complete -c vbc -o doc -o "doc:" -o "doc+" -d "Process documentation comments to an XML file"
|
||||
complete -c vbc -o doc- -d "Disable -doc"
|
||||
complete -c vbc -o deterministic -d "Causes the compiler to output an assembly whose binary content is identical across compilations if inputs are identical"
|
||||
complete -c vbc -o deterministic -d "Output identical assemblies for identical inputs"
|
||||
complete -c vbc -o netcf -d "Sets the compiler to target the .NET Compact Framework"
|
||||
complete -c vbc -o "out:" -d "Specifies an output file"
|
||||
complete -c vbc -o refonly -d "Outputs only a reference assembly"
|
||||
complete -c vbc -o "refout:" -d "Specifies the output path of a reference assembly"
|
||||
complete -c vbc -o "t:exe" -o "target:exe" -d "Causes the compiler to create an executable console application (default)"
|
||||
complete -c vbc -o "t:library" -o "target:library" -d "Causes the compiler to create a dynamic-link library (DLL)"
|
||||
complete -c vbc -o "t:module" -o "target:module" -d "Causes the compiler to generate a module that can be added to an assembly"
|
||||
complete -c vbc -o "t:winexe" -o "target:winexe" -d "Causes the compiler to create an executable Windows-based application"
|
||||
complete -c vbc -o "t:appcontainerexe" -o "target:appcontainerexe" -d "Causes the compiler to create an executable Windows-based application that must be run in an app container"
|
||||
complete -c vbc -o "t:winmdobj" -o "target:winmdobj" -d "Causes the compiler to create an intermediate file that you can convert to a Windows Runtime binary (.winmd) file"
|
||||
complete -c vbc -o "t:exe" -o "target:exe" -d "Create a console application"
|
||||
complete -c vbc -o "t:library" -o "target:library" -d "Create a dynamic-link library"
|
||||
complete -c vbc -o "t:module" -o "target:module" -d "Create a module that can be added to an assembly"
|
||||
complete -c vbc -o "t:winexe" -o "target:winexe" -d "Create Windows application"
|
||||
complete -c vbc -o "t:appcontainerexe" -o "target:appcontainerexe" -d "Create Windows application that must be run in an app container"
|
||||
complete -c vbc -o "t:winmdobj" -o "target:winmdobj" -d "Create an intermediate file that can be converted to .winmd file"
|
||||
|
||||
# .NET assemblies
|
||||
complete -c vbc -o "addmodule:" -d "Causes the compiler to make all type information from the specified file(s) available to the project you are currently compiling"
|
||||
complete -c vbc -o "addmodule:" -d "Add type information from provided files to the project"
|
||||
complete -c vbc -o delaysign -o "delaysign+" -d "Specifies whether the assembly will be fully or partially signed"
|
||||
complete -c vbc -o delaysign- -d "Disable -delaysign"
|
||||
complete -c vbc -o "imports:" -d "Imports a namespace from a specified assembly"
|
||||
complete -c vbc -o "keycontainer:" -d "Specifies a key container name for a key pair to give an assembly a strong name"
|
||||
complete -c vbc -o "keyfile:" -d "Specifies a file containing a key or key pair to give an assembly a strong name"
|
||||
complete -c vbc -o "keycontainer:" -d "Specify a strong name key container"
|
||||
complete -c vbc -o "keyfile:" -d "Specify a strong name key file"
|
||||
complete -c vbc -o "libpath:" -d "Specifies the location of assemblies referenced by the -reference option"
|
||||
complete -c vbc -o "r:" -o "reference:" -d "Imports metadata from an assembly"
|
||||
complete -c vbc -o "moduleassemblyname:" -d "Specifies the name of the assembly that a module will be a part of"
|
||||
complete -c vbc -o "a:" -o "analyzer:" -d "Run the analyzers from this assembly"
|
||||
complete -c vbc -o "additionalfile:" -d "Names additional files that don't directly affect code generation but may be used by analyzers for producing errors or warnings"
|
||||
complete -c vbc -o "additionalfile:" -d "Files that analyzers can use to generate error or warning"
|
||||
|
||||
# Debugging/error checking
|
||||
complete -c vbc -o "bugreport:" -d "Creates a file that contains information that makes it easy to report a bug"
|
||||
@@ -56,7 +56,7 @@ end
|
||||
complete -c vbc -o debug- -d "Disable -debug"
|
||||
|
||||
complete -c vbc -o nowarn -o "nowarn:" -d "Suppresses the compiler's ability to generate warnings"
|
||||
complete -c vbc -o quiet -d "Prevents the compiler from displaying code for syntax-related errors and warnings"
|
||||
complete -c vbc -o quiet -d "Don't display code for syntax-related errors and warnings"
|
||||
complete -c vbc -o removeintchecks -o "removeintchecks+" -d "Disables integer overflow checking"
|
||||
complete -c vbc -o removeintchecks- -d "Disable -removeintchecks"
|
||||
complete -c vbc -o warnaserror -o "warnaserror:" -o "warnaserror+" -o "warnaserror+:" -d "Promotes warnings to errors"
|
||||
@@ -89,7 +89,7 @@ complete -c vbc -o optionstrict -o "optionstrict+" -o "optionstrict:" -d "Enforc
|
||||
complete -c vbc -o optionstrict- -d "Disable -optionstrict"
|
||||
|
||||
for arguments in binary text
|
||||
complete -c vbc -o "optioncompare:$arguments" -d "Specifies whether string comparisons should be binary or use locale-specific text semantics"
|
||||
complete -c vbc -o "optioncompare:$arguments" -d "Specify string comparison mode: text or binary"
|
||||
end
|
||||
|
||||
complete -c vbc -o optioninfer -o "optioninfer+" -d "Enables the use of local type inference in variable declarations"
|
||||
@@ -106,35 +106,35 @@ complete -c vbc -o "win32resource:" -d "Inserts a Win32 resource into the output
|
||||
|
||||
# Miscellaneous
|
||||
complete -c vbc -o "baseaddress:" -d "Specifies the base address of a DLL"
|
||||
complete -c vbc -o "codepage:" -d "Specifies the code page to use for all source code files in the compilation"
|
||||
complete -c vbc -o "codepage:" -d "Specify the code page for source code files"
|
||||
|
||||
for arguments in prompt queue send none
|
||||
complete -c vbc -o "errorreport:$arguments" -d "Specifies how the Visual Basic compiler should report internal compiler errors"
|
||||
complete -c vbc -o "errorreport:$arguments" -d "Specify how to report internal compiler errors"
|
||||
end
|
||||
|
||||
complete -c vbc -o highentropyva -o "highentropyva+" -d "Tells the Windows kernel whether a particular executable supports high entropy Address Space Layout Randomization (ASLR)"
|
||||
complete -c vbc -o highentropyva -o "highentropyva+" -d "Specify if an executable supports high entropy ASLR"
|
||||
complete -c vbc -o highentropyva- -d "Disable -highentropyva"
|
||||
complete -c vbc -o "m:" -o "main:" -d "Specifies the class that contains the Sub Main procedure to use at startup"
|
||||
complete -c vbc -o noconfig -d "Do not compile with Vbc.rsp"
|
||||
complete -c vbc -o nostdlib -d "Causes the compiler not to reference the standard libraries"
|
||||
complete -c vbc -o nowin32manifest -d "Instructs the compiler not to embed any application manifest into the executable file"
|
||||
complete -c vbc -o "platform:x86" -d "Specify x86 as the processor platform the compiler targets for the output file"
|
||||
complete -c vbc -o "platform:x64" -d "Specify AMD64 or EM64T as the processor platform the compiler targets for the output file"
|
||||
complete -c vbc -o "platform:Itanium" -d "Specify Itanium as the processor platform the compiler targets for the output file"
|
||||
complete -c vbc -o "platform:arm" -d "Specify ARM as the processor platform the compiler targets for the output file"
|
||||
complete -c vbc -o "platform:anycpu" -d "Specify any platform as the processor platform the compiler targets for the output file (default)"
|
||||
complete -c vbc -o "platform:anycpu32bitpreferred" -d "Specify any platform as the processor platform the compiler targets for the output file"
|
||||
complete -c vbc -o nowin32manifest -d "Don't embed any application manifest into the executable"
|
||||
complete -c vbc -o "platform:x86" -d "Specify x86 as target platform"
|
||||
complete -c vbc -o "platform:x64" -d "Specify AMD64 or EM64T as target platform"
|
||||
complete -c vbc -o "platform:Itanium" -d "Specify Itanium as target platform"
|
||||
complete -c vbc -o "platform:arm" -d "Specify ARM as target platform"
|
||||
complete -c vbc -o "platform:anycpu" -d "Specify any platform as target"
|
||||
complete -c vbc -o "platform:anycpu32bitpreferred" -d "Specify any platform as target (32-bit process on 64-bit machine)"
|
||||
complete -c vbc -o "recurse:" -d "Searches subdirectories for source files to compile"
|
||||
complete -c vbc -o "rootnamespace:" -d "Specifies a namespace for all type declarations"
|
||||
complete -c vbc -o "sdkpath:" -d "Specifies the location of Mscorlib.dll and Microsoft.VisualBasic.dll"
|
||||
|
||||
complete -c vbc -o "vbruntime:" -d "Specifies that the compiler should compile without a reference to the Visual Basic Runtime Library, or with a reference to a specific runtime library"
|
||||
complete -c vbc -o "vbruntime:" -d "Specify reference to VB Runtime Library or disable library referencing"
|
||||
for arguments in - + "*"
|
||||
complete -c vbc -o "vbruntime:$arguments" -d "Specifies that the compiler should compile without a reference to the Visual Basic Runtime Library, or with a reference to a specific runtime library"
|
||||
complete -c vbc -o "vbruntime:$arguments" -d "Specify reference to VB Runtime Library or disable library referencing"
|
||||
end
|
||||
|
||||
complete -c vbc -o "win32manifest:" -d "Identifies a user-defined Win32 application manifest file to be embedded into a project's portable executable (PE) file"
|
||||
complete -c vbc -o "win32manifest:" -d "Provide application manifest file"
|
||||
complete -c vbc -o parallel -o "parallel+" -d "Specifies whether to use concurrent build"
|
||||
complete -c vbc -o parallel- -d "Disable -parallel"
|
||||
complete -c vbc -o "checksumalgorithm:SHA1" -d "Specify SHA1 as the algorithm for calculating the source file checksum stored in PDB (default)"
|
||||
complete -c vbc -o "checksumalgorithm:SHA256" -d "Specify SHA256 as the algorithm for calculating the source file checksum stored in PDB"
|
||||
complete -c vbc -o "checksumalgorithm:SHA1" -d "Use SHA1 to calculate the source file checksum"
|
||||
complete -c vbc -o "checksumalgorithm:SHA256" -d "Use SHA256 to calculate the source file checksum"
|
||||
|
||||
@@ -4,39 +4,49 @@ if not type -q apropos
|
||||
exit
|
||||
end
|
||||
|
||||
function __fish_apropos
|
||||
# macOS 10.15 "Catalina" has some major issues.
|
||||
# The whatis database is non-existent, so apropos tries (and fails) to create it every time,
|
||||
# which takes about half a second.
|
||||
#
|
||||
# Instead, we build a whatis database in the user cache directory
|
||||
# and override the MANPATH using that directory before we run `apropos`
|
||||
#
|
||||
# the cache is rebuilt once a day
|
||||
if test (uname) = Darwin
|
||||
set -l cache $HOME/.cache/fish/
|
||||
if test -n "$XDG_CACHE_HOME"
|
||||
set cache $XDG_CACHE_HOME/fish
|
||||
end
|
||||
# Check for macOS Catalina or above. This is Darwin 19.x or above. See unames reported here:
|
||||
# https://en.wikipedia.org/wiki/Darwin_(operating_system)
|
||||
set -l sysver (uname -sr | string match -r "(Darwin) (\d\d)"\.)
|
||||
|
||||
set -l db $cache/whatis
|
||||
set -l max_age 86400 # one day
|
||||
if test $status -eq 0 -a (count $sysver) -eq 3
|
||||
and test $sysver[2] = 'Darwin' -a $sysver[3] -ge 19
|
||||
|
||||
set -l dir
|
||||
if test -n "$XDG_CACHE_HOME"
|
||||
set dir $XDG_CACHE_HOME/fish
|
||||
else
|
||||
set dir (getconf DARWIN_USER_CACHE_DIR)"fish"
|
||||
end
|
||||
|
||||
function __fish_apropos -V dir
|
||||
# macOS 10.15 "Catalina" has a read only filesystem where the whatis database should be.
|
||||
# The whatis database is non-existent, so apropos tries (and fails) to create it every time,
|
||||
# which can take seconds.
|
||||
#
|
||||
# Instead, we build a whatis database in the user cache directory
|
||||
# and override the MANPATH using that directory before we run `apropos`
|
||||
#
|
||||
# the cache is rebuilt once a week.
|
||||
set -l whatis $dir/whatis
|
||||
set -l max_age 600000 # like a week
|
||||
set -l age $max_age
|
||||
|
||||
if test -f "$db"
|
||||
if test -f "$whatis"
|
||||
# Some people use GNU tools on macOS, and GNU stat works differently.
|
||||
# However it's currently guaranteed that the macOS stat is in /usr/bin,
|
||||
# so we use that explicitly.
|
||||
set age (math (date +%s) - (/usr/bin/stat -f %m $db))
|
||||
set age (math (date +%s) - (/usr/bin/stat -f %m $whatis))
|
||||
end
|
||||
|
||||
MANPATH="$cache" apropos -- $argv
|
||||
MANPATH="$dir" apropos "^$argv"
|
||||
|
||||
if test $age -ge $max_age
|
||||
mkdir -m 700 -p $cache
|
||||
/usr/libexec/makewhatis -o $db (man --path | string split :) >/dev/null 2>&1 </dev/null &
|
||||
test -d "$dir" || mkdir -m 700 -p $dir
|
||||
/usr/libexec/makewhatis -o "$whatis" (man --path | string split :) >/dev/null 2>&1 </dev/null &
|
||||
end
|
||||
else
|
||||
apropos -- $argv
|
||||
end
|
||||
else
|
||||
function __fish_apropos
|
||||
apropos $argv
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# TODO: This function is deprecated. It was used in fish_clipboard_paste
|
||||
# which some users copied, so maybe leave it around for a few years.
|
||||
function __fish_commandline_is_singlequoted --description "Return 0 if the current token has an open single-quote"
|
||||
string match -q 'single*' (__fish_tokenizer_state -- (commandline -ct))
|
||||
string match -q 'single*' (__fish_tokenizer_state -- (commandline -ct | string collect))
|
||||
end
|
||||
|
||||
@@ -1,58 +1,114 @@
|
||||
function __fish_complete_ssh -d "common completions for ssh commands" --argument-names command
|
||||
complete -c $command -s 1 -d "Protocol version 1 only"
|
||||
complete -c $command -s 2 -d "Protocol version 2 only"
|
||||
complete -c $command -s 4 -d "IPv4 addresses only"
|
||||
complete -c $command -s 6 -d "IPv6 addresses only"
|
||||
complete -c $command -s 4 -d "IPv4 only"
|
||||
complete -c $command -s 6 -d "IPv6 only"
|
||||
complete -c $command -s A -d "Enables forwarding of the authentication agent"
|
||||
complete -c $command -s C -d "Compress all data"
|
||||
complete -xc $command -s c -d "Encryption algorithm" -a "blowfish 3des des"
|
||||
complete -r -c $command -s F -d "Configuration file"
|
||||
complete -r -c $command -s i -d "Identity file"
|
||||
complete -x -c $command -s o -d Options -a "
|
||||
AddressFamily
|
||||
BatchMode
|
||||
BindAddress
|
||||
ChallengeResponseAuthentication
|
||||
CheckHostIP
|
||||
Cipher
|
||||
Ciphers
|
||||
Compression
|
||||
CompressionLevel
|
||||
ConnectionAttempts
|
||||
ConnectTimeout
|
||||
ControlMaster
|
||||
ControlPath
|
||||
GlobalKnownHostsFile
|
||||
GSSAPIAuthentication
|
||||
GSSAPIDelegateCredentials
|
||||
Host
|
||||
HostbasedAuthentication
|
||||
HostKeyAlgorithms
|
||||
HostKeyAlias
|
||||
HostName
|
||||
IdentityFile
|
||||
IdentitiesOnly
|
||||
LogLevel
|
||||
MACs
|
||||
NoHostAuthenticationForLocalhost
|
||||
NumberOfPasswordPrompts
|
||||
PasswordAuthentication
|
||||
Port
|
||||
PreferredAuthentications
|
||||
Protocol
|
||||
ProxyCommand
|
||||
PubkeyAuthentication
|
||||
RhostsRSAAuthentication
|
||||
RSAAuthentication
|
||||
SendEnv
|
||||
ServerAliveInterval
|
||||
ServerAliveCountMax
|
||||
SmartcardDevice
|
||||
StrictHostKeyChecking
|
||||
TCPKeepAlive
|
||||
UsePrivilegedPort
|
||||
User
|
||||
UserKnownHostsFile
|
||||
VerifyHostKeyDNS
|
||||
"
|
||||
complete -c $command -s c -d "Encryption algorithm" -xa "(__fish_complete_list , __fish_ssh_ciphers)"
|
||||
complete -c $command -s F -d "Configuration file" -rF
|
||||
complete -c $command -s i -d "Identity key file" -rF
|
||||
complete -c $command -s J -d 'ProxyJump host' -xa "(__fish_complete_user_at_hosts)"
|
||||
complete -c $command -s o -d Options -xa "
|
||||
AddKeysToAgent
|
||||
AddressFamily
|
||||
BatchMode
|
||||
BindAddress
|
||||
BindInterface
|
||||
CanonicalDomains
|
||||
CanonicalizeFallbackLocal
|
||||
CanonicalizeHostname
|
||||
CanonicalizeMaxDots
|
||||
CanonicalizePermittedCNAMEs
|
||||
CASignatureAlgorithms
|
||||
CertificateFile
|
||||
ChallengeResponseAuthentication
|
||||
CheckHostIP
|
||||
Ciphers
|
||||
ClearAllForwardings
|
||||
Compression
|
||||
ConnectionAttempts
|
||||
ConnectTimeout
|
||||
ControlMaster
|
||||
ControlPath
|
||||
ControlPersist
|
||||
DynamicForward
|
||||
EscapeChar
|
||||
ExitOnForwardFailure
|
||||
FingerprintHash
|
||||
ForwardAgent
|
||||
ForwardX11
|
||||
ForwardX11Timeout
|
||||
ForwardX11Trusted
|
||||
GatewayPorts
|
||||
GlobalKnownHostsFile
|
||||
GSSAPIAuthentication
|
||||
GSSAPIClientIdentity
|
||||
GSSAPIDelegateCredentials
|
||||
GSSAPIKexAlgorithms
|
||||
GSSAPIKeyExchange
|
||||
GSSAPIRenewalForcesRekey
|
||||
GSSAPIServerIdentity
|
||||
GSSAPITrustDns
|
||||
HashKnownHosts
|
||||
Host
|
||||
HostbasedAuthentication
|
||||
HostbasedKeyTypes
|
||||
HostKeyAlgorithms
|
||||
HostKeyAlias
|
||||
Hostname
|
||||
IdentitiesOnly
|
||||
IdentityAgent
|
||||
IdentityFile
|
||||
IPQoS
|
||||
KbdInteractiveAuthentication
|
||||
KbdInteractiveDevices
|
||||
KexAlgorithms
|
||||
LocalCommand
|
||||
LocalForward
|
||||
LogLevel
|
||||
MACs
|
||||
Match
|
||||
NoHostAuthenticationForLocalhost
|
||||
NumberOfPasswordPrompts
|
||||
PasswordAuthentication
|
||||
PermitLocalCommand
|
||||
PKCS11Provider
|
||||
Port
|
||||
PreferredAuthentications
|
||||
ProxyCommand
|
||||
ProxyJump
|
||||
ProxyUseFdpass
|
||||
PubkeyAcceptedKeyTypes
|
||||
PubkeyAuthentication
|
||||
RekeyLimit
|
||||
RemoteCommand
|
||||
RemoteForward
|
||||
RequestTTY
|
||||
SendEnv
|
||||
ServerAliveCountMax
|
||||
ServerAliveInterval
|
||||
SetEnv
|
||||
StreamLocalBindMask
|
||||
StreamLocalBindUnlink
|
||||
StrictHostKeyChecking
|
||||
TCPKeepAlive
|
||||
Tunnel
|
||||
TunnelDevice
|
||||
UpdateHostKeys
|
||||
User
|
||||
UserKnownHostsFile
|
||||
VerifyHostKeyDNS
|
||||
VisualHostKey
|
||||
XAuthLocation
|
||||
"
|
||||
complete -c $command -s q -d "Quiet mode"
|
||||
complete -c $command -s v -d "Verbose mode"
|
||||
end
|
||||
|
||||
|
||||
function __fish_ssh_ciphers -d "List of possible SSH cipher algorithms"
|
||||
ssh -Q cipher
|
||||
end
|
||||
|
||||
function __fish_ssh_macs -d "List of possible SSH MAC algorithms"
|
||||
ssh -Q mac
|
||||
end
|
||||
|
||||
@@ -62,7 +62,7 @@ function __fish_config_interactive -d "Initializations that should be performed
|
||||
__init_uvar fish_color_cancel -r
|
||||
|
||||
# Pager colors
|
||||
__init_uvar fish_pager_color_prefix white --bold --underline
|
||||
__init_uvar fish_pager_color_prefix normal --bold --underline
|
||||
__init_uvar fish_pager_color_completion
|
||||
__init_uvar fish_pager_color_description B3A06D yellow
|
||||
__init_uvar fish_pager_color_progress brwhite --background=cyan
|
||||
@@ -235,6 +235,8 @@ function __fish_config_interactive -d "Initializations that should be performed
|
||||
if set -q VTE_VERSION
|
||||
# Same for alacritty
|
||||
or string match -q -- 'alacritty*' $TERM
|
||||
# Same for kitty
|
||||
or string match -q -- '*kitty' $TERM
|
||||
set -g fish_handle_reflow 0
|
||||
else if set -q KONSOLE_VERSION
|
||||
and test "$KONSOLE_VERSION" -ge 210400 2>/dev/null
|
||||
@@ -266,6 +268,16 @@ function __fish_config_interactive -d "Initializations that should be performed
|
||||
__update_cwd_osc # Run once because we might have already inherited a PWD from an old tab
|
||||
end
|
||||
|
||||
# Create empty configuration directores if they do not already exist
|
||||
test -e $__fish_config_dir/completions/ -a -e $__fish_config_dir/conf.d/ -a -e $__fish_config_dir/functions/ ||
|
||||
mkdir -p $__fish_config_dir/{completions, conf.d, functions}
|
||||
|
||||
# Create config.fish with some boilerplate if it does not exist
|
||||
test -e $__fish_config_dir/config.fish || echo "\
|
||||
if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
end" >$__fish_config_dir/config.fish
|
||||
|
||||
# Bump this whenever some code below needs to run once when upgrading to a new version.
|
||||
# The universal variable __fish_initialized is initialized in share/config.fish.
|
||||
set __fish_initialized 3100
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# determine if this is the very first argument (regardless if switch or not)
|
||||
function __fish_is_first_arg
|
||||
set -l tokens (commandline -co)
|
||||
set -l tokens (commandline -poc)
|
||||
test (count $tokens) -eq 1
|
||||
end
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# of the directory under the cursor.
|
||||
|
||||
function __fish_list_current_token -d "List contents of token under the cursor if it is a directory, otherwise list the contents of the current directory"
|
||||
set -l val (eval echo (commandline -t))
|
||||
set -l val (commandline -t)
|
||||
printf "\n"
|
||||
if test -d $val
|
||||
ls $val
|
||||
|
||||
@@ -6,7 +6,9 @@ function __fish_make_completion_signals --description 'Make list of kill signals
|
||||
|
||||
# Cygwin's kill is special, and the documentation lies.
|
||||
# Just hardcode the signals.
|
||||
if uname | string match -q 'CYGWIN*'
|
||||
set -l os (uname)
|
||||
if string match -q 'CYGWIN*' -- $os
|
||||
or string match -iq 'Msys' -- $os
|
||||
set -a __kill_signals "1 HUP" "2 INT" "3 QUIT" "4 ILL" "5 TRAP" "6 ABRT" \
|
||||
"6 IOT" "7 BUS" "8 FPE" "9 KILL" "10 USR1" "11 SEGV" \
|
||||
"12 USR2" "13 PIPE" "14 ALRM" "15 TERM" "16 STKFLT" "17 CHLD" \
|
||||
|
||||
@@ -18,12 +18,24 @@ function __fish_man_page
|
||||
# Try "man first-second" and fall back to "man first" if that doesn't work out.
|
||||
set -l maincmd (basename $args[1])
|
||||
if set -q args[2]
|
||||
man "$maincmd-$args[2]" 2>/dev/null
|
||||
or man "$maincmd" 2>/dev/null
|
||||
or printf \a
|
||||
# HACK: If stderr is not attached to a terminal `less` (the default pager)
|
||||
# wouldn't use the alternate screen.
|
||||
# But since we don't know what pager it is, and because `man` is totally underspecified,
|
||||
# the best we can do is to *try* the man page, and assume that `man` will return false if it fails.
|
||||
# See #7863.
|
||||
if man "$maincmd-$args[2]" &>/dev/null
|
||||
man "$maincmd-$args[2]"
|
||||
else if man "$maincmd" &>/dev/null
|
||||
man "$maincmd"
|
||||
else
|
||||
printf \a
|
||||
end
|
||||
else
|
||||
man "$maincmd" 2>/dev/null
|
||||
or printf \a
|
||||
if man "$maincmd" &>/dev/null
|
||||
man "$maincmd"
|
||||
else
|
||||
printf \a
|
||||
end
|
||||
end
|
||||
|
||||
commandline -f repaint
|
||||
|
||||
@@ -1,16 +1,8 @@
|
||||
function __fish_paginate -d "Paginate the current command using the users default pager"
|
||||
|
||||
set -l cmd less
|
||||
if set -q PAGER
|
||||
echo $PAGER | read -at cmd
|
||||
end
|
||||
|
||||
if test -z (commandline -j | string join '')
|
||||
commandline -i $history[1]
|
||||
end
|
||||
|
||||
if commandline -j | not string match -q -r "$cmd *\$"
|
||||
commandline -aj " &| $cmd;"
|
||||
end
|
||||
|
||||
fish_commandline_append " &| $cmd"
|
||||
end
|
||||
|
||||
@@ -1,14 +1,3 @@
|
||||
function __fish_prepend_sudo -d "Prepend 'sudo ' to the beginning of the current commandline"
|
||||
set -l cmd (commandline -po)
|
||||
set -l cursor (commandline -C)
|
||||
if test -z "$cmd"
|
||||
commandline -r "sudo $history[1]"
|
||||
else if test "$cmd[1]" != sudo
|
||||
commandline -C 0
|
||||
commandline -i "sudo "
|
||||
commandline -C (math $cursor + 5)
|
||||
else
|
||||
commandline -r (string sub --start=6 (commandline -p))
|
||||
commandline -C -- (math $cursor - 5)
|
||||
end
|
||||
function __fish_prepend_sudo -d " DEPRECATED: use fish_commandline_prepend instead. Prepend 'sudo ' to the beginning of the current commandline"
|
||||
fish_commandline_prepend sudo
|
||||
end
|
||||
|
||||
@@ -111,7 +111,7 @@ function __fish_print_help --description "Print help message for the specified f
|
||||
end
|
||||
end
|
||||
end
|
||||
end | string replace -ra '^ ' '' | ul | # post-process with `ul`, to interpret the old-style grotty escapes
|
||||
end | string replace -ra '^ ' '' |
|
||||
begin
|
||||
set -l pager less
|
||||
set -q PAGER
|
||||
@@ -119,13 +119,13 @@ function __fish_print_help --description "Print help message for the specified f
|
||||
not isatty stdout
|
||||
and set pager cat # cannot use a builtin here
|
||||
# similar to man, but add -F to quit paging when the help output is brief (#6227)
|
||||
set -xl LESS isrFX
|
||||
not set -qx LESS
|
||||
and set -xl LESS isRF
|
||||
# less options:
|
||||
# -i (--ignore-case) search case-insensitively, like man
|
||||
# -s (--squeeze-blank-lines) not strictly necessary since we already do that above
|
||||
# -r (--raw-control-chars) to display bold, underline and colors
|
||||
# -R (--RAW-CONTROL-CHARS) to display colors and such
|
||||
# -F (--quit-if-one-screen) to maintain the non-paging behavior for small outputs
|
||||
# -X (--no-init) not sure if this is needed but git uses it
|
||||
$pager
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
switch (uname)
|
||||
case 'CYGWIN_*'
|
||||
function __fish_pwd --description "Show current path"
|
||||
if status test-feature regex-easyesc
|
||||
pwd | string replace -r '^/cygdrive/(.)?' '\U$1:'
|
||||
else
|
||||
# TODO: Remove this once regex-easyesc becomes the default
|
||||
pwd | string replace -r '^/cygdrive/(.)?' '\\\U$1:'
|
||||
end
|
||||
end
|
||||
case '*'
|
||||
function __fish_pwd --description "Show current path"
|
||||
pwd
|
||||
end
|
||||
function __fish_pwd --description "Show current path"
|
||||
if status test-feature regex-easyesc
|
||||
string replace -r '^/cygdrive/(.)?' '\U$1:' -- $PWD
|
||||
else
|
||||
# TODO: Remove this once regex-easyesc becomes the default
|
||||
string replace -r '^/cygdrive/(.)?' '\\\U$1:' -- $PWD
|
||||
end
|
||||
end
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
function __fish_set_locale
|
||||
set -l LOCALE_VARS
|
||||
set -a LOCALE_VARS LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE
|
||||
set -a LOCALE_VARS LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE
|
||||
set -a LOCALE_VARS LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS
|
||||
set -a LOCALE_VARS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
|
||||
|
||||
|
||||
@@ -98,8 +98,7 @@ function __fish_shared_key_bindings -d "Bindings shared between emacs and vi mod
|
||||
bind --preset $argv \ed 'set -l cmd (commandline); if test -z "$cmd"; echo; dirh; commandline -f repaint; else; commandline -f kill-word; end'
|
||||
bind --preset $argv \cd delete-or-exit
|
||||
|
||||
# Prepend 'sudo ' to the current commandline
|
||||
bind --preset $argv \es __fish_prepend_sudo
|
||||
bind --preset $argv \es "fish_commandline_prepend sudo"
|
||||
|
||||
# Allow reading manpages by pressing F1 (many GUI applications) or Alt+h (like in zsh).
|
||||
bind --preset $argv -k f1 __fish_man_page
|
||||
@@ -182,7 +181,7 @@ function __fish_start_bracketed_paste
|
||||
set -g __fish_last_bind_mode $fish_bind_mode
|
||||
# If the token is currently single-quoted,
|
||||
# we escape single-quotes (and backslashes).
|
||||
__fish_commandline_is_singlequoted
|
||||
string match -q 'single*' (__fish_tokenizer_state -- (commandline -ct | string collect))
|
||||
and set -g __fish_paste_quoted 1
|
||||
end
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
function __fish_toggle_comment_commandline --description 'Comment/uncomment the current command'
|
||||
set -l cmdlines (commandline -b)
|
||||
if test "$cmdlines" = ""
|
||||
history search -p "#" -z | read -z cmdlines
|
||||
set cmdlines (history search -p "#" --max=1)
|
||||
end
|
||||
set -l cmdlines (printf '%s\n' '#'$cmdlines | string replace -r '^##' '')
|
||||
commandline -r $cmdlines
|
||||
|
||||
@@ -35,10 +35,10 @@ function alias --description 'Creates a function wrapping a command'
|
||||
|
||||
# sanity check
|
||||
if test -z "$name"
|
||||
printf ( _ "%s: Name cannot be empty\n") alias
|
||||
printf ( _ "%s: Name cannot be empty\n") alias >&2
|
||||
return 1
|
||||
else if test -z "$body"
|
||||
printf ( _ "%s: Body cannot be empty\n") alias
|
||||
printf ( _ "%s: Body cannot be empty\n") alias >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
|
||||
@@ -16,5 +16,4 @@ function dirs --description 'Print directory stack'
|
||||
|
||||
# Replace $HOME with ~.
|
||||
string replace -r '^'"$HOME"'($|/)' '~$1' -- $PWD $dirstack | string join " "
|
||||
echo
|
||||
end
|
||||
|
||||
@@ -29,7 +29,10 @@ function fish_add_path --description "Add paths to the PATH"
|
||||
end
|
||||
|
||||
set -l var fish_user_paths
|
||||
set -q _flag_path; and set var PATH
|
||||
set -q _flag_path
|
||||
and set var PATH
|
||||
# $PATH should be global
|
||||
and set scope -g
|
||||
set -l mode $_flag_prepend $_flag_append
|
||||
set -q mode[1]; or set mode -p
|
||||
|
||||
|
||||
@@ -11,6 +11,10 @@ if test -r /etc/os-release
|
||||
string replace -r '^ID(?:_LIKE)?\s*=(.*)' '$1' | string trim -c '\'"' | string split " ")
|
||||
end
|
||||
|
||||
function __fish_default_command_not_found_handler
|
||||
printf "fish: Unknown command: %s\n" (string escape -- $argv[1]) >&2
|
||||
end
|
||||
|
||||
# If an old handler already exists, defer to that.
|
||||
if functions -q __fish_command_not_found_handler
|
||||
function fish_command_not_found
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user