mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-10 09:41:16 -03:00
Compare commits
69 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
acde38fed3 | ||
|
|
3dd8db281b | ||
|
|
a29d760ca0 | ||
|
|
ba0bfb9df7 | ||
|
|
4a1a59c5a8 | ||
|
|
d32449fe2e | ||
|
|
ef3516ecdf | ||
|
|
5aaa1e69bc | ||
|
|
dcc8147147 | ||
|
|
176097cc49 | ||
|
|
43b1be0579 | ||
|
|
9c8b50cb8f | ||
|
|
811dbf0f9a | ||
|
|
cbc66fe6ea | ||
|
|
d9a9fb50d0 | ||
|
|
902782b1f4 | ||
|
|
38b21fc1c7 | ||
|
|
a67b089c89 | ||
|
|
4a8ebc0744 | ||
|
|
200095998a | ||
|
|
ce268b74dd | ||
|
|
a607421912 | ||
|
|
904839dcce | ||
|
|
c3a72111e9 | ||
|
|
b7de768c73 | ||
|
|
b1b2294390 | ||
|
|
7ac2fe2bd3 | ||
|
|
24fb7ff67c | ||
|
|
4adb34d349 | ||
|
|
85504ca694 | ||
|
|
7d7b72f995 | ||
|
|
7b8684e469 | ||
|
|
cac483c67a | ||
|
|
6fe4b0c24d | ||
|
|
c587b2ffcc | ||
|
|
ef07e21d40 | ||
|
|
8ff78eddf0 | ||
|
|
e90f003d2d | ||
|
|
f6b390dc61 | ||
|
|
96deaae7d8 | ||
|
|
6f3711902b | ||
|
|
3604e8854b | ||
|
|
d69a290c2f | ||
|
|
43a7c20ddb | ||
|
|
538518cdf3 | ||
|
|
608f2bab31 | ||
|
|
440dcb48c5 | ||
|
|
fb3056d7a1 | ||
|
|
0af2a7a9b7 | ||
|
|
31f63b2f87 | ||
|
|
cf67709931 | ||
|
|
d239e26f6b | ||
|
|
177ce0d40e | ||
|
|
dd7d432cd6 | ||
|
|
2a24295e50 | ||
|
|
243ade838b | ||
|
|
7f2cb47437 | ||
|
|
befa240756 | ||
|
|
f033b4df7d | ||
|
|
7c1c3f9f77 | ||
|
|
72e9d02650 | ||
|
|
04cae2c559 | ||
|
|
29a3344226 | ||
|
|
21f1eebd01 | ||
|
|
3548aae552 | ||
|
|
bd871c5372 | ||
|
|
d055726ed7 | ||
|
|
610d19cec1 | ||
|
|
00692bcdfe |
33
.cirrus.yml
33
.cirrus.yml
@@ -8,6 +8,22 @@ linux_task:
|
||||
container: &step
|
||||
image: ghcr.io/fish-shell/fish-ci/alpine:latest
|
||||
memory: 4GB
|
||||
- name: bionic
|
||||
container:
|
||||
<<: *step
|
||||
image: ghcr.io/fish-shell/fish-ci/bionic:latest
|
||||
- name: bionic-asan-clang
|
||||
container:
|
||||
<<: *step
|
||||
image: ghcr.io/fish-shell/fish-ci/bionic-asan-clang:latest
|
||||
- name: bionic-tsan
|
||||
container:
|
||||
<<: *step
|
||||
image: ghcr.io/fish-shell/fish-ci/bionic-tsan:latest
|
||||
- name: bionic-tsan-clang
|
||||
container:
|
||||
<<: *step
|
||||
image: ghcr.io/fish-shell/fish-ci/bionic-tsan-clang:latest
|
||||
- name: centos7
|
||||
container:
|
||||
<<: *step
|
||||
@@ -20,6 +36,10 @@ linux_task:
|
||||
container:
|
||||
<<: *step
|
||||
image: ghcr.io/fish-shell/fish-ci/focal-32bit:latest
|
||||
- name: xenial
|
||||
container:
|
||||
<<: *step
|
||||
image: ghcr.io/fish-shell/fish-ci/xenial:latest
|
||||
|
||||
tests_script:
|
||||
# cirrus at times gives us 32 procs and 2 GB of RAM
|
||||
@@ -39,6 +59,9 @@ linux_arm_task:
|
||||
arm_container:
|
||||
image: ghcr.io/fish-shell/fish-ci/focal-arm64
|
||||
only_if: $CIRRUS_REPO_OWNER == 'fish-shell'
|
||||
- name: jammy-armv7-32bit
|
||||
arm_container:
|
||||
image: ghcr.io/fish-shell/fish-ci/jammy-armv7-32bit
|
||||
|
||||
tests_script:
|
||||
# cirrus at times gives us 32 procs and 2 GB of RAM
|
||||
@@ -55,11 +78,17 @@ linux_arm_task:
|
||||
|
||||
freebsd_task:
|
||||
matrix:
|
||||
- name: FreeBSD 14
|
||||
freebsd_instance:
|
||||
image_family: freebsd-14-0-snap
|
||||
- name: FreeBSD 13
|
||||
freebsd_instance:
|
||||
image: freebsd-13-2-release-amd64
|
||||
image: freebsd-13-1-release-amd64
|
||||
- name: FreeBSD 12.3
|
||||
freebsd_instance:
|
||||
image: freebsd-12-3-release-amd64
|
||||
tests_script:
|
||||
- pkg install -y cmake devel/pcre2 devel/ninja misc/py-pexpect git
|
||||
- pkg install -y cmake-core devel/pcre2 devel/ninja misc/py-pexpect git-lite
|
||||
# BSDs have the following behavior: root may open or access files even if
|
||||
# the mode bits would otherwise disallow it. For example root may open()
|
||||
# a file with write privileges even if the file has mode 400. This breaks
|
||||
|
||||
8
.github/workflows/lockthreads.yml
vendored
8
.github/workflows/lockthreads.yml
vendored
@@ -17,9 +17,9 @@ jobs:
|
||||
pull-requests: write # for dessant/lock-threads to lock PRs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v2
|
||||
- uses: dessant/lock-threads@v4
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
issue-lock-inactive-days: '365'
|
||||
pr-lock-inactive-days: '365'
|
||||
issue-exclude-labels: 'question, needs more info'
|
||||
issue-inactive-days: '365'
|
||||
pr-inactive-days: '365'
|
||||
exclude-any-issue-labels: 'question, needs more info'
|
||||
|
||||
10
.github/workflows/main.yml
vendored
10
.github/workflows/main.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo apt update
|
||||
@@ -66,7 +66,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux
|
||||
@@ -100,7 +100,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux
|
||||
@@ -126,7 +126,7 @@ jobs:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo pip3 install pexpect
|
||||
|
||||
241
CHANGELOG.rst
241
CHANGELOG.rst
@@ -1,182 +1,7 @@
|
||||
fish 3.7.1 (released March 19, 2024)
|
||||
====================================
|
||||
fish 3.7.0 (released ???)
|
||||
===================================
|
||||
|
||||
This release of fish fixes the following problems identified in fish 3.7.0:
|
||||
|
||||
- Deleting the last history entry via ``history delete`` works again (:issue:`10190`).
|
||||
- Wildcards (``*``) will no longer sometimes generate paths that did not exist (:issue:`10205`).
|
||||
|
||||
This release also contains some improvements:
|
||||
|
||||
- A crash when trying to run an ELF program with a missing interpreter has been fixed. This crashed in the process after fork, so did not affect the fish process that tried to start the program (:issue:`10199`).
|
||||
- ``funced`` will now always ``source`` the file after it has written it, even if the contents did not change. This prevents issues if the file was otherwise modified (:issue:`10318`).
|
||||
- The warning for when a builtin returns a negative exit code was improved, now mentioning the original status (:issue:`10187`).
|
||||
- Added completions for
|
||||
|
||||
- ``cobra-cli`` (:issue:`10293`)
|
||||
- ``dmidecode`` (:issue:`10368`)
|
||||
- ``mycli`` (:issue:`10309`)
|
||||
- ``ollama`` (:issue:`10327`)
|
||||
- ``pstree`` (:issue:`10317`)
|
||||
|
||||
- Some improvements to documentation and completions.
|
||||
|
||||
--------------
|
||||
|
||||
fish 3.7.0 (released January 1, 2024)
|
||||
=====================================
|
||||
|
||||
This release of fish includes a number of improvements over fish 3.6.4, detailed below. Although work continues on the porting of fish internals to the Rust programming language, that work is not included in this release. fish 3.7.0 and any future releases in the 3.7 series remain C++ programs.
|
||||
|
||||
Notable improvements and fixes
|
||||
------------------------------
|
||||
- Improvements to the history pager, including:
|
||||
|
||||
- The history pager will now also attempt subsequence matches (:issue:`9476`), so you can find a command line like ``git log 3.6.1..Integration_3.7.0`` by searching for ``gitInt``.
|
||||
- Opening the history pager will now fill the search field with a search string if you're already in a search (:issue:`10005`). This makes it nicer to search something with :kbd:`↑` and then later decide to switch to the full pager.
|
||||
- Closing the history pager with enter will now copy the search text to the commandline if there was no match, so you can continue editing the command you tried to find right away (:issue:`9934`).
|
||||
|
||||
- Performance improvements for command completions and globbing, where supported by the operating system, especially on slow filesystems such as NFS (:issue:`9891`, :issue:`9931`, :issue:`10032`, :issue:`10052`).
|
||||
- fish can now be configured to wait a specified amount of time for a multi-key sequence to be completed, instead of waiting indefinitely. For example, this makes binding ``kj`` to switching modes in vi mode possible.
|
||||
The timeout can be set via the new :envvar:`fish_sequence_key_delay_ms` variable (:issue:`7401`), and may be set by default in future versions.
|
||||
|
||||
Deprecations and removed features
|
||||
---------------------------------
|
||||
- ``LS_COLORS`` is no longer set automatically by the ``ls`` function (:issue:`10080`). Users
|
||||
that set ``.dircolors`` should manually import it using other means. Typically this would be ``set -gx LS_COLORS (dircolors -c .dircolors | string split ' ')[3]``
|
||||
|
||||
Scripting improvements
|
||||
----------------------
|
||||
- Running ``exit`` with a negative number no longer crashes fish (:issue:`9659`).
|
||||
- ``fish --command`` will now return a non-zero status if parsing failed (:issue:`9888`).
|
||||
- The ``jobs`` builtin will now escape the commands it prints (:issue:`9808`).
|
||||
- ``string repeat`` no longer overflows if the count is a multiple of the chunk size (:issue:`9900`).
|
||||
- The ``builtin`` builtin will now properly error out with invalid arguments instead of doing nothing and returning true (:issue:`9942`).
|
||||
- ``command time`` in a pipeline is allowed again, as is ``command and`` and ``command or`` (:issue:`9985`).
|
||||
- ``exec`` will now also apply variable overrides, so ``FOO=bar exec`` will now set ``$FOO`` correctly (:issue:`9995`).
|
||||
- ``umask`` will now handle empty symbolic modes correctly, like ``umask u=,g=rwx,o=`` (:issue:`10177`).
|
||||
- Improved error messages for errors occurring in command substitutions (:issue:`10054`).
|
||||
|
||||
Interactive improvements
|
||||
------------------------
|
||||
- ``read`` no longer enables bracketed paste so it doesn't stay enabled in combined commandlines like ``mysql -p(read --silent)`` (:issue:`8285`).
|
||||
- Vi mode now uses :envvar:`fish_cursor_external` to set the cursor shape for external commands (:issue:`4656`).
|
||||
- Opening the history search in vi mode switches to insert mode correctly (:issue:`10141`).
|
||||
- Vi mode cursor shaping is now enabled in iTerm2 (:issue:`9698`).
|
||||
- Working directory reporting is enabled for iTerm2 (:issue:`9955`).
|
||||
- Completing commands as root includes commands not owned by root, fixing a regression introduced in fish 3.2.0 (:issue:`9699`).
|
||||
- Selection uses ``fish_color_selection`` for the foreground and background colors, as intended, rather than just the background (:issue:`9717`).
|
||||
- The completion pager will no longer sometimes skip the last entry when moving through a long list (:issue:`9833`).
|
||||
- The interactive ``history delete`` interface now allows specifying index ranges like "1..5" (:issue:`9736`), and ``history delete --exact`` now properly saves the history (:issue:`10066`).
|
||||
- Command completion will now call the stock ``manpath`` on macOS, instead of a potential Homebrew version. This prevents awkward error messages (:issue:`9817`).
|
||||
- A new bind function ``history-pager-delete``, bound to :kbd:`Shift` + :kbd:`Delete` by default, will delete the currently-selected history pager item from history (:issue:`9454`).
|
||||
- ``fish_key_reader`` will now use printable characters as-is, so pressing "ö" no longer leads to it telling you to bind ``\u00F6`` (:issue:`9986`).
|
||||
- ``open`` can be used to launch terminal programs again, as an ``xdg-open`` bug has been fixed and a workaround has been removed (:issue:`10045`).
|
||||
- The ``repaint-mode`` binding will now only move the cursor if there is repainting to be done. This fixes :kbd:`Alt` combination bindings in vi mode (:issue:`7910`).
|
||||
- A new ``clear-screen`` bind function is used for :kbd:`Ctrl` + :kbd:`l` by default. This clears the screen and repaints the existing prompt at first,
|
||||
so it eliminates visible flicker unless the terminal is very slow (:issue:`10044`).
|
||||
- The ``alias`` convenience function has better support for commands with unusual characters, like ``+`` (:issue:`8720`).
|
||||
- A longstanding issue where items in the pager would sometimes display without proper formatting has been fixed (:issue:`9617`).
|
||||
- The :kbd:`Alt` + :kbd:`l` binding, which lists the directory of the token under the cursor, correctly expands tilde (``~``) to the home directory (:issue:`9954`).
|
||||
- Various fish utilities that use an external pager will now try a selection of common pagers if the :envvar:`PAGER` environment variable is not set, or write the output to the screen without a pager if there is not one available (:issue:`10074`).
|
||||
- Command-specific tab completions may now offer results whose first character is a period. For example, it is now possible to tab-complete ``git add`` for files with leading periods. The default file completions hide these files, unless the token itself has a leading period (:issue:`3707`).
|
||||
|
||||
Improved prompts
|
||||
^^^^^^^^^^^^^^^^
|
||||
- The default theme now only uses named colors, so it will track the terminal's palette (:issue:`9913`).
|
||||
- The Dracula theme has now been synced with upstream (:issue:`9807`); use ``fish_config`` to re-apply it to pick up the changes.
|
||||
- ``fish_vcs_prompt`` now also supports fossil (:issue:`9497`).
|
||||
- Prompts which display the working directory using the ``prompt_pwd`` function correctly display directories beginning with dashes (:issue:`10169`).
|
||||
|
||||
Completions
|
||||
^^^^^^^^^^^
|
||||
- Added completions for:
|
||||
|
||||
- ``age`` and ``age-keygen`` (:issue:`9813`)
|
||||
- ``airmon-ng`` (:issue:`10116`)
|
||||
- ``ar`` (:issue:`9720`)
|
||||
- ``blender`` (:issue:`9905`)
|
||||
- ``bws`` (:issue:`10165`)
|
||||
- ``calendar`` (:issue:`10138`)
|
||||
- ``checkinstall`` (:issue:`10106`)
|
||||
- ``crc`` (:issue:`10034`)
|
||||
- ``doctl``
|
||||
- ``gimp`` (:issue:`9904`)
|
||||
- ``gojq`` (:issue:`9740`)
|
||||
- ``horcrux`` (:issue:`9922`)
|
||||
- ``ibmcloud`` (:issue:`10004`)
|
||||
- ``iwctl`` (:issue:`6884`)
|
||||
- ``java_home`` (:issue:`9998`)
|
||||
- ``krita`` (:issue:`9903`)
|
||||
- ``oc`` (:issue:`10034`)
|
||||
- ``qjs`` (:issue:`9723`)
|
||||
- ``qjsc`` (:issue:`9731`)
|
||||
- ``rename`` (:issue:`10136`)
|
||||
- ``rpm-ostool`` (:issue:`9669`)
|
||||
- ``smerge`` (:issue:`10135`)
|
||||
- ``userdel`` (:issue:`10056`)
|
||||
- ``watchexec`` (:issue:`10027`)
|
||||
- ``wpctl`` (:issue:`10043`)
|
||||
- ``xxd`` (:issue:`10137`)
|
||||
- ``zabbix`` (:issue:`9647`)
|
||||
|
||||
- The ``zfs`` completions no longer print errors about setting a read-only variable (:issue:`9705`).
|
||||
- The ``kitty`` completions have been removed in favor of keeping them upstream (:issue:`9750`).
|
||||
- ``git`` completions now support aliases that reference other aliases (:issue:`9992`).
|
||||
- The ``gw`` and ``gradlew`` completions are loaded properly (:issue:`10127`).
|
||||
- Improvements to many other completions.
|
||||
- Improvements to the manual page completion generator (:issue:`9787`, :issue:`9814`, :issue:`9961`).
|
||||
|
||||
Other improvements
|
||||
------------------
|
||||
- Improvements and corrections to the documentation.
|
||||
- The Web-based configuration now uses a more readable style when printed, such as for a keybinding reference (:issue:`9828`).
|
||||
- Updates to the German translations (:issue:`9824`).
|
||||
- The colors of the Nord theme better match their official style (:issue:`10168`).
|
||||
|
||||
For distributors
|
||||
----------------
|
||||
- The licensing information for some of the derived code distributed with fish was incomplete. Though the license information was present in the source distribution, it was not present in the documentation. This has been corrected (:issue:`10162`).
|
||||
- The CMake configure step will now also look for libterminfo as an alternative name for libtinfo, as used in NetBSD curses (:issue:`9794`).
|
||||
|
||||
----
|
||||
|
||||
fish 3.6.4 (released December 5, 2023)
|
||||
======================================
|
||||
|
||||
This release contains a complete fix for the test suite failure in fish 3.6.2 and 3.6.3.
|
||||
|
||||
--------------
|
||||
|
||||
fish 3.6.3 (released December 4, 2023)
|
||||
======================================
|
||||
|
||||
This release contains a fix for a test suite failure in fish 3.6.2.
|
||||
|
||||
--------------
|
||||
|
||||
fish 3.6.2 (released December 4, 2023)
|
||||
======================================
|
||||
|
||||
This release of fish contains a security fix for CVE-2023-49284, a minor security problem identified
|
||||
in fish 3.6.1 and previous versions (thought to affect all released versions of fish).
|
||||
|
||||
fish uses certain Unicode non-characters internally for marking wildcards and expansions. It
|
||||
incorrectly allowed these markers to be read on command substitution output, rather than
|
||||
transforming them into a safe internal representation.
|
||||
|
||||
For example, ``echo \UFDD2HOME`` has the same output as ``echo $HOME``.
|
||||
|
||||
While this may cause unexpected behavior with direct input, this may become a minor security problem
|
||||
if the output is being fed from an external program into a command substitution where this output
|
||||
may not be expected.
|
||||
|
||||
--------------
|
||||
|
||||
fish 3.6.1 (released March 25, 2023)
|
||||
====================================
|
||||
|
||||
This release of fish contains a number of fixes for problems identified in fish 3.6.1, as well as some enhancements.
|
||||
.. ignore: 9439 9440 9442 9452 9469 9480 9482
|
||||
|
||||
Notable improvements and fixes
|
||||
------------------------------
|
||||
@@ -184,69 +9,63 @@ Notable improvements and fixes
|
||||
abbr --erase (abbr --list)
|
||||
|
||||
can now be used to clean out all old abbreviations (:issue:`9468`).
|
||||
- ``abbr --add --universal`` now warns about ``--universal`` being non-functional, to make it easier to detect old-style ``abbr`` calls (:issue:`9475`).
|
||||
- ``abbr --add --universal`` now warns about --universal being non-functional, to make it easier to detect old-style ``abbr`` calls (:issue:`9475`).
|
||||
- ``functions --handlers-type caller-exit`` once again lists functions defined as ``function --on-job-exit caller``, rather than them being listed by ``functions --handlers-type process-exit``.
|
||||
|
||||
Deprecations and removed features
|
||||
---------------------------------
|
||||
- The Web-based configuration for abbreviations has been removed, as it was not functional with the changes abbreviations introduced in 3.6.0 (:issue:`9460`).
|
||||
|
||||
Scripting improvements
|
||||
----------------------
|
||||
- ``abbr --list`` no longer escapes the abbr name, which is necessary to be able to pass it to ``abbr --erase`` (:issue:`9470`).
|
||||
- ``read`` will now print an error if told to set a read-only variable, instead of silently doing nothing (:issue:`9346`).
|
||||
- ``set_color -v`` no longer crashes fish (:issue:`9640`).
|
||||
- ``read`` will now print an error if told to set a read-only variable instead of silently doing nothing (:issue:`9346`).
|
||||
- ``functions`` and ``type`` now show where a function was copied and where it originally was instead of saying ``Defined interactively``.
|
||||
- Stack trace now shows line numbers for copied functions.
|
||||
|
||||
Interactive improvements
|
||||
------------------------
|
||||
- Using ``fish_vi_key_bindings`` in combination with fish's ``--no-config`` mode works without locking up the shell (:issue:`9443`).
|
||||
- The history pager now uses more screen space, usually half the screen (:issue:`9458`)
|
||||
- Variables that were set while the locale was C (the default ASCII-only locale) will now properly be encoded if the locale is switched (:issue:`2613`, :issue:`9473`).
|
||||
- Escape during history search restores the original command line again (fixing a regression in 3.6.0).
|
||||
- Using ``--help`` on builtins now respects the ``$MANPAGER`` variable, in preference to ``$PAGER`` (:issue:`9488`).
|
||||
- :kbd:`Control-G` closes the history pager, like other shells (:issue:`9484`).
|
||||
- The documentation for the ``:``, ``[`` and ``.`` builtin commands can now be looked up with ``man`` (:issue:`9552`).
|
||||
- fish no longer crashes when searching history for non-ASCII codepoints case-insensitively (:issue:`9628`).
|
||||
- The :kbd:`Alt-S` binding will now also use ``please`` if available (:issue:`9635`).
|
||||
- Themes that don't specify every color option can be installed correctly in the Web-based configuration (:issue:`9590`).
|
||||
- Compatibility with Midnight Commander's prompt integration has been improved (:issue:`9540`).
|
||||
- A spurious error, noted when using fish in Google Drive directories under WSL 2, has been silenced (:issue:`9550`).
|
||||
- Using ``read`` in ``fish_greeting`` or similar functions will not trigger an infinite loop (:issue:`9564`).
|
||||
- Compatibility when upgrading from old versions of fish (before 3.4.0) has been improved (:issue:`9569`).
|
||||
- The history pager now uses more screen space, usually half the screen (:issue:`9458`).
|
||||
- The history pager now shows fuzzy (subsequence) matches in the absence of exact substring matches (:issue:`9476`).
|
||||
- Variables that were set while the locale was C (i.e. ASCII) will now properly be encoded if the locale is switched (:issue:`2613`, :issue:`9473`).
|
||||
- Escape during history search restores the original commandline again (regressed in 3.6.0).
|
||||
- Using ``--help`` on builtins now respects the $MANPAGER variable in preference to $PAGER (:issue:`9488`).
|
||||
- Command-specific tab completions may now offer results whose first character is a period. For example, it is now possible to tab-complete ``git add`` for files with leading periods. The default file completions hide these files, unless the token itself has a leading period (:issue:`3707`).
|
||||
|
||||
New or improved bindings
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Improved prompts
|
||||
^^^^^^^^^^^^^^^^
|
||||
- The git prompt will compute the stash count to be used independently of the informative status (:issue:`9572`).
|
||||
|
||||
Completions
|
||||
^^^^^^^^^^^
|
||||
- Added completions for:
|
||||
|
||||
- ``apkanalyzer`` (:issue:`9558`)
|
||||
- ``neovim`` (:issue:`9543`)
|
||||
- ``otool``
|
||||
- ``pre-commit`` (:issue:`9521`)
|
||||
- ``proxychains`` (:issue:`9486`)
|
||||
- ``scrypt`` (:issue:`9583`)
|
||||
- ``stow`` (:issue:`9571`)
|
||||
- ``trash`` and helper utilities ``trash-empty``, ``trash-list``, ``trash-put``, ``trash-restore`` (:issue:`9560`)
|
||||
- ``ssh-copy-id`` (:issue:`9675`)
|
||||
- ``mix phx``
|
||||
- ``neovim``
|
||||
- ``stow``
|
||||
- ``trash`` and helper utilities ``trash-empty``, ``trash-list``, ``trash-put``, ``trash-restore``
|
||||
- ``apkanalyzer``
|
||||
|
||||
- Improvements to many completions, including the speed of completing directories in WSL 2 (:issue:`9574`).
|
||||
- Completions using ``__fish_complete_suffix`` are now offered in the correct order, fixing a regression in 3.6.0 (:issue:`8924`).
|
||||
- ``git`` completions for ``git-foo``-style commands was restored, fixing a regression in 3.6.0 (:issue:`9457`).
|
||||
- File completion now offers ``../`` and ``./`` again, fixing a regression in 3.6.0 (:issue:`9477`).
|
||||
- The behaviour of completions using ``__fish_complete_path`` matches standard path completions (:issue:`9285`).
|
||||
- git's completion for ``git-foo``-style commands was fixed (:issue:`9457`)
|
||||
- File completion now offers ``../`` and ``./`` again (:issue:`9477`)
|
||||
|
||||
Improved terminal support
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Other improvements
|
||||
------------------
|
||||
- Improvements and corrections to the documentation.
|
||||
|
||||
|
||||
For distributors
|
||||
----------------
|
||||
- fish 3.6.1 builds correctly on Cygwin (:issue:`9502`).
|
||||
- *Placeholder to fix Sphinx warning*
|
||||
|
||||
--------------
|
||||
|
||||
|
||||
fish 3.6.0 (released January 7, 2023)
|
||||
=====================================
|
||||
|
||||
|
||||
5
COPYING
5
COPYING
@@ -9,9 +9,8 @@ Most of fish is licensed under the GNU General Public License version 2, and
|
||||
you can redistribute it and/or modify it under the terms of the GNU GPL as
|
||||
published by the Free Software Foundation.
|
||||
|
||||
fish also includes software licensed under the CMake license, the Python
|
||||
Software Foundation License version 2, the OpenBSD license, the ISC license,
|
||||
the NetBSD license, and the MIT license.
|
||||
fish also includes software licensed under the GNU Lesser General Public
|
||||
License version 2, the OpenBSD license, the ISC license, and the NetBSD license.
|
||||
|
||||
Full licensing information is contained in doc_src/license.rst.
|
||||
|
||||
|
||||
@@ -79,12 +79,6 @@ list(APPEND CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_DIRS})
|
||||
find_library(CURSES_TINFO tinfo)
|
||||
if (CURSES_TINFO)
|
||||
set(CURSES_LIBRARY ${CURSES_LIBRARY} ${CURSES_TINFO})
|
||||
else()
|
||||
# on NetBSD, libtinfo has a longer name (libterminfo)
|
||||
find_library(CURSES_TINFO terminfo)
|
||||
if (CURSES_TINFO)
|
||||
set(CURSES_LIBRARY ${CURSES_LIBRARY} ${CURSES_TINFO})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Get threads.
|
||||
|
||||
@@ -32,7 +32,6 @@ The following ``argparse`` options are available. They must appear before all *O
|
||||
|
||||
**-x** or **--exclusive** *OPTIONS*
|
||||
A comma separated list of options that are mutually exclusive. You can use this more than once to define multiple sets of mutually exclusive options.
|
||||
You give either the short or long version of each option, and you still need to otherwise define the options.
|
||||
|
||||
**-N** or **--min-args** *NUMBER*
|
||||
The minimum number of acceptable non-option arguments. The default is zero.
|
||||
@@ -206,37 +205,6 @@ After parsing the arguments the ``argv`` variable is set with local scope to any
|
||||
|
||||
If an error occurs during argparse processing it will exit with a non-zero status and print error messages to stderr.
|
||||
|
||||
Examples
|
||||
---------
|
||||
|
||||
A simple use::
|
||||
|
||||
argparse h/help -- $argv
|
||||
or return
|
||||
|
||||
if set -q _flag_help
|
||||
# TODO: Print help here
|
||||
return 0
|
||||
end
|
||||
|
||||
This just wants one option - ``-h`` / ``--help``. Any other option is an error. If it is given it prints help and exits.
|
||||
|
||||
How :doc:`fish_add_path` parses its args::
|
||||
|
||||
argparse -x g,U -x P,U -x a,p g/global U/universal P/path p/prepend a/append h/help m/move v/verbose n/dry-run -- $argv
|
||||
|
||||
There are a variety of boolean flags, all with long and short versions. A few of these cannot be used together, and that is what the ``-x`` flag is used for.
|
||||
``-x g,U`` means that ``--global`` and ``--universal`` or their short equivalents conflict, and if they are used together you get an error.
|
||||
In this case you only need to give the short or long flag, not the full option specification.
|
||||
|
||||
After this it figures out which variable it should operate on according to the ``--path`` flag::
|
||||
|
||||
set -l var fish_user_paths
|
||||
set -q _flag_path
|
||||
and set var PATH
|
||||
|
||||
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
|
||||
@@ -143,9 +143,6 @@ The following special input functions are available:
|
||||
``capitalize-word``
|
||||
make the current word begin with a capital letter
|
||||
|
||||
``clear-screen``
|
||||
clears the screen and redraws the prompt. if the terminal doesn't support clearing the screen it is the same as ``repaint``.
|
||||
|
||||
``complete``
|
||||
guess the remainder of the current token
|
||||
|
||||
@@ -202,9 +199,6 @@ The following special input functions are available:
|
||||
``history-pager``
|
||||
invoke the searchable pager on history (incremental search); or if the history pager is already active, search further backwards in time.
|
||||
|
||||
``history-pager-delete``
|
||||
permanently delete the history item selected in the history pager
|
||||
|
||||
``history-search-backward``
|
||||
search the history for the previous match
|
||||
|
||||
@@ -380,6 +374,3 @@ The escape key can be used standalone, for example, to switch from insertion mod
|
||||
Holding alt and something else also typically sends escape, for example holding alt+a will send an escape character and then an "a".
|
||||
|
||||
fish waits for a period after receiving the escape character, to determine whether it is standalone or part of an escape sequence. While waiting, additional key presses make the escape key behave as a meta key. If no other key presses come in, it is handled as a standalone escape. The waiting period is set to 30 milliseconds (0.03 seconds). It can be configured by setting the ``fish_escape_delay_ms`` variable to a value between 10 and 5000 ms. This can be a universal variable that you set once from an interactive session.
|
||||
So the escape character has its own timeout configured with :envvar:`fish_escape_delay_ms`.
|
||||
|
||||
See also :ref:`Key sequences <interactive-key-sequences>`.
|
||||
|
||||
@@ -74,10 +74,6 @@ The following options change the way ``commandline`` prints the current commandl
|
||||
|
||||
**-c** or **--cut-at-cursor**
|
||||
Only print selection up until the current cursor position.
|
||||
If combined with ``--tokenize``, this will print up until the last completed token - excluding the token the cursor is in.
|
||||
This is typically what you would want for instance in completions.
|
||||
To get both, use both ``commandline --cut-at-cursor --tokenize; commandline --cut-at-cursor --current-token``,
|
||||
or ``commandline -co; commandline -ct`` for short.
|
||||
|
||||
**-o** or **--tokenize**
|
||||
Tokenize the selection and print one string-type token per line.
|
||||
@@ -124,23 +120,9 @@ The ``echo $flounder >&`` is the first process, ``less`` the second and ``and ec
|
||||
|
||||
**$flounder** is the current token.
|
||||
|
||||
The most common use for something like completions is
|
||||
|
||||
::
|
||||
|
||||
set -l tokens (commandline -opc)
|
||||
|
||||
which gives the current *process* (what is being completed), tokenized into separate entries, up to but excluding the currently being completed token
|
||||
|
||||
If you are then also interested in the in-progress token, add
|
||||
|
||||
::
|
||||
set -l current (commandline -ct)
|
||||
|
||||
Note that this makes it easy to render fish's infix matching moot - if possible it's best if the completions just print all possibilities and leave the matching to the current token up to fish's logic.
|
||||
|
||||
More examples:
|
||||
|
||||
|
||||
::
|
||||
|
||||
>_ commandline -t
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.. _cmd-complete:
|
||||
|
||||
complete - edit command-specific tab-completions
|
||||
complete - edit command specific tab-completions
|
||||
================================================
|
||||
|
||||
Synopsis
|
||||
@@ -8,7 +8,7 @@ Synopsis
|
||||
|
||||
.. synopsis::
|
||||
|
||||
complete ((-c | --command) | (-p | --path)) COMMAND [OPTIONS]
|
||||
complete ((-c | --command) | (-p | --path)) COMMAND [OPTIONS]
|
||||
complete (-C | --do-complete) [--escape] STRING
|
||||
|
||||
Description
|
||||
@@ -72,7 +72,7 @@ The following options are available:
|
||||
**-h** or **--help**
|
||||
Displays help about using this command.
|
||||
|
||||
Command-specific tab-completions in ``fish`` are based on the notion of options and arguments. An option is a parameter which begins with a hyphen, such as ``-h``, ``-help`` or ``--help``. Arguments are parameters that do not begin with a hyphen. Fish recognizes three styles of options, the same styles as the GNU getopt library. These styles are:
|
||||
Command specific tab-completions in ``fish`` are based on the notion of options and arguments. An option is a parameter which begins with a hyphen, such as ``-h``, ``-help`` or ``--help``. Arguments are parameters that do not begin with a hyphen. Fish recognizes three styles of options, the same styles as the GNU getopt library. These styles are:
|
||||
|
||||
- Short options, like ``-a``. Short options are a single character long, are preceded by a single hyphen and can be grouped together (like ``-la``, which is equivalent to ``-l -a``). Option arguments may be specified by appending the option with the value (``-w32``), or, if ``--require-parameter`` is given, in the following parameter (``-w 32``).
|
||||
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
.. _cmd-fish_default_key_bindings:
|
||||
|
||||
fish_default_key_bindings - set emacs key bindings for fish
|
||||
===============================================================
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
.. synopsis::
|
||||
|
||||
fish_default_key_bindings
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
``fish_default_key_bindings`` sets the emacs key bindings for ``fish`` shell.
|
||||
|
||||
Some of the Emacs key bindings are defined :ref:`here <emacs-mode>`.
|
||||
|
||||
There are no parameters for ``fish_default_key_bindings``.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
To start using vi key bindings::
|
||||
|
||||
fish_default_key_bindings
|
||||
@@ -56,7 +56,7 @@ Example
|
||||
> fish_key_reader --verbose
|
||||
Press a key:
|
||||
# press alt+enter
|
||||
hex: 1B char: \e
|
||||
hex: 1B char: \c[ (or \e)
|
||||
( 0.027 ms) hex: D char: \cM (or \r)
|
||||
bind \e\r 'do something'
|
||||
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
.. _cmd-fish_vi_key_bindings:
|
||||
|
||||
fish_vi_key_bindings - set vi key bindings for fish
|
||||
===============================================================
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
.. synopsis::
|
||||
|
||||
fish_vi_key_bindings
|
||||
fish_vi_key_bindings [--no-erase] [INIT_MODE]
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
``fish_vi_key_bindings`` sets the vi key bindings for ``fish`` shell.
|
||||
|
||||
If a valid *INIT_MODE* is provided (insert, default, visual), then that mode will become the default
|
||||
. If no *INIT_MODE* is given, the mode defaults to insert mode.
|
||||
|
||||
The following parameters are available:
|
||||
|
||||
**--no-erase**
|
||||
Does not clear previous set bindings
|
||||
|
||||
Further information on how to use :ref:`vi-mode <vi-mode>`.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
To start using vi key bindings::
|
||||
|
||||
fish_vi_key_bindings
|
||||
|
||||
or ``set -g fish_key_bindings fish_vi_key_bindings`` in :ref:`config.fish <configuration>`.
|
||||
@@ -30,7 +30,7 @@ The following options are available:
|
||||
Inherit completions from the given *WRAPPED_COMMAND*. See the documentation for :doc:`complete <complete>` for more information.
|
||||
|
||||
**-e** *EVENT_NAME* or **--on-event** *EVENT_NAME*
|
||||
Run this function when the specified named event is emitted. Fish internally generates named events, for example, when showing the prompt. Custom events can be emitted using the :doc:`emit <emit>` command.
|
||||
Run this function when the specified named event is emitted. Fish internally generates named events, for example,when showing the prompt. Custom events can be emitted using the :doc:`emit <emit>` command.
|
||||
|
||||
**-v** *VARIABLE_NAME* or **--on-variable** *VARIABLE_NAME*
|
||||
Run this function when the variable *VARIABLE_NAME* changes value. Note that :program:`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).
|
||||
|
||||
@@ -34,10 +34,10 @@ The following options are available:
|
||||
Causes the specified functions to be erased. This also means that it is prevented from autoloading in the current session. Use :doc:`funcsave <funcsave>` to remove the saved copy.
|
||||
|
||||
**-D** or **--details**
|
||||
Reports the path name where the specified function is defined or could be autoloaded, ``stdin`` if the function was defined interactively or on the command line or by reading standard input, **-** if the function was created via :doc:`source <source>`, and ``n/a`` if the function isn't available. (Functions created via :doc:`alias <alias>` will return **-**, because ``alias`` uses ``source`` internally.) If the **--verbose** option is also specified then five lines are written:
|
||||
Reports the path name where the specified function is defined or could be autoloaded, ``stdin`` if the function was defined interactively or on the command line or by reading standard input, **-** if the function was created via :doc:`source <source>`, and ``n/a`` if the function isn't available. (Functions created via :doc:`alias <alias>` will return **-**, because ``alias`` uses ``source`` internally. Copied functions will return where the function was copied.) If the **--verbose** option is also specified then five lines are written:
|
||||
|
||||
- the pathname as already described,
|
||||
- ``autoloaded``, ``not-autoloaded`` or ``n/a``,
|
||||
- the path name as already described,
|
||||
- if the function was copied, the path name to where the function was originally defined, otherwise ``autoloaded``, ``not-autoloaded`` or ``n/a``,
|
||||
- the line number within the file or zero if not applicable,
|
||||
- ``scope-shadowing`` if the function shadows the vars in the calling function (the normal case if it wasn't defined with **--no-scope-shadowing**), else ``no-scope-shadowing``, or ``n/a`` if the function isn't defined,
|
||||
- the function description minimally escaped so it is a single line, or ``n/a`` if the function isn't defined or has no description.
|
||||
|
||||
@@ -29,7 +29,7 @@ The following operations (sub-commands) are available:
|
||||
Returns history items matching the search string. If no search string is provided it returns all history items. This is the default operation if no other operation is specified. You only have to explicitly say ``history search`` if you wish to search for one of the subcommands. The ``--contains`` search option will be used if you don't specify a different search option. Entries are ordered newest to oldest unless you use the ``--reverse`` flag. If stdout is attached to a tty the output will be piped through your pager by the history function. The history builtin simply writes the results to stdout.
|
||||
|
||||
**delete**
|
||||
Deletes history items. The ``--contains`` search option will be used if you don't specify a different search option. If you don't specify ``--exact`` a prompt will be displayed before any items are deleted asking you which entries are to be deleted. You can enter the word "all" to delete all matching entries. You can enter a single ID (the number in square brackets) to delete just that single entry. You can enter more than one ID, or an ID range separated by a space to delete multiple entries. Just press [enter] to not delete anything. Note that the interactive delete behavior is a feature of the history function. The history builtin only supports ``--exact --case-sensitive`` deletion.
|
||||
Deletes history items. The ``--contains`` search option will be used if you don't specify a different search option. If you don't specify ``--exact`` a prompt will be displayed before any items are deleted asking you which entries are to be deleted. You can enter the word "all" to delete all matching entries. You can enter a single ID (the number in square brackets) to delete just that single entry. You can enter more than one ID separated by a space to delete multiple entries. Just press [enter] to not delete anything. Note that the interactive delete behavior is a feature of the history function. The history builtin only supports ``--exact --case-sensitive`` deletion.
|
||||
|
||||
**merge**
|
||||
Immediately incorporates history changes from other sessions. Ordinarily ``fish`` ignores history changes from sessions started after the current one. This command applies those changes immediately.
|
||||
|
||||
@@ -17,9 +17,8 @@ Description
|
||||
``math`` performs mathematical calculations.
|
||||
It supports simple operations such as addition, subtraction, and so on, as well as functions like ``abs()``, ``sqrt()`` and ``ln()``.
|
||||
|
||||
By default, the output shows up to 6 decimal places.
|
||||
To change the number of decimal places, use the ``--scale`` option, including ``--scale=0`` for integer output.
|
||||
Trailing zeroes will always be trimmed.
|
||||
By default, the output is a floating-point number with trailing zeroes trimmed.
|
||||
To get a fixed representation, the ``--scale`` option can be used, including ``--scale=0`` for integer output.
|
||||
|
||||
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.
|
||||
|
||||
@@ -106,7 +106,7 @@ The following code stores the value 'hello' in the shell variable :envvar:`foo`.
|
||||
|
||||
echo hello|read foo
|
||||
|
||||
The :doc:`while <while>` command is a neat way to handle command output line-by-line::
|
||||
While this is a neat way to handle command output line-by-line::
|
||||
|
||||
printf '%s\n' line1 line2 line3 line4 | while read -l foo
|
||||
echo "This is another line: $foo"
|
||||
@@ -125,7 +125,7 @@ Delimiters given via "-d" are taken as one string::
|
||||
echo $first # outputs "a b", $second is empty
|
||||
|
||||
echo 'a"foo bar"b (command echo wurst)*" "{a,b}' | read -lt -l a b c
|
||||
echo $a # outputs 'afoo barb' (without the quotes)
|
||||
echo $a # outputs 'afoo bar' (without the quotes)
|
||||
echo $b # outputs '(command echo wurst)* {a,b}' (without the quotes)
|
||||
echo $c # nothing
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ If both *NAME* and *VALUE* are provided, ``set`` assigns any values to variable
|
||||
Variables in fish are :ref:`lists <variables-lists>`, multiple values are allowed.
|
||||
One or more variable *INDEX* can be specified including ranges (not for all options.)
|
||||
|
||||
If no *VALUE* is given, the variable will be set to the empty list.
|
||||
If no *VALUE* is given, the variable will be set to the empty list i.e. ``''``.
|
||||
|
||||
If ``set`` is ran without 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.
|
||||
@@ -34,11 +34,11 @@ With ``--erase`` and optionally a scope flag ``set`` will erase the matching var
|
||||
|
||||
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:
|
||||
The following scope control variable scope:
|
||||
|
||||
**-U** or **--universal**
|
||||
Sets a universal variable.
|
||||
The variable will be immediately available to all the user's ``fish`` instances on the machine, and will be persisted across restarts of the shell.
|
||||
The variable will be immediately available to all the user's ``fish`` instances on the machine, and will be persist across restarts of the shell.
|
||||
|
||||
**-f** or **--function**
|
||||
Sets a variable scoped to the executing function.
|
||||
@@ -63,10 +63,10 @@ These options modify how variables operate:
|
||||
Causes the specified shell variable to NOT be exported to child processes.
|
||||
|
||||
**--path**
|
||||
Treat specified variable as a :ref:`path variable <variables-path>`; variable will be split on colons (``:``) and will be displayed joined by colons when quoted (``echo "$PATH"``) or exported.
|
||||
Treat specified variable as a :ref:`path variable <variables-path>`; variable will be split on colons (``:``) and will be displayed joined by colons colons when quoted (``echo "$PATH"``) or exported.
|
||||
|
||||
**--unpath**
|
||||
Causes variable to no longer be treated as a :ref:`path variable <variables-path>`.
|
||||
Causes variable to no longer be tred as a :ref:`path variable <variables-path>`.
|
||||
Note: variables ending in "PATH" are automatically path variables.
|
||||
|
||||
Further options:
|
||||
@@ -175,7 +175,7 @@ Remove _$smurf_ from the scope::
|
||||
|
||||
> set -e smurf
|
||||
|
||||
Remove _$smurf_ from the global and universal scopes::
|
||||
Remove _$smurf_ from the global and universal scoeps::
|
||||
|
||||
> set -e -Ug smurf
|
||||
|
||||
|
||||
@@ -11,46 +11,8 @@ To provide a list of possible completions for myprog, use the ``-a`` switch. If
|
||||
|
||||
complete -c myprog -s o -l output -a "yes no"
|
||||
|
||||
In the complete call above, the ``-a`` arguments apply when the option -o/--output has been given, so this offers them for::
|
||||
|
||||
> myprog -o<TAB>
|
||||
> myprog --output=<TAB>
|
||||
|
||||
By default, option arguments are *optional*, so the candidates are only offered directly attached like that, so they aren't given in this case::
|
||||
|
||||
> myprog -o <TAB>
|
||||
|
||||
Usually options *require* a parameter, so you would give ``--require-parameter`` / ``-r``::
|
||||
|
||||
complete -c myprog -s o -l output -ra "yes no"
|
||||
|
||||
which offers yes/no in these cases::
|
||||
|
||||
> myprog -o<TAB>
|
||||
> myprog --output=<TAB>
|
||||
> myprog -o <TAB>
|
||||
> myprog --output <TAB>
|
||||
|
||||
In the latter two cases, files will also be offered because file completion is enabled by default.
|
||||
|
||||
You would either inhibit file completion for a single option::
|
||||
|
||||
complete -c myprog -s o -l output --no-files -ra "yes no"
|
||||
|
||||
or with a specific condition::
|
||||
|
||||
complete -c myprog -f --condition '__fish_seen_subcommand_from somesubcommand'
|
||||
|
||||
or you can disable file completions globally for the command::
|
||||
|
||||
complete -c myprog -f
|
||||
|
||||
If you have disabled them globally, you can enable them just for a specific condition or option with the ``--force-files`` / ``-F`` option::
|
||||
|
||||
# Disable files by default
|
||||
complete -c myprog -f
|
||||
# but reenable them for --config-file
|
||||
complete -c myprog -l config-file --force-files -r
|
||||
There are also special switches for specifying that a switch requires an argument, to disable filename completion, to create completions that are only available in some combinations, etc.. For a complete description of the various switches accepted by the ``complete`` command, see the documentation for the :doc:`complete <cmds/complete>` builtin, or write ``complete --help`` inside the ``fish`` shell.
|
||||
|
||||
As a more comprehensive example, here's a commented excerpt of the completions for systemd's ``timedatectl``::
|
||||
|
||||
@@ -114,7 +76,7 @@ For examples of how to write your own complex completions, study the completions
|
||||
Useful functions for writing completions
|
||||
----------------------------------------
|
||||
|
||||
``fish`` ships with several functions that may be useful when writing command-specific completions. Most of these function names begin with the string ``__fish_``. Such functions are internal to ``fish`` and their name and interface may change in future fish versions. A few of these functions are described here.
|
||||
``fish`` ships with several functions that are very useful when writing command specific completions. Most of these functions name begins with the string ``__fish_``. Such functions are internal to ``fish`` and their name and interface may change in future fish versions. Still, some of them may be very useful when writing completions. A few of these functions are described here. Be aware that they may be removed or changed in future versions of fish.
|
||||
|
||||
Functions beginning with the string ``__fish_print_`` print a newline separated list of strings. For example, ``__fish_print_filesystems`` prints a list of all known file systems. Functions beginning with ``__fish_complete_`` print out a newline separated list of completions with descriptions. The description is separated from the completion by a tab character.
|
||||
|
||||
@@ -158,7 +120,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 :ref:`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``.
|
||||
|
||||
|
||||
@@ -187,7 +187,6 @@ man_pages = [
|
||||
("interactive", "fish-interactive", "", [author], 1),
|
||||
("relnotes", "fish-releasenotes", "", [author], 1),
|
||||
("completions", "fish-completions", "", [author], 1),
|
||||
("prompt", "fish-prompt-tutorial", "", [author], 1),
|
||||
(
|
||||
"fish_for_bash_users",
|
||||
"fish-for-bash-users",
|
||||
|
||||
@@ -60,7 +60,8 @@ And here is fish::
|
||||
|
||||
> set foo "bar baz"
|
||||
> printf '"%s"\n' $foo
|
||||
# foo was set as one element, so it will be passed as one element, so this is one line
|
||||
# foo was set as one element,
|
||||
# so it will be passed as one element, so this is one line
|
||||
"bar baz"
|
||||
|
||||
All variables are "arrays" (we use the term "lists"), and expanding a variable expands to all its elements, with each element as its own argument (like bash's ``"${var[@]}"``::
|
||||
|
||||
@@ -107,11 +107,11 @@ If you want to share your script with others, you might want to use :command:`en
|
||||
#!/usr/bin/env fish
|
||||
echo Hello from fish $version
|
||||
|
||||
This will call ``env``, which then goes through :envvar:`PATH` to find a program called "fish". This makes it work, whether fish is installed in (for example) ``/usr/local/bin/fish``, ``/usr/bin/fish``, or ``~/.local/bin/fish``, as long as that directory is in :envvar:`PATH`.
|
||||
This will call ``env``, which then goes through :envvar:`PATH` to find a program called "fish". This makes it work, whether fish is installed in /usr/local/bin/fish or /usr/bin/fish or ~/.local/bin/fish, as long as that directory is in :envvar:`PATH`.
|
||||
|
||||
The shebang line is only used when scripts are executed without specifying the interpreter. For functions inside fish or when executing a script with ``fish /path/to/script``, a shebang is not required (but it doesn't hurt!).
|
||||
|
||||
When executing files without an interpreter, fish, like other shells, tries your system shell, typically ``/bin/sh``. This is needed because some scripts are shipped without a shebang line.
|
||||
When executing files without an interpreter, fish, like other shells, tries your system shell, typically /bin/sh. This is needed because some scripts are shipped without a shebang line.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -171,7 +171,6 @@ Other help pages
|
||||
fish_for_bash_users
|
||||
tutorial
|
||||
completions
|
||||
prompt
|
||||
design
|
||||
relnotes
|
||||
license
|
||||
|
||||
@@ -125,7 +125,6 @@ Variable Meaning
|
||||
.. envvar:: fish_color_status the last command's nonzero exit code in the default prompt
|
||||
.. envvar:: fish_color_cancel the '^C' indicator on a canceled command
|
||||
.. envvar:: fish_color_search_match history search matches and selected pager items (background only)
|
||||
.. envvar:: fish_color_history_current the current position in the history for commands like ``dirh`` and ``cdh``
|
||||
|
||||
========================================== =====================================================================
|
||||
|
||||
@@ -270,7 +269,7 @@ 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 :doc:`fish_vi_key_bindings <cmds/fish_vi_key_bindings>` and switch back with :doc:`fish_default_key_bindings <cmds/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::
|
||||
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 \
|
||||
@@ -346,7 +345,7 @@ Some bindings are common across Emacs and Vi mode, because they aren't text edit
|
||||
Emacs mode commands
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
To enable emacs mode, use :doc:`fish_default_key_bindings <cmds/fish_default_key_bindings>`. This is also the default.
|
||||
To enable emacs mode, use ``fish_default_key_bindings``. This is also the default.
|
||||
|
||||
- :kbd:`Home` or :kbd:`Control`\ +\ :kbd:`A` moves the cursor to the beginning of the line.
|
||||
|
||||
@@ -391,7 +390,8 @@ 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>`.
|
||||
|
||||
To enable vi mode, use :doc:`fish_vi_key_bindings <cmds/fish_vi_key_bindings>`.
|
||||
To enable vi mode, use ``fish_vi_key_bindings``.
|
||||
|
||||
It is also possible to add all emacs-mode bindings to vi-mode by using something like::
|
||||
|
||||
|
||||
@@ -418,20 +418,14 @@ The ``fish_vi_cursor`` function will be used to change the cursor's shape depend
|
||||
set fish_cursor_default block
|
||||
# Set the insert mode cursor to a line
|
||||
set fish_cursor_insert line
|
||||
# Set the replace mode cursors to an underscore
|
||||
# Set the replace mode cursor to an underscore
|
||||
set fish_cursor_replace_one underscore
|
||||
set fish_cursor_replace underscore
|
||||
# Set the external cursor to a line. The external cursor appears when a command is started.
|
||||
# The cursor shape takes the value of fish_cursor_default when fish_cursor_external is not specified.
|
||||
set fish_cursor_external line
|
||||
# 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.
|
||||
|
||||
Fish knows the shapes "block", "line" and "underscore", other values will be ignored.
|
||||
|
||||
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:
|
||||
@@ -449,7 +443,7 @@ Command mode is also known as normal mode.
|
||||
|
||||
- :kbd:`i` enters :ref:`insert mode <vi-mode-insert>` at the current cursor position.
|
||||
|
||||
- :kbd:`Shift`\ +\ :kbd:`I` enters :ref:`insert mode <vi-mode-insert>` at the beginning of the line.
|
||||
- :kbd:`Shift`\ +\ :kbd:`R` enters :ref:`insert mode <vi-mode-insert>` at the beginning of the line.
|
||||
|
||||
- :kbd:`v` enters :ref:`visual mode <vi-mode-visual>` at the current cursor position.
|
||||
|
||||
@@ -540,12 +534,6 @@ If you change your mind on a binding and want to go back to fish's default, you
|
||||
|
||||
Fish remembers its preset bindings and so it will take effect again. This saves you from having to remember what it was before and add it again yourself.
|
||||
|
||||
If you use :ref:`vi bindings <vi-mode>`, note that ``bind`` will by default bind keys in :ref:`command mode <vi-mode-command>`. To bind something in :ref:`insert mode <vi-mode-insert>`::
|
||||
|
||||
bind --mode insert \cc 'commandline -r ""'
|
||||
|
||||
.. _interactive-key-sequences:
|
||||
|
||||
Key sequences
|
||||
"""""""""""""
|
||||
|
||||
@@ -562,25 +550,14 @@ In these cases, :doc:`fish_key_reader <cmds/fish_key_reader>` can tell you how t
|
||||
Press a key:
|
||||
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. When ``fish_key_reader`` prints the same sequence for two different keys, then that is because your terminal sends the same sequence for them.
|
||||
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 :envvar:`fish_escape_delay_ms` variable.
|
||||
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
|
||||
|
||||
Similarly, to disambiguate *other* keypresses where you've bound a subsequence and a longer sequence, fish has :envvar:`fish_sequence_key_delay_ms`::
|
||||
|
||||
# This binds "jk" to switch to normal mode in vi-mode.
|
||||
# If you kept it like that, every time you press "j",
|
||||
# fish would wait for a "k" or other key to disambiguate
|
||||
bind -M insert -m default jk cancel repaint-mode
|
||||
|
||||
# After setting this, fish only waits 200ms for the "k",
|
||||
# or decides to treat the "j" as a separate sequence, inserting it.
|
||||
set -g fish_sequence_key_delay_ms 200
|
||||
|
||||
.. _killring:
|
||||
|
||||
Copy and paste (Kill Ring)
|
||||
|
||||
@@ -91,7 +91,7 @@ searches for lines ending in ``enabled)`` in ``foo.txt`` (the ``$`` is special t
|
||||
|
||||
::
|
||||
|
||||
apt install "postgres-*"
|
||||
apt install "postgres-*"
|
||||
|
||||
installs all packages with a name starting with "postgres-", instead of looking through the current directory for files named "postgres-something".
|
||||
|
||||
@@ -238,37 +238,6 @@ As a convenience, the pipe ``&|`` redirects both stdout and stderr to the same p
|
||||
|
||||
.. [#] A "pager" here is a program that takes output and "paginates" it. ``less`` doesn't just do pages, it allows arbitrary scrolling (even back!).
|
||||
|
||||
|
||||
Combining pipes and redirections
|
||||
--------------------------------
|
||||
|
||||
It is possible to use multiple redirections and a pipe at the same time. In that case, they are read in this order:
|
||||
|
||||
1. First the pipe is set up.
|
||||
2. Then the redirections are evaluated from left-to-right.
|
||||
|
||||
This is important when any redirections reference other file descriptors with the ``&N`` syntax. When you say ``>&2``, that will redirect stdout to where stderr is pointing to *at that time*.
|
||||
|
||||
Consider this helper function::
|
||||
|
||||
# Just make a function that prints something to stdout and stderr
|
||||
function print
|
||||
echo out
|
||||
echo err >&2
|
||||
end
|
||||
|
||||
Now let's see a few cases::
|
||||
|
||||
# Redirect both stderr and stdout to less
|
||||
# (can also be spelt as `&|`)
|
||||
print 2>&1 | less
|
||||
|
||||
# Show the "out" on stderr, silence the "err"
|
||||
print >&2 2>/dev/null
|
||||
|
||||
# Silence both
|
||||
print >/dev/null 2>&1
|
||||
|
||||
.. _syntax-job-control:
|
||||
|
||||
Job control
|
||||
@@ -724,10 +693,29 @@ The ``$`` symbol can also be used multiple times, as a kind of "dereference" ope
|
||||
# 20
|
||||
# 30
|
||||
|
||||
``$$foo[$i]`` is "the value of the variable named by ``$foo[$i]``.
|
||||
``$$foo[$i]`` is "the value of the variable named by ``$foo[$i]``".
|
||||
|
||||
When using this feature together with list brackets, the brackets will be used from the inside out. ``$$foo[5]`` will use the fifth element of ``$foo`` as a variable name, instead of giving the fifth element of all the variables $foo refers to. That would instead be expressed as ``$$foo[1..-1][5]`` (take all elements of ``$foo``, use them as variable names, then give the fifth element of those).
|
||||
|
||||
Some more examples::
|
||||
|
||||
set listone 1 2 3
|
||||
set listtwo 4 5 6
|
||||
set var listone listtwo
|
||||
|
||||
echo $$var
|
||||
# Output is 1 2 3 4 5 6
|
||||
|
||||
echo $$var[1]
|
||||
# Output is 1 2 3
|
||||
|
||||
echo $$var[2][3]
|
||||
# $var[1] is listtwo, third element of that is 6, output is 6
|
||||
|
||||
echo $$var[..][2]
|
||||
# The second element of every variable, so output is
|
||||
# 2 5
|
||||
|
||||
.. _expand-command-substitution:
|
||||
|
||||
Command substitution
|
||||
@@ -1111,12 +1099,13 @@ Here is an example of local vs function-scoped variables::
|
||||
set gnu "In the beginning there was nothing, which exploded"
|
||||
end
|
||||
|
||||
echo $pirate
|
||||
# This will not output anything, since the pirate was local
|
||||
echo $pirate
|
||||
# This will output the good Captain's speech
|
||||
# since $captain had function-scope.
|
||||
echo $captain
|
||||
# This will output the good Captain's speech since $captain had function-scope.
|
||||
# This will output Sir Terry's wisdom.
|
||||
echo $gnu
|
||||
# Will output Sir Terry's wisdom.
|
||||
end
|
||||
|
||||
When a function calls another, local variables aren't visible::
|
||||
@@ -1153,7 +1142,8 @@ If you want to override a variable for a single command, you can use "var=val" s
|
||||
Unlike other shells, fish will first set the variable and then perform other expansions on the line, so::
|
||||
|
||||
set foo banana
|
||||
foo=gagaga echo $foo # prints gagaga, while in other shells it might print "banana"
|
||||
foo=gagaga echo $foo
|
||||
# prints gagaga, while in other shells it might print "banana"
|
||||
|
||||
Multiple elements can be given in a :ref:`brace expansion<expand-brace>`::
|
||||
|
||||
@@ -1330,10 +1320,14 @@ That covers the positional arguments, but commandline tools often get various op
|
||||
A more robust approach to option handling is :doc:`argparse <cmds/argparse>`, which checks the defined options and puts them into various variables, leaving only the positional arguments in $argv. Here's a simple example::
|
||||
|
||||
function mybetterfunction
|
||||
# We tell argparse about -h/--help and -s/--second - these are short and long forms of the same option.
|
||||
# The "--" here is mandatory, it tells it from where to read the arguments.
|
||||
# We tell argparse about -h/--help and -s/--second
|
||||
# - these are short and long forms of the same option.
|
||||
# The "--" here is mandatory,
|
||||
# it tells it from where to read the arguments.
|
||||
argparse h/help s/second -- $argv
|
||||
# exit if argparse failed because it found an option it didn't recognize - it will print an error
|
||||
# exit if argparse failed because
|
||||
# it found an option it didn't recognize
|
||||
# - it will print an error
|
||||
or return
|
||||
|
||||
# If -h or --help is given, we print a little help text and return
|
||||
@@ -1449,10 +1443,6 @@ You can change the settings of fish by changing the values of certain variables.
|
||||
|
||||
sets how long fish waits for another key after seeing an escape, to distinguish pressing the escape key from the start of an escape sequence. The default is 30ms. Increasing it increases the latency but allows pressing escape instead of alt for alt+character bindings. For more information, see :ref:`the chapter in the bind documentation <cmd-bind-escape>`.
|
||||
|
||||
.. envvar:: fish_sequence_key_delay_ms
|
||||
|
||||
sets how long fish waits for another key after seeing a key that is part of a longer sequence, to disambiguate. For instance if you had bound ``\cx\ce`` to open an editor, fish would wait for this long in milliseconds to see a ctrl-e after a ctrl-x. If the time elapses, it will handle it as a ctrl-x (by default this would copy the current commandline to the clipboard). See also :ref:`Key sequences <interactive-key-sequences>`.
|
||||
|
||||
.. envvar:: fish_complete_path
|
||||
|
||||
determines where fish looks for completion. When trying to complete for a command, fish looks for files in the directories in this variable.
|
||||
@@ -1776,7 +1766,8 @@ Let's make up an example. This function will :ref:`glob <expand-wildcard>` the f
|
||||
|
||||
# If there are more than 5 files
|
||||
if test (count $files) -gt 5
|
||||
# and both stdin (for reading input) and stdout (for writing the prompt)
|
||||
# and both stdin (for reading input)
|
||||
# and stdout (for writing the prompt)
|
||||
# are terminals
|
||||
and isatty stdin
|
||||
and isatty stdout
|
||||
@@ -1836,13 +1827,7 @@ Configuration files are run in the following order:
|
||||
|
||||
- ``$__fish_config_dir/conf.d`` (by default, ``~/.config/fish/conf.d/``)
|
||||
- ``$__fish_sysconf_dir/conf.d`` (by default, ``/etc/fish/conf.d/``)
|
||||
- Directories for others to ship configuration snippets for their software:
|
||||
|
||||
- the directories under ``$__fish_user_data_dir`` (usually ``~/.local/share/fish``, controlled by the ``XDG_DATA_HOME`` environment variable)
|
||||
- a ``fish/vendor_conf.d`` directory in the directories listed in ``$XDG_DATA_DIRS`` (default ``/usr/share/fish/vendor_conf.d`` and ``/usr/local/share/fish/vendor_conf.d``)
|
||||
|
||||
These directories are also accessible in ``$__fish_vendor_confdirs``.
|
||||
Note that changing that in a running fish won't do anything as by that point the directories have already been read.
|
||||
- Directories for others to ship configuration snippets for their software. Fish searches the directories under ``$__fish_user_data_dir`` (usually ``~/.local/share/fish``, controlled by the ``XDG_DATA_HOME`` environment variable) and in the ``XDG_DATA_DIRS`` environment variable for a ``fish/vendor_conf.d`` directory; if not defined, the default value of ``XDG_DATA_DIRS`` is ``/usr/share/fish/vendor_conf.d`` and ``/usr/local/share/fish/vendor_conf.d``, unless your distribution customized this.
|
||||
|
||||
If there are multiple files with the same name in these directories, only the first will be executed.
|
||||
They are executed in order of their filename, sorted (like globs) in a natural order (i.e. "01" sorts before "2").
|
||||
@@ -1856,8 +1841,6 @@ These files are all executed on the startup of every shell. If you want to run a
|
||||
|
||||
If you are developing another program, you may want to add configuration for all users of fish on a system. This is discouraged; if not carefully written, they may have side-effects or slow the startup of the shell. Additionally, users of other shells won't benefit from the fish-specific configuration. However, if they are required, you can install them to the "vendor" configuration directory. As this path may vary from system to system, ``pkg-config`` should be used to discover it: ``pkg-config --variable confdir fish``.
|
||||
|
||||
For system integration, fish also ships a file called ``__fish_build_paths.fish``. This can be customized during build, for instance because your system requires special paths to be used.
|
||||
|
||||
.. _featureflags:
|
||||
|
||||
Future feature flags
|
||||
@@ -1925,7 +1908,7 @@ To specify a signal handler for the WINCH signal, write::
|
||||
echo Got WINCH signal!
|
||||
end
|
||||
|
||||
Fish already has the following named events for the ``--on-event`` switch:
|
||||
Fish already the following named events for the ``--on-event`` switch:
|
||||
|
||||
- ``fish_prompt`` is emitted whenever a new fish prompt is about to be displayed.
|
||||
|
||||
|
||||
@@ -175,107 +175,3 @@ products or services of Licensee, or any third party.
|
||||
8. By copying, installing or otherwise using Python, Licensee
|
||||
agrees to be bound by the terms and conditions of this License
|
||||
Agreement.
|
||||
|
||||
License for CMake
|
||||
-----------------
|
||||
|
||||
The ``fish`` source code contains files from [CMake](https://cmake.org) to support the build system.
|
||||
This code is distributed under the terms of a BSD-style license. Copyright 2000-2017 Kitware, Inc.
|
||||
and Contributors.
|
||||
|
||||
The BSD license for CMake follows.
|
||||
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2017 Kitware, Inc. and Contributors
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of Kitware, Inc. nor the names of Contributors
|
||||
may be used to endorse or promote products derived from this
|
||||
software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
License for code derived from tmux
|
||||
----------------------------------
|
||||
|
||||
``fish`` contains code from [tmux](http://tmux.sourceforge.net), copyrighted by Nicholas Marriott <nicm@users.sourceforge.net> (2007), and made available under the OpenBSD license.
|
||||
|
||||
The OpenBSD license is included below.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
License for UTF8
|
||||
----------------
|
||||
|
||||
``fish`` also contains small amounts of code under the ISC license, namely the UTF-8 conversion functions. This code is copyright © 2007 Alexey Vatchenko \<av@bsdua.org>.
|
||||
|
||||
The ISC license agreement follows.
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
License for flock
|
||||
-----------------
|
||||
|
||||
``fish`` also contains small amounts of code from NetBSD, namely the ``flock`` fallback function. This code is copyright 2001 The NetBSD Foundation, Inc., and derived from software contributed to The NetBSD Foundation by Todd Vierling.
|
||||
|
||||
The NetBSD license follows.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
MIT License
|
||||
-----------
|
||||
|
||||
``fish`` includes a copy of AngularJS, which is copyright 2010-2012 Google, Inc. and licensed under the MIT License. It also includes the Dracula theme, which is copyright 2018 Dracula Team, and the Nord theme, which is copyright 2016-present Sven Greb. These themes are also used under the MIT license.
|
||||
|
||||
The MIT license follows.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
@@ -1,172 +0,0 @@
|
||||
Writing your own prompt
|
||||
=======================
|
||||
|
||||
.. only:: builder_man
|
||||
|
||||
.. warning::
|
||||
This document uses formatting to show what a prompt would look like. If you are viewing this in the man page,
|
||||
you probably want to switch to looking at the html version instead. Run ``help custom-prompt`` to view it in a web browser.
|
||||
|
||||
Fish ships a number of prompts that you can view with the :doc:`fish_config <cmds/fish_config>` command, and many users have shared their prompts online.
|
||||
|
||||
However, you can also write your own, or adjust an existing prompt. This is a good way to get used to fish's :doc:`scripting language <language>`.
|
||||
|
||||
Unlike other shells, fish's prompt is built by running a function - :doc:`fish_prompt <cmds/fish_prompt>`. Or, more specifically, three functions:
|
||||
|
||||
- :doc:`fish_prompt <cmds/fish_prompt>`, which is the main prompt function
|
||||
- :doc:`fish_right_prompt <cmds/fish_right_prompt>`, which is shown on the right side of the terminal.
|
||||
- :doc:`fish_mode_prompt <cmds/fish_mode_prompt>`, which is shown if :ref:`vi-mode <vi-mode>` is used.
|
||||
|
||||
These functions are run, and whatever they print is displayed as the prompt (minus one trailing newline).
|
||||
|
||||
Here, we will just be writing a simple fish_prompt.
|
||||
|
||||
Our first prompt
|
||||
----------------
|
||||
|
||||
Let's look at a very simple example::
|
||||
|
||||
function fish_prompt
|
||||
echo $PWD '>'
|
||||
end
|
||||
|
||||
This prints the current working directory (:envvar:`PWD`) and a ``>`` symbol to show where the prompt ends. The ``>`` is :ref:`quoted <quotes>` because otherwise it would signify a :ref:`redirection <redirects>`.
|
||||
|
||||
Because we've used :doc:`echo <cmds/echo>`, it adds spaces between the two so it ends up looking like (assuming ``_`` is your cursor):
|
||||
|
||||
.. role:: white
|
||||
.. parsed-literal::
|
||||
:class: highlight
|
||||
|
||||
:white:`/home/tutorial >`\ _
|
||||
|
||||
Formatting
|
||||
----------
|
||||
|
||||
``echo`` adds spaces between its arguments. If you don't want those, you can use :doc:`string join <cmds/string-join>` like this::
|
||||
|
||||
function fish_prompt
|
||||
string join '' -- $PWD '>'
|
||||
end
|
||||
|
||||
The ``--`` indicates to ``string`` that no options can come after it, in case we extend this with something that can start with a ``-``.
|
||||
|
||||
There are other ways to remove the space, including ``echo -s`` and :doc:`printf <cmds/printf>`.
|
||||
|
||||
Adding colo(u)r
|
||||
---------------
|
||||
|
||||
This prompt is functional, but a bit boring. We could add some color.
|
||||
|
||||
Fortunately, fish offers the :doc:`set_color <cmds/set_color>` command, so you can do::
|
||||
|
||||
echo (set_color red)foo
|
||||
|
||||
``set_color`` can also handle RGB colors like ``set_color 23b455``, and other formatting options including bold and italics.
|
||||
|
||||
So, taking our previous prompt and adding some color::
|
||||
|
||||
function fish_prompt
|
||||
string join '' -- (set_color green) $PWD (set_color normal) '>'
|
||||
end
|
||||
|
||||
A "normal" color tells the terminal to go back to its normal formatting options.
|
||||
|
||||
What ``set_color`` does internally is to print an escape sequence that tells the terminal to change color. So if you see something like::
|
||||
|
||||
echo \e\[31mfoo
|
||||
|
||||
that could just be ``set_color red``.
|
||||
|
||||
Shortening the working directory
|
||||
--------------------------------
|
||||
|
||||
This is fine, but our :envvar:`PWD` can be a bit long, and we are typically only interested in the last few directories. We can shorten this with the :doc:`prompt_pwd <cmds/prompt_pwd>` helper that will give us a shortened working directory::
|
||||
|
||||
function fish_prompt
|
||||
string join '' -- (set_color green) (prompt_pwd) (set_color normal) '>'
|
||||
end
|
||||
|
||||
``prompt_pwd`` takes options to control how much to shorten. For instance, if we want to display the last two directories, we'd use ``prompt_pwd --full-length-dirs 2``::
|
||||
|
||||
function fish_prompt
|
||||
string join '' -- (set_color green) (prompt_pwd --full-length-dirs 2) (set_color normal) '>'
|
||||
end
|
||||
|
||||
With a current directory of "/home/tutorial/Music/Lena Raine/Oneknowing", this would print
|
||||
|
||||
.. role:: green
|
||||
.. parsed-literal::
|
||||
:class: highlight
|
||||
|
||||
:green:`~/M/Lena Raine/Oneknowing`>_
|
||||
|
||||
Status
|
||||
------
|
||||
|
||||
One important bit of information that every command returns is the :ref:`status <variables-status>`. This is a whole number from 0 to 255, and usually it is used as an error code - 0 if the command returned successfully, or a number from 1 to 255 if not.
|
||||
|
||||
It's useful to display this in your prompt, but showing it when it's 0 seems kind of wasteful.
|
||||
|
||||
First of all, since every command (except for :doc:`set <cmds/set>`) changes the status, you need to store it for later use as the first thing in your prompt. Use a :ref:`local variable <variables-scope>` so it will be confined to your prompt function::
|
||||
|
||||
set -l last_status $status
|
||||
|
||||
And after that, you can set a string if it not zero::
|
||||
|
||||
# Prompt status only if it's not 0
|
||||
set -l stat
|
||||
if test $last_status -ne 0
|
||||
set stat (set_color red)"[$last_status]"(set_color normal)
|
||||
end
|
||||
|
||||
And to print it, we add it to our ``string join``::
|
||||
|
||||
string join '' -- (set_color green) (prompt_pwd) (set_color normal) $stat '>'
|
||||
|
||||
If ``$last_status`` was 0, ``$stat`` is empty, and so it will simply disappear.
|
||||
|
||||
So our entire prompt is now::
|
||||
|
||||
function fish_prompt
|
||||
set -l last_status $status
|
||||
# Prompt status only if it's not 0
|
||||
set -l stat
|
||||
if test $last_status -ne 0
|
||||
set stat (set_color red)"[$last_status]"(set_color normal)
|
||||
end
|
||||
|
||||
string join '' -- (set_color green) (prompt_pwd) (set_color normal) $stat '>'
|
||||
end
|
||||
|
||||
And it looks like:
|
||||
|
||||
.. role:: green
|
||||
.. role:: red
|
||||
.. parsed-literal::
|
||||
:class: highlight
|
||||
|
||||
:green:`~/M/L/Oneknowing`\ :red:`[1]`>_
|
||||
|
||||
after we run ``false`` (which returns 1).
|
||||
|
||||
Where to go from here?
|
||||
----------------------
|
||||
|
||||
We have now built a simple but working and usable prompt, but of course more can be done.
|
||||
|
||||
- Fish offers more helper functions:
|
||||
- ``prompt_login`` to describe the user/hostname/container or ``prompt_hostname`` to describe just the host
|
||||
- ``fish_is_root_user`` to help with changing the symbol for root.
|
||||
- ``fish_vcs_prompt`` to show version control information (or ``fish_git_prompt`` / ``fish_hg_prompt`` / ``fish_svn_prompt`` to limit it to specific systems)
|
||||
- You can add a right prompt by changing :doc:`fish_right_prompt <cmds/fish_right_prompt>` or a vi-mode prompt by changing :doc:`fish_mode_prompt <cmds/fish_mode_prompt>`.
|
||||
- Some prompts have interesting or advanced features
|
||||
- Add the time when the prompt was printed
|
||||
- Show various integrations like python's venv
|
||||
- Color the parts differently.
|
||||
|
||||
You can look at fish's sample prompts for inspiration. Open up :doc:`fish_config <cmds/fish_config>`, find one you like and pick it. For example::
|
||||
|
||||
fish_config prompt show # <- shows all the sample prompts
|
||||
fish_config prompt choose disco # <- this picks the "disco" prompt for this session
|
||||
funced fish_prompt # <- opens fish_prompt in your editor, and reloads it once the editor exits
|
||||
@@ -1,18 +1,5 @@
|
||||
:root {
|
||||
color-scheme: light dark; /* both supported */
|
||||
--link-color: #0030B3;
|
||||
--visited-link-color: #6363bb;
|
||||
--hover-link-color: #00A5F4;
|
||||
--text-color: #222;
|
||||
--main-background: #EEEEFA;
|
||||
--secondary-background: #ddddea;
|
||||
--outer-background: linear-gradient(to bottom, #a7cfdf 0%,#23538a 100%);
|
||||
--code-background: rgba(255,255,255, .2);
|
||||
--code-border: #ac9;
|
||||
--sidebar-border-color: #ccc;
|
||||
--secondary-link-color: #444;
|
||||
--highlight-background: #FFF;
|
||||
--td-background: white;
|
||||
color-scheme: light dark; /* both supported */
|
||||
}
|
||||
|
||||
html {
|
||||
@@ -21,10 +8,7 @@ html {
|
||||
}
|
||||
|
||||
body {
|
||||
background: var(--outer-background);
|
||||
}
|
||||
|
||||
html, body, input {
|
||||
background: linear-gradient(to bottom, #a7cfdf 0%,#23538a 100%);
|
||||
/* Pick a font.
|
||||
sans-serif is the Browser default. This is great because the user could change it.
|
||||
Unfortunately the defaults are decades old and e.g. on Windows still use Arial in Firefox and Edge,
|
||||
@@ -45,7 +29,8 @@ html, body, input {
|
||||
body {
|
||||
/* These stay, assuming some browsers pick different defaults */
|
||||
font-size: 100%;
|
||||
background-color: var(--main-background);
|
||||
background-color: #eeeefa;
|
||||
color: #000;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
@@ -112,7 +97,7 @@ div.sphinxsidebar ul ul, div.sphinxsidebar ul.want-points {
|
||||
div.sphinxsidebar ul {
|
||||
margin: 10px;
|
||||
padding: 0;
|
||||
color: var(--secondary-link-color);
|
||||
color: #444444;
|
||||
margin: 10px;
|
||||
list-style: none;
|
||||
}
|
||||
@@ -147,7 +132,7 @@ div.sphinxsidebar h3 {
|
||||
}
|
||||
|
||||
div.sphinxsidebar h4 {
|
||||
color: var(--secondary-link-color);
|
||||
color: #444444;
|
||||
font-size: 1.3em;
|
||||
font-weight: normal;
|
||||
margin: 5px 0 0 0;
|
||||
@@ -177,7 +162,7 @@ a:hover, div.footer a {
|
||||
}
|
||||
|
||||
div.related a, div.sphinxsidebar a {
|
||||
color: var(--secondary-link-color);
|
||||
color: #444444;
|
||||
}
|
||||
|
||||
div.warning {
|
||||
@@ -207,6 +192,10 @@ div.footer {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
th, dl.field-list > dt {
|
||||
background-color: #ede;
|
||||
}
|
||||
|
||||
table.docutils {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
@@ -223,9 +212,9 @@ th > :first-child, td > :first-child {
|
||||
/* End of SPHINX IMPORT */
|
||||
|
||||
div#fmain {
|
||||
color: var(--text-color);
|
||||
color: #222;
|
||||
padding: 1em 2em;
|
||||
background-color: var(--main-background);
|
||||
background-color: #EEEEFA;
|
||||
border-radius: 14px;
|
||||
position: relative;
|
||||
margin: 1em auto 1em;
|
||||
@@ -238,8 +227,7 @@ div#fmain {
|
||||
div.related {
|
||||
margin-bottom: 0;
|
||||
padding: 0.5em 0;
|
||||
border-top: 1px solid;
|
||||
border-color: var(--sidebar-border-color);
|
||||
border-top: 1px solid #ccc;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
@@ -255,10 +243,15 @@ div.section {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.related a:hover,
|
||||
div.footer a:hover,
|
||||
div.sphinxsidebar a:hover {
|
||||
color: #0095C4;
|
||||
}
|
||||
|
||||
div.related:first-child {
|
||||
border-top: 0;
|
||||
border-bottom: 1px solid;
|
||||
border-color: var(--sidebar-border-color);
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.inline-search {
|
||||
@@ -272,8 +265,7 @@ form.inline-search input[type="submit"] {
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
border-right: 1px solid;
|
||||
border-color: var(--sidebar-border-color);
|
||||
border-right: 1px solid #ccc;
|
||||
border-radius: 0px;
|
||||
line-height: 1em;
|
||||
font-size: smaller;
|
||||
@@ -333,8 +325,7 @@ ul.simple > li:not(:first-child) > p {
|
||||
|
||||
form.inline-search input,
|
||||
div.sphinxsidebar input {
|
||||
border: 1px solid;
|
||||
border-color: var(--sidebar-border-color);
|
||||
border: 1px solid #999999;
|
||||
font-size: smaller;
|
||||
border-radius: 3px;
|
||||
}
|
||||
@@ -373,8 +364,7 @@ div.body hr {
|
||||
|
||||
div.body pre, code {
|
||||
border-radius: 3px;
|
||||
border: 1px solid;
|
||||
border-color: var(--code-border);
|
||||
border: 1px solid #ac9;
|
||||
}
|
||||
|
||||
div.highlight {
|
||||
@@ -409,31 +399,28 @@ div.body div.seealso {
|
||||
border: 1px solid #dddd66;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--link-color);
|
||||
div.body a {
|
||||
color: #0072aa;
|
||||
}
|
||||
|
||||
div.body a:visited {
|
||||
color: var(--visited-link-color);
|
||||
color: #6363bb;
|
||||
}
|
||||
|
||||
div.related a:hover,
|
||||
div.footer a:hover,
|
||||
div.sphinxsidebar a:hover,
|
||||
div.body a:hover {
|
||||
color: var(--hover-link-color);
|
||||
color: #00B0E4;
|
||||
}
|
||||
|
||||
code {
|
||||
/* Make inline-code better visible */
|
||||
background-color: var(--code-background);
|
||||
background-color: rgba(20,20,80, .1);
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
tt, code, pre, dl > dt span ~ em, #synopsis p, #synopsis code, .command, button {
|
||||
tt, code, pre, dl > dt span ~ em, #synopsis p, #synopsis code, .command {
|
||||
/* Pick a monospace font.
|
||||
ui-monospace is the monospace version of system-ui - the system's monospace font.
|
||||
Unfortunately it's barely supported anywhere (at time of writing only Safari does!),
|
||||
@@ -480,8 +467,7 @@ div.body tt.xref, div.body a tt, div.body code.xref, div.body a code {
|
||||
}
|
||||
|
||||
table.docutils {
|
||||
border: 1px solid;
|
||||
border-color: var(--sidebar-border-color);
|
||||
border: 1px solid #ddd;
|
||||
min-width: 20%;
|
||||
border-radius: 3px;
|
||||
margin-top: 1em;
|
||||
@@ -492,8 +478,7 @@ table.docutils {
|
||||
}
|
||||
|
||||
table.docutils td, table.docutils th {
|
||||
border: 1px solid;
|
||||
border-color: var(--sidebar-border-color);
|
||||
border: 1px solid #ddd !important;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
@@ -501,13 +486,13 @@ table p, table li {
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: var(--secondary-background);
|
||||
table.docutils th {
|
||||
background-color: #eee;
|
||||
padding: 0.3em 0.5em;
|
||||
}
|
||||
|
||||
table.docutils td {
|
||||
background-color: var(--td-background);
|
||||
background-color: white;
|
||||
padding: 0.3em 0.5em;
|
||||
}
|
||||
|
||||
@@ -523,8 +508,16 @@ div.footer {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.refcount {
|
||||
color: #060;
|
||||
}
|
||||
|
||||
.stableabi {
|
||||
color: #229;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
background: var(--highlight-background);
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
#synopsis p {
|
||||
@@ -559,10 +552,6 @@ aside.footnote > p {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
div.documentwrapper {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* On screens that are less than 700px wide remove anything non-essential
|
||||
- the sidebar, the gradient background, ... */
|
||||
@media screen and (max-width: 700px) {
|
||||
@@ -617,7 +606,6 @@ div.documentwrapper {
|
||||
.gray { color: #777 }
|
||||
.purple { color: #551a8b; font-weight: bold; }
|
||||
.red { color: #FF0000; }
|
||||
.green { color: #00FF00; }
|
||||
|
||||
/* Color based on the Name.Function (.nf) class from pygments.css. */
|
||||
.command { color: #005fd7 }
|
||||
@@ -633,10 +621,11 @@ div.documentwrapper {
|
||||
.prompt { color: #8f7902; }
|
||||
|
||||
kbd {
|
||||
background-color: var(--td-background);
|
||||
border: 1px solid;
|
||||
border-color: var(--sidebar-border-color);
|
||||
background-color: #f9f9f9;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: .2em;
|
||||
box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.1);
|
||||
color: #000;
|
||||
padding: 0.1em 0.3em;
|
||||
}
|
||||
|
||||
@@ -648,38 +637,91 @@ div.body .internal.reference:link {
|
||||
content: "$";
|
||||
}
|
||||
.footnote, .footnote-reference {
|
||||
background-color: var(--secondary-background);
|
||||
background-color: #ddddea;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--link-color: #5fb0fc;
|
||||
--text-color: #DDD;
|
||||
--main-background: #202028;
|
||||
--secondary-background: #112;
|
||||
--outer-background: linear-gradient(to top, #1f1f3f 0%,#051f3a 100%);
|
||||
--code-background: rgba(20, 20, 25, .2);
|
||||
--code-border: #536;
|
||||
--sidebar-border-color: #666;
|
||||
--secondary-link-color: #DDD;
|
||||
--highlight-background: #000;
|
||||
--td-background: #111;
|
||||
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 pre, code {
|
||||
border: 1px solid #536;
|
||||
}
|
||||
|
||||
.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: #DDD;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h3 a, div.related a, div.sphinxsidebar h3, div.footer a {
|
||||
color: #DDD;
|
||||
}
|
||||
.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: #DDD;
|
||||
}
|
||||
|
||||
dt:target, span.highlighted {
|
||||
background-color: #404060;
|
||||
}
|
||||
table.docutils {
|
||||
border: 1px solid #222;
|
||||
}
|
||||
|
||||
table.docutils td, table.docutils th {
|
||||
border: 1px solid #222 !important;
|
||||
}
|
||||
div.body a {
|
||||
color: #2092fa;
|
||||
}
|
||||
|
||||
/* Color based on the Name.Function (.nf) class from pygments.css. */
|
||||
.command { color: #008fd7 }
|
||||
|
||||
/* The table background on fishfish Beta r1 */
|
||||
th, dl.field-list > dt {
|
||||
background-color: #121;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: rgba(200, 200, 255, .2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
|
||||
.highlight .k { color: #204a87; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #005F66; } /* Operator */
|
||||
.highlight .p { color: #000f8f; } /* Punctuation */
|
||||
.highlight .c { color: #575757; font-style: italic; } /* Comment */
|
||||
.highlight .ch { color: #645502; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #645502; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #645502; font-style: italic } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #645502; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #645502; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #645502; font-style: italic } /* Comment.Special */
|
||||
.highlight .o { color: #00a6b2; } /* Operator */
|
||||
.highlight .p { color: #00bfff; } /* Punctuation */
|
||||
.highlight .c { color: #777; font-style: italic; } /* Comment */
|
||||
.highlight .ch { color: #8f7902; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #8f7902; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #8f7902; font-style: italic } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #8f7902; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #8f7902; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #8f7902; font-style: italic } /* Comment.Special */
|
||||
.highlight .gd { color: #a40000 } /* Generic.Deleted */
|
||||
.highlight .gr { color: #ef2929 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .gp { color: #8f7902 } /* Generic.Prompt */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
|
||||
.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */
|
||||
@@ -23,15 +24,15 @@
|
||||
.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */
|
||||
.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */
|
||||
.highlight .s { color: #2F5B06 } /* Literal.String */
|
||||
.highlight .s { color: #4e9a06 } /* Literal.String */
|
||||
.highlight .na { color: #c4a000 } /* Name.Attribute */
|
||||
.highlight .nb { color: #204a87 } /* Name.Builtin */
|
||||
.highlight .no { color: #000f8f } /* Name.Constant */
|
||||
.highlight .no { color: #00bfff } /* Name.Constant */
|
||||
.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */
|
||||
.highlight .ni { color: #ce5c00 } /* Name.Entity */
|
||||
.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #004BCC; } /* Name.Function */
|
||||
.highlight .nl { color: #f57900; } /* Name.Label */
|
||||
.highlight .nf { color: #005fd7 } /* Name.Function */
|
||||
.highlight .nl { color: #f57900 } /* Name.Label */
|
||||
.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */
|
||||
.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #f8f8f8; } /* Text.Whitespace */
|
||||
@@ -45,13 +46,13 @@
|
||||
.highlight .sc { color: #4e9a06 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #8f7902; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #2E6506 } /* Literal.String.Double */
|
||||
.highlight .se { color: #800400 } /* Literal.String.Escape */
|
||||
.highlight .s2 { color: #4daf08 } /* Literal.String.Double */
|
||||
.highlight .se { color: #00a6b2 } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #4e9a06 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #605000 } /* Literal.String.Single */
|
||||
.highlight .s1 { color: #d0d00b } /* Literal.String.Single */
|
||||
.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
|
||||
.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */
|
||||
@@ -65,26 +66,12 @@
|
||||
:root {
|
||||
--contrast: #FFFFFF;
|
||||
}
|
||||
.highlight .no { color: #00bfff } /* Name.Constant */
|
||||
.highlight .p { color: #00bfff; } /* Punctuation */
|
||||
.highlight .k { color: #60A3BE; font-weight: bold } /* Keyword */
|
||||
.highlight .nf { color: #00a0ff } /* Name.Function */
|
||||
.highlight .nb { color: #A0AfF7 } /* Name.Builtin - we don't emit this, it's for bash scripts*/
|
||||
.highlight .s { color: #4eFa06 } /* Literal.String */
|
||||
.highlight .s1 { color: #a0a00b } /* Literal.String.Single */
|
||||
.highlight .k { color: #507a97; font-weight: bold } /* Keyword */
|
||||
.highlight .nf { color: #008fd7 } /* Name.Function */
|
||||
.highlight .nb { color: #209a87 } /* Name.Builtin */
|
||||
.highlight .s2 { color: #9ce781 } /* Literal.String.Double */
|
||||
.highlight .c { color: #969696; font-style: italic; } /* Comment */
|
||||
.highlight .ch { color: #b19602; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #b19602; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #b19602; font-style: italic } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #b19602; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #b19602; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #b19602; font-style: italic } /* Comment.Special */
|
||||
.highlight .o { color: #00F6b2; } /* Operator */
|
||||
.highlight .se { color: #00a6b2 } /* Literal.String.Escape */
|
||||
}
|
||||
.highlight .g { color: var(--contrast) } /* Generic */
|
||||
.highlight .gp { color: var(--contrast) } /* Generic.Prompt */
|
||||
.highlight .l { color: var(--contrast) } /* Literal */
|
||||
.highlight .n { color: var(--contrast) } /* Name */
|
||||
.highlight .x { color: var(--contrast) } /* Other */
|
||||
|
||||
@@ -28,8 +28,6 @@ BuildRequires: glibc-langpack-en
|
||||
%endif
|
||||
BuildRequires: python3 procps
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
%if 0%{?rhel} && 0%{?rhel} < 8
|
||||
Requires: python
|
||||
%else
|
||||
|
||||
219
po/de.po
219
po/de.po
@@ -4,19 +4,33 @@
|
||||
# Hermann J. Beckers <hj.beckers@onlinehome.de>, 2006.
|
||||
# Benjamin Weis <benjamin.weis@gmx.com>, 2013
|
||||
#
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/exif.fish:1
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/exif.fish:2
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/exif.fish:3
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/exif.fish:4
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/exif.fish:5
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/meson.fish:1
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/meson.fish:2
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/meson.fish:3
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/rustc.fish:3
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/rustc.fish:4
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/rustc.fish:5
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/rustc.fish:6
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/rustc.fish:7
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/rustc.fish:8
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: de\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-12-23 11:20+0100\n"
|
||||
"PO-Revision-Date: 2023-06-01 23:33+0200\n"
|
||||
"PO-Revision-Date: 2013-11-01 18:36+0100\n"
|
||||
"Last-Translator: Fabian Homborg\n"
|
||||
"Language-Team: deutsch <de@li.org>\n"
|
||||
"Language: de\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.3.1\n"
|
||||
"X-Generator: Lokalize 1.5\n"
|
||||
|
||||
#: src/ast.cpp:685 src/ast.cpp:706
|
||||
#, c-format
|
||||
@@ -150,7 +164,7 @@ msgstr "Die Anzahl Argumente zählen"
|
||||
|
||||
#: src/builtin.cpp:376
|
||||
msgid "Remove job from job list"
|
||||
msgstr "Job aus der Jobliste entfernen"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:377
|
||||
msgid "Print arguments"
|
||||
@@ -162,7 +176,7 @@ msgstr "Werte Block aus, wenn die Bedingung falsch ist"
|
||||
|
||||
#: src/builtin.cpp:379
|
||||
msgid "Emit an event"
|
||||
msgstr "Ein Ereignis auslösen"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:380
|
||||
msgid "End a block of commands"
|
||||
@@ -170,7 +184,7 @@ msgstr "Befehlsblock beenden"
|
||||
|
||||
#: src/builtin.cpp:381
|
||||
msgid "Evaluate a string as a statement"
|
||||
msgstr "Eine Zeichenfolge als Befehl ausführen"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:382
|
||||
msgid "Run command in current process"
|
||||
@@ -214,7 +228,7 @@ msgstr "Derzeit laufende Jobs ausgeben"
|
||||
|
||||
#: src/builtin.cpp:392
|
||||
msgid "Evaluate math expressions"
|
||||
msgstr "Mathematische Formel berechnen"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:393
|
||||
msgid "Negate exit status of job"
|
||||
@@ -226,15 +240,15 @@ msgstr "Befehl ausführen, wenn vorheriger Befehl fehlerhaft war"
|
||||
|
||||
#: src/builtin.cpp:395
|
||||
msgid "Handle paths"
|
||||
msgstr "Pfade behandeln"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:396
|
||||
msgid "Prints formatted text"
|
||||
msgstr "Formatierten Text ausgeben"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:397
|
||||
msgid "Print the working directory"
|
||||
msgstr "Das Arbeitsverzeichnis ausgeben"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:398
|
||||
msgid "Generate random number"
|
||||
@@ -246,7 +260,7 @@ msgstr "Eine Eingabezeile in Variablen einlesen"
|
||||
|
||||
#: src/builtin.cpp:400
|
||||
msgid "Show absolute path sans symlinks"
|
||||
msgstr "Absoluten Pfad ohne symbolische Verknüpfungen anzeigen"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:401
|
||||
msgid "Stop the currently evaluated function"
|
||||
@@ -270,11 +284,11 @@ msgstr "Strings manipulieren"
|
||||
|
||||
#: src/builtin.cpp:407
|
||||
msgid "Conditionally run blocks of code"
|
||||
msgstr "Anweisungsblock bedingungsabhängig ausführen"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:409
|
||||
msgid "Measure how long a command or block takes"
|
||||
msgstr "Dauer der Ausführung eines Befehls oder Blocks messen"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:411
|
||||
msgid "Check if a thing is a thing"
|
||||
@@ -282,11 +296,11 @@ msgstr ""
|
||||
|
||||
#: src/builtin.cpp:412
|
||||
msgid "Get/set resource usage limits"
|
||||
msgstr "Ressourcen-Limits abfragen/setzen"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:413
|
||||
msgid "Wait for background processes completed"
|
||||
msgstr "Auf den Abschluss von Hintergrundprozessen warten"
|
||||
msgstr ""
|
||||
|
||||
#: src/builtin.cpp:414
|
||||
msgid "Perform a command multiple times"
|
||||
@@ -304,52 +318,53 @@ msgstr "Heimordner für %ls"
|
||||
#: src/complete.cpp:63
|
||||
#, c-format
|
||||
msgid "Variable: %ls"
|
||||
msgstr "Variable: %ls"
|
||||
msgstr ""
|
||||
|
||||
#: src/complete.cpp:66
|
||||
#, c-format
|
||||
msgid "Abbreviation: %ls"
|
||||
msgstr "Abkürzung: %ls"
|
||||
msgstr ""
|
||||
|
||||
#: src/complete.cpp:1514
|
||||
msgid "completion reached maximum recursion depth, possible cycle?"
|
||||
msgstr "Vervollständigung hat die maximale Rekursionstiefe erreicht, möglicher Kreis?"
|
||||
msgstr ""
|
||||
|
||||
#: src/env.cpp:1340
|
||||
msgid "Could not determine current working directory. Is your locale set correctly?"
|
||||
msgstr "Das aktuelle Arbeitsverzeichnis konnte nicht bestimmt werden. Ist die locale korrekt eingestellt?"
|
||||
msgid ""
|
||||
"Could not determine current working directory. Is your locale set correctly?"
|
||||
msgstr ""
|
||||
|
||||
#: src/env_dispatch.cpp:471
|
||||
#, c-format
|
||||
msgid "Using fallback terminal type '%s'."
|
||||
msgstr "Nutze Rückfallterminaltyp '%s'."
|
||||
msgstr ""
|
||||
|
||||
#: src/env_dispatch.cpp:474
|
||||
#, c-format
|
||||
msgid "Could not set up terminal using the fallback terminal type '%s'."
|
||||
msgstr "Konnte mit dem Rückfallterminaltyp '%s' kein Terminal einrichten."
|
||||
msgstr ""
|
||||
|
||||
#: src/env_dispatch.cpp:575
|
||||
msgid "Could not set up terminal."
|
||||
msgstr "Konnte das Terminal nicht einrichten"
|
||||
msgstr ""
|
||||
|
||||
#: src/env_dispatch.cpp:577
|
||||
msgid "TERM environment variable not set."
|
||||
msgstr "TERM-Umgebungsvariable nicht gesetzt."
|
||||
msgstr ""
|
||||
|
||||
#: src/env_dispatch.cpp:579
|
||||
#, c-format
|
||||
msgid "TERM environment variable set to '%ls'."
|
||||
msgstr "TERM-Umgebungsvariable auf '%ls' gesetzt."
|
||||
msgstr ""
|
||||
|
||||
#: src/env_dispatch.cpp:581
|
||||
msgid "Check that this terminal type is supported on this system."
|
||||
msgstr "Überprüfe, ob dieser Terminaltyp auf diesem System unterstützt wird."
|
||||
msgstr ""
|
||||
|
||||
#: src/env_universal_common.cpp:425
|
||||
#, c-format
|
||||
msgid "Unable to write to universal variables file '%ls': %s"
|
||||
msgstr "Die Universal-Variablen-Datei '%ls' kann nicht geschrieben werden: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/env_universal_common.cpp:441
|
||||
#, c-format
|
||||
@@ -359,17 +374,19 @@ msgstr "Konnte Datei '%ls' nicht zu '%ls' umbenennen: %s"
|
||||
#: src/env_universal_common.cpp:485
|
||||
#, c-format
|
||||
msgid "Unable to open temporary file '%ls': %s"
|
||||
msgstr "Die temporäre Datei '%ls' kann nicht geöffnet werden: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/env_universal_common.cpp:499
|
||||
#, c-format
|
||||
msgid "Locking the universal var file took too long (%.3f seconds)."
|
||||
msgstr "Die Datei für universelle Variablen zu sperren dauerte zu lange (%.3f Sekunden)"
|
||||
msgstr ""
|
||||
"Die Datei für universelle Variablen zu sperren dauerte zu lange (%.3f "
|
||||
"Sekunden)"
|
||||
|
||||
#: src/env_universal_common.cpp:542
|
||||
#, c-format
|
||||
msgid "Unable to open universal variable file '%s': %s"
|
||||
msgstr "Die Universal-Variablen-Datei '%s' kann nicht geöffnet werden: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/env_universal_common.cpp:920
|
||||
#, c-format
|
||||
@@ -394,12 +411,12 @@ msgstr ""
|
||||
#: src/env_universal_common.cpp:1134
|
||||
#, c-format
|
||||
msgid "Unable to make a pipe for universal variables using '%ls': %s"
|
||||
msgstr "Kann keine Pipe für die universalen Variablen über '%ls' anlegen: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/env_universal_common.cpp:1142
|
||||
#, c-format
|
||||
msgid "Unable to open a pipe for universal variables using '%ls': %s"
|
||||
msgstr "Kann keine Pipe für die universalen Variablen über '%ls' öffnen: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/event.cpp:184
|
||||
#, c-format
|
||||
@@ -446,7 +463,7 @@ msgstr ""
|
||||
|
||||
#: src/expand.cpp:555
|
||||
msgid "Mismatched braces"
|
||||
msgstr "Unpassende Klammern"
|
||||
msgstr ""
|
||||
|
||||
#: src/fish.cpp:395
|
||||
#, c-format
|
||||
@@ -460,12 +477,12 @@ msgstr "Kann den no-execute Modus nicht in einer interaktiven Sitzung nutzen"
|
||||
#: src/fish.cpp:581
|
||||
#, c-format
|
||||
msgid "Error reading script file '%s':"
|
||||
msgstr "Die Script-Datei '%s' kann nicht gelesen werden:"
|
||||
msgstr ""
|
||||
|
||||
#: src/fish.cpp:595
|
||||
#, c-format
|
||||
msgid "Error while reading file %ls\n"
|
||||
msgstr "Fehler beim Lesen der Datei %ls\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/fish_indent.cpp:932 src/fish_key_reader.cpp:317
|
||||
#, c-format
|
||||
@@ -491,7 +508,7 @@ msgstr "Öffnen von \"%s\" fehlgeschlagen: %s\n"
|
||||
#: src/fish_indent.cpp:1072
|
||||
#, c-format
|
||||
msgid "%s\n"
|
||||
msgstr "%s\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/history.cpp:381
|
||||
#, c-format
|
||||
@@ -501,41 +518,41 @@ msgstr "Sperren der Geschichts-Datei dauerte zu lang (%.3f Sekunden)."
|
||||
#: src/history.cpp:887
|
||||
#, c-format
|
||||
msgid "Error when renaming history file: %s"
|
||||
msgstr "Fehler beim Umbenennen der Verlaufsdatei: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/history.cpp:1285
|
||||
#, c-format
|
||||
msgid "History session ID '%ls' is not a valid variable name. "
|
||||
msgstr "Verlaufssitzungs-ID '%ls' ist kein gültiger Variablenname."
|
||||
msgstr ""
|
||||
|
||||
#: src/io.cpp:25
|
||||
#, c-format
|
||||
msgid "An error occurred while redirecting file '%ls'"
|
||||
msgstr "Bei der Umleitung der Datei '%ls' ist ein Fehler aufgetreten"
|
||||
msgstr ""
|
||||
|
||||
#: src/io.cpp:26
|
||||
#, c-format
|
||||
msgid "The file '%ls' already exists"
|
||||
msgstr "Die Datei '%ls' existiert bereits"
|
||||
msgstr ""
|
||||
|
||||
#: src/io.cpp:254
|
||||
#, c-format
|
||||
msgid "Path '%ls' is not a directory"
|
||||
msgstr "Pfad '%ls' ist kein Ordner"
|
||||
msgstr ""
|
||||
|
||||
#: src/io.cpp:257
|
||||
#, c-format
|
||||
msgid "Path '%ls' does not exist"
|
||||
msgstr "Pfad '%ls' nicht gefunden"
|
||||
msgstr ""
|
||||
|
||||
#: src/output.cpp:434
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "Tried to use terminfo string %s on line %ld of %s, which is "
|
||||
msgstr "Versucht, terminfo Text %s in Zeile %ld von %s zu nutzen, welcher undefiniert ist. Bitte melde diesen Fehler."
|
||||
msgstr ""
|
||||
|
||||
#: src/pager.cpp:45
|
||||
msgid "search: "
|
||||
msgstr "Suche: "
|
||||
msgstr ""
|
||||
|
||||
#: src/pager.cpp:541
|
||||
#, c-format
|
||||
@@ -549,31 +566,32 @@ msgstr "Zeilen %lu bis %lu von %lu"
|
||||
|
||||
#: src/pager.cpp:551
|
||||
msgid "(no matches)"
|
||||
msgstr "(keine Treffer)"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_execution.cpp:524
|
||||
#, c-format
|
||||
msgid "switch: Expected at most one argument, got %lu\n"
|
||||
msgstr "switch: Erwartet höchstens einen Parameter, aber %lu angegeben\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_execution.cpp:740
|
||||
#, c-format
|
||||
msgid "Unknown command. A component of '%ls' is not a directory. Check your $PATH."
|
||||
msgstr "Befehl nicht gefunden. Ein Element von '%ls' ist kein Verzeichnis. Überprüfe deinen $PATH"
|
||||
msgid ""
|
||||
"Unknown command. A component of '%ls' is not a directory. Check your $PATH."
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_execution.cpp:744
|
||||
#, c-format
|
||||
msgid "Unknown command. A component of '%ls' is not a directory."
|
||||
msgstr "Befehl nicht gefunden. Eine Komponente von '%ls' ist kein Verzeichnis."
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_execution.cpp:750
|
||||
#, c-format
|
||||
msgid "Unknown command. '%ls' exists but is not an executable file."
|
||||
msgstr "Befehl nicht gefunden. '%ls' existiert, ist aber keine ausführbare Datei."
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_execution.cpp:791
|
||||
msgid "Unknown command:"
|
||||
msgstr "Befehl nicht gefunden:"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_execution.cpp:839
|
||||
msgid "The expanded command was empty."
|
||||
@@ -582,38 +600,38 @@ msgstr ""
|
||||
#: src/parse_execution.cpp:1005
|
||||
#, c-format
|
||||
msgid "Invalid redirection: %ls"
|
||||
msgstr "Ungültige Umleitung: %ls"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_execution.cpp:1016
|
||||
#, c-format
|
||||
msgid "Invalid redirection target: %ls"
|
||||
msgstr "Ungültiges Umleitungsziel: %ls"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_execution.cpp:1027
|
||||
#, c-format
|
||||
msgid "Requested redirection to '%ls', which is not a valid file descriptor"
|
||||
msgstr "Umleitung zu '%ls' angefordert, dies ist aber kein gültiger Dateideskriptor"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_util.cpp:34
|
||||
#, c-format
|
||||
msgid "The '%ls' command can not be used immediately after a backgrounded job"
|
||||
msgstr "Der Befehl '%ls' kann nicht direkt nach einem Hintergrundjob aufgerufen werden"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_util.cpp:38
|
||||
msgid "Backgrounded commands can not be used as conditionals"
|
||||
msgstr "Hintergrundbefehle können nicht als Bedingungen benutzt werden"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_util.cpp:41
|
||||
msgid "'end' does not take arguments. Did you forget a ';'?"
|
||||
msgstr "'end' braucht keine Parameter. Fehlendes ';'?"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_util.cpp:44
|
||||
msgid "The 'time' command may only be at the beginning of a pipeline"
|
||||
msgstr "Der 'time' Befehl darf nur am Anfang einer Pipeline stehen"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_util.cpp:1180
|
||||
msgid "$status is not valid as a command. See `help conditions`"
|
||||
msgstr "$status ist kein gültiger Befehl. Siehe `help conditions`"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:166
|
||||
#, c-format
|
||||
@@ -627,35 +645,35 @@ msgstr "Zeit\tSum\tBefehl\n"
|
||||
#: src/parser.cpp:220
|
||||
#, c-format
|
||||
msgid "in function '%ls'"
|
||||
msgstr "in der Funktion '%ls'"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:235
|
||||
#, c-format
|
||||
msgid " with arguments '%ls'"
|
||||
msgstr "mit den Parametern '%ls'"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:242
|
||||
msgid "in command substitution\n"
|
||||
msgstr "in der Befehlsersetzung\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:248
|
||||
#, c-format
|
||||
msgid "from sourcing file %ls\n"
|
||||
msgstr "aus der Quelldatei %ls\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:256
|
||||
#, c-format
|
||||
msgid "in event handler: %ls\n"
|
||||
msgstr "im Ereignis-Handler: %ls\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:276
|
||||
#, c-format
|
||||
msgid "\tcalled on line %d of file %ls\n"
|
||||
msgstr "\taufgerufen in Zeile %d der Datei %ls\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:279
|
||||
msgid "\tcalled during startup\n"
|
||||
msgstr "\twährend des Starts aufgerufen\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:428
|
||||
#, c-format
|
||||
@@ -664,21 +682,21 @@ msgstr "%ls (Zeile %d): "
|
||||
|
||||
#: src/parser.cpp:431
|
||||
msgid "Startup"
|
||||
msgstr "Start"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:433
|
||||
msgid "Standard input"
|
||||
msgstr "Standardeingabe"
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:647
|
||||
#, c-format
|
||||
msgid "%ls (line %lu): "
|
||||
msgstr "%ls (Zeile %lu): "
|
||||
msgstr ""
|
||||
|
||||
#: src/parser.cpp:651
|
||||
#, c-format
|
||||
msgid "%ls: "
|
||||
msgstr "%ls: "
|
||||
msgstr ""
|
||||
|
||||
#: src/path.cpp:291
|
||||
#, c-format
|
||||
@@ -688,7 +706,8 @@ msgstr ""
|
||||
#: src/path.cpp:293
|
||||
#, c-format
|
||||
msgid "Please set the %ls or HOME environment variable before starting fish."
|
||||
msgstr "Bitte setzen sie %ls oder die HOME Umgebungsvariable bevor sie fish starten."
|
||||
msgstr ""
|
||||
"Bitte setzen sie %ls oder die HOME Umgebungsvariable bevor sie fish starten."
|
||||
|
||||
#: src/path.cpp:297
|
||||
#, c-format
|
||||
@@ -728,7 +747,8 @@ msgid "A second attempt to exit will terminate them.\n"
|
||||
msgstr "Ein zweites 'exit' wird sie beenden.\n"
|
||||
|
||||
#: src/proc.cpp:207
|
||||
msgid "Use 'disown PID' to remove jobs from the list without terminating them.\n"
|
||||
msgid ""
|
||||
"Use 'disown PID' to remove jobs from the list without terminating them.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/proc.cpp:900
|
||||
@@ -757,7 +777,8 @@ msgid "No TTY for interactive shell (tcgetpgrp failed)"
|
||||
msgstr "Kein TTY für interaktive Shell (tcgetpgrp schlug fehl)"
|
||||
|
||||
#: src/reader.cpp:2493
|
||||
msgid "I appear to be an orphaned process, so I am quitting politely. My pid is "
|
||||
msgid ""
|
||||
"I appear to be an orphaned process, so I am quitting politely. My pid is "
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.cpp:2535
|
||||
@@ -1092,17 +1113,23 @@ msgstr "Fehler beim Einrichten der Pipe aufgetreten"
|
||||
|
||||
#: src/parse_constants.h:229
|
||||
#, c-format
|
||||
msgid "The function '%ls' calls itself immediately, which would result in an infinite loop."
|
||||
msgstr "Die Funktion '%ls' ruft sich sofort selbst auf. Dies wäre eine Endlosschleife."
|
||||
msgid ""
|
||||
"The function '%ls' calls itself immediately, which would result in an "
|
||||
"infinite loop."
|
||||
msgstr ""
|
||||
"Die Funktion '%ls' ruft sich sofort selbst auf. Dies wäre eine "
|
||||
"Endlosschleife."
|
||||
|
||||
#: src/parse_constants.h:233
|
||||
msgid "The call stack limit has been exceeded. Do you have an accidental infinite loop?"
|
||||
msgid ""
|
||||
"The call stack limit has been exceeded. Do you have an accidental infinite "
|
||||
"loop?"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_constants.h:236
|
||||
#, c-format
|
||||
msgid "Unknown builtin '%ls'"
|
||||
msgstr "Unbekannter interner Befehl '%ls'"
|
||||
msgstr "unbekannter interner Befehl '%ls'"
|
||||
|
||||
#: src/parse_constants.h:239
|
||||
#, c-format
|
||||
@@ -1172,11 +1199,14 @@ msgid "Unsupported use of '='. In fish, please use 'set %ls %ls'."
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_constants.h:289
|
||||
msgid "'time' is not supported for background jobs. Consider using 'command time'."
|
||||
msgid ""
|
||||
"'time' is not supported for background jobs. Consider using 'command time'."
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_constants.h:293
|
||||
msgid "'{ ... }' is not supported for grouping commands. Please use 'begin; ...; end'"
|
||||
msgid ""
|
||||
"'{ ... }' is not supported for grouping commands. Please use 'begin; ...; "
|
||||
"end'"
|
||||
msgstr ""
|
||||
|
||||
#: src/parse_tree.h:63
|
||||
@@ -1286,7 +1316,8 @@ msgid "Select directory by letter or number: "
|
||||
msgstr ""
|
||||
|
||||
#: /tmp/fish.i8YroE/explicit/share/functions/cdh.fish:6
|
||||
msgid "Error: expected a number between 1 and %d or letter in that range, got \"%s\""
|
||||
msgid ""
|
||||
"Error: expected a number between 1 and %d or letter in that range, got \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: /tmp/fish.i8YroE/explicit/share/functions/edit_command_buffer.fish:2
|
||||
@@ -5661,7 +5692,7 @@ msgstr "Inhalt der Konfigurationsdatei ausgeben"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-extracttemplates.fish:2
|
||||
msgid "Set temp dir"
|
||||
msgstr "Temp-Verzeichnis festlegen"
|
||||
msgstr "temp-Verzeichnis festlegen"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-file.fish:2
|
||||
msgid "Resync package contents from source"
|
||||
@@ -5702,7 +5733,7 @@ msgstr "Architektur festlegen"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-file.fish:13
|
||||
msgid "Set sources.list file"
|
||||
msgstr "Sources.list-Datei festlegen"
|
||||
msgstr "sources.list-Datei angeben"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-file.fish:14
|
||||
msgid "Only display package name"
|
||||
@@ -6027,7 +6058,7 @@ msgstr "Zeitablauf für Zwischenspeicher angeben"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-listbugs.fish:19
|
||||
msgid "Specify apt config file"
|
||||
msgstr "Apt-Konfigurationsdatei angeben"
|
||||
msgstr "apt-Konfigurationsdatei angeben"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-listbugs.fish:21
|
||||
msgid "Assume no to all questions"
|
||||
@@ -6202,7 +6233,7 @@ msgstr "Keine Meldungen auf Standardausgabe"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-proxy-import.fish:5
|
||||
msgid "Recurse into subdir"
|
||||
msgstr "In Unterverzeichnisse absteigen"
|
||||
msgstr "in Unterverzeichnis verzweigen"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-proxy-import.fish:6
|
||||
msgid "Dir to import"
|
||||
@@ -6230,7 +6261,7 @@ msgstr "Status der Abhängigkeiten anzeigen"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-rdepends.fish:5
|
||||
msgid "List packages depending on"
|
||||
msgstr "Pakete auflisten, die abhängen von"
|
||||
msgstr "Pakete auflisten, die abhängen von "
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/apt-rdepends.fish:6
|
||||
msgid "Comma-separated list of dependency types to follow recursively"
|
||||
@@ -13444,7 +13475,7 @@ msgstr ""
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/castnow.fish:14
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/mplayer.fish:7
|
||||
msgid "Play in random order"
|
||||
msgstr "In zufälliger Reihenfolge spielen"
|
||||
msgstr "in zufälliger Reihenfolge spielen"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/castnow.fish:15
|
||||
msgid "List all files in directories recursively"
|
||||
@@ -16107,7 +16138,7 @@ msgstr ""
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/complete.fish:5
|
||||
msgid "Old style long option to complete"
|
||||
msgstr "Zu vervollständigende lange Option im alten Format"
|
||||
msgstr "zu vervollständigende lange Option im alten Format"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/complete.fish:6
|
||||
msgid "Don't use file completion"
|
||||
@@ -22526,9 +22557,10 @@ msgstr "Änderung in der Anzahl von Worttrennern ignorieren"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/diff.fish:6
|
||||
msgid "Ignore all white space"
|
||||
msgstr "Alle Leerräume (Worttrenner) ignorieren"
|
||||
msgstr "white space (Worttrenner) ignorieren"
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/diff.fish:7 /tmp/fish.i8YroE/implicit/share/completions/git.fish:36
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/diff.fish:7
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/git.fish:36
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/git.fish:802
|
||||
msgid "Ignore changes whose lines are all blank"
|
||||
msgstr "Änderungen ignorieren, deren Zeilen alle leer sind"
|
||||
@@ -23230,7 +23262,8 @@ msgid "Skip the interactive TUI and validate against CI rules"
|
||||
msgstr ""
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/dive.fish:2
|
||||
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
|
||||
msgid ""
|
||||
"If CI=true in the environment, use the given yaml to drive validation rules"
|
||||
msgstr ""
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/dive.fish:3
|
||||
@@ -23254,7 +23287,9 @@ msgid "Ignore image parsing errors and run the analysis anyway"
|
||||
msgstr ""
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/dive.fish:8
|
||||
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
|
||||
msgid ""
|
||||
"Skip the interactive TUI and write the layer analysis statistics to a given "
|
||||
"file"
|
||||
msgstr ""
|
||||
|
||||
#: /tmp/fish.i8YroE/implicit/share/completions/dive.fish:9
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
function __fish_adb_no_subcommand -d 'Test if adb has yet to be given the subcommand'
|
||||
for i in (commandline -opc)
|
||||
if contains -- $i connect disconnect devices push pull sync shell emu logcat install uninstall jdwp forward bugreport backup restore version help start-server kill-server remount reboot get-state get-serialno get-devpath status-window root usb tcpip ppp sideload reconnect unroot exec-out
|
||||
if contains -- $i connect disconnect devices push pull sync shell emu logcat install uninstall jdwp forward bugreport backup restore version help start-server kill-server remount reboot get-state get-serialno get-devpath status-window root usb tcpip ppp sideload reconnect
|
||||
return 1
|
||||
end
|
||||
end
|
||||
@@ -14,7 +14,7 @@ function __fish_adb_get_devices -d 'Run adb devices and parse output'
|
||||
set -l procs (ps -Ao comm= | string match 'adb')
|
||||
# Don't run adb devices unless the server is already started - it takes a while to init
|
||||
if set -q procs[1]
|
||||
adb devices -l | string replace -rf '(\S+).*product:(\S+).*model:(\S+).*' '$1'\t'$2 $3'
|
||||
adb devices -l | string replace -rf '(\S+).*model:(\S+).*' '$1'\t'$2'
|
||||
end
|
||||
end
|
||||
|
||||
@@ -74,22 +74,11 @@ function __fish_adb_list_files
|
||||
end
|
||||
|
||||
# Return list of directories suffixed with '/'
|
||||
__fish_adb_run_command find -H "$token*" -maxdepth 0 -type d 2\>/dev/null | awk '{print $0"/"}'
|
||||
__fish_adb_run_command find -H "$token*" -maxdepth 0 -type d 2\>/dev/null | awk '{print $1"/"}'
|
||||
# Return list of files
|
||||
__fish_adb_run_command find -H "$token*" -maxdepth 0 -type f 2\>/dev/null
|
||||
end
|
||||
|
||||
function __fish_adb_list_bin
|
||||
# list all binary without group
|
||||
__fish_adb_run_command ls -1 /system/bin/ 2\>/dev/null
|
||||
__fish_adb_run_command ls -1 /system/xbin/ 2\>/dev/null
|
||||
|
||||
end
|
||||
|
||||
function __fish_adb_list_properties
|
||||
__fish_adb_run_command getprop | string match -rg '\[(.*)\]:'
|
||||
end
|
||||
|
||||
# Generic options, must come before command
|
||||
complete -n __fish_adb_no_subcommand -c adb -o a -d 'Listen on all network interfaces'
|
||||
complete -n __fish_adb_no_subcommand -c adb -o d -d 'Use first USB device'
|
||||
@@ -129,13 +118,11 @@ complete -f -n __fish_adb_no_subcommand -c adb -a get-serialno -d 'Prints serial
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a get-devpath -d 'Prints device path'
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a status-window -d 'Continuously print the device status'
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a root -d 'Restart the adbd daemon with root permissions'
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a unroot -d 'Restart the adbd daemon without root permissions'
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a usb -d 'Restart the adbd daemon listening on USB'
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a tcpip -d 'Restart the adbd daemon listening on TCP'
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a ppp -d 'Run PPP over USB'
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a sideload -d 'Sideloads the given package'
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a reconnect -d 'Kick current connection from host side and make it reconnect.'
|
||||
complete -f -n __fish_adb_no_subcommand -c adb -a exec-out -d 'Execute a command on the device and send its stdout back'
|
||||
|
||||
# install options
|
||||
complete -n '__fish_seen_subcommand_from install' -c adb -s l -d 'Forward-lock the app'
|
||||
@@ -220,11 +207,3 @@ complete -n '__fish_seen_subcommand_from logcat' -c adb -s e -l regex -d 'Only p
|
||||
complete -n '__fish_seen_subcommand_from logcat' -c adb -s m -l max-count -d 'Quit after print <count> lines'
|
||||
complete -n '__fish_seen_subcommand_from logcat' -c adb -l print -d 'Print all message even if they do not matches, requires --regex and --max-count'
|
||||
complete -n '__fish_seen_subcommand_from logcat' -c adb -l uid -d 'Only display log messages from UIDs present in the comma separate list <uids>'
|
||||
|
||||
# commands that accept listing device binaries
|
||||
complete -n '__fish_seen_subcommand_from exec-out' -c adb -f -a "(__fish_adb_list_bin)" -d "Command on device"
|
||||
complete -n '__fish_seen_subcommand_from shell' -c adb -f -a "(__fish_adb_list_bin)" -d "Command on device"
|
||||
|
||||
# setprop and getprop in shell
|
||||
complete -n '__fish_seen_subcommand_from setprop' -c adb -f -a "(__fish_adb_list_properties)" -d 'Property to set'
|
||||
complete -n '__fish_seen_subcommand_from getprop' -c adb -f -a "(__fish_adb_list_properties)" -d 'Property to get'
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
complete -c age-keygen -s o -l output -n "not __fish_contains_opt -s o output" -d "output file for secret key"
|
||||
complete -c age-keygen -s y -n "not __fish_contains_opt -s y" -d "read identity file, print recipient(s)"
|
||||
complete -c age -l version -d "print version number"
|
||||
@@ -1,9 +0,0 @@
|
||||
complete -c age -s e -l encrypt -n "not __fish_contains_opt -s d decrypt" -d "encrypt"
|
||||
complete -c age -s r -l recipient -n "not __fish_contains_opt -s d decrypt; and not __fish_contains_opt -s p passphrase" -d "public key"
|
||||
complete -c age -s R -l recipients-file -n "not __fish_contains_opt -s d decrypt; and not __fish_contains_opt -s p passphrase" -d "file with public key(s)"
|
||||
complete -c age -s a -l armor -n "not __fish_contains_opt -s d decrypt" -d "PEM encode ciphertext"
|
||||
complete -c age -s p -l passphrase -n "not __fish_contains_opt -s d decrypt; and not __fish_contains_opt -s r recipient -s R recipients-file" -d "passphrase"
|
||||
complete -c age -s d -l decrypt -n "not __fish_contains_opt -s e encrypt" -d "decrypt"
|
||||
complete -c age -s i -l identity -n "__fish_contains_opt -s e encrypt -s d decrypt" -d "file with private key(s)"
|
||||
complete -c age -s j -n "__fish_contains_opt -s e encrypt -s d decrypt" -d "plugin"
|
||||
complete -c age -l version -d "print version number"
|
||||
@@ -1,6 +0,0 @@
|
||||
#airmon-ng
|
||||
|
||||
set -l commands "start stop check"
|
||||
complete -c airmon-ng -x -n "not __fish_seen_subcommand_from $commands" -a "$commands"
|
||||
complete -c airmon-ng -x -n "__fish_seen_subcommand_from $commands; and not __fish_seen_subcommand_from (__fish_print_interfaces)" -a "(__fish_print_interfaces)"
|
||||
complete -c airmon-ng -f
|
||||
@@ -8,7 +8,7 @@ complete -c ansible -s f -l forks -a "(seq 0 100)" -d "Number of parallel proces
|
||||
complete -c ansible -s h -l help -d "Shows a help message"
|
||||
complete -c ansible -s i -l inventory -r -d "Specify inventory host path or comma separated host list"
|
||||
complete -c ansible -s l -l limit -r -d "Further limit selected hosts to an additional pattern"
|
||||
complete -c ansible -l list-hosts -r -d "List all matching hosts"
|
||||
complete -c ansible -l limit-hosts -r -d "List all matching hosts"
|
||||
complete -c ansible -s m -l module-name -r -d "Module name to execute (default=command)"
|
||||
complete -c ansible -s M -l module-path -r -d "Specify path(s) to module library (default=None)"
|
||||
complete -c ansible -l new-vault-password-file -f -d "New vault password file for rekey"
|
||||
|
||||
@@ -36,7 +36,6 @@ complete -f -n __fish_apt_no_subcommand -c apt-get -a clean -d 'Clean local cach
|
||||
complete -f -n __fish_apt_no_subcommand -c apt-get -a autoclean -d 'Clean packages no longer be downloaded'
|
||||
complete -f -n __fish_apt_no_subcommand -c apt-get -a autoremove -d 'Remove automatically installed packages'
|
||||
complete -c apt-get -l no-install-recommends -d 'Do not install recommended packages'
|
||||
complete -c apt-get -l no-install-suggests -d 'Do not install suggested packages'
|
||||
complete -c apt-get -s d -l download-only -d 'Download Only'
|
||||
complete -c apt-get -s f -l fix-broken -d 'Correct broken dependencies'
|
||||
complete -c apt-get -s m -l fix-missing -d 'Ignore missing packages'
|
||||
@@ -44,12 +43,10 @@ complete -c apt-get -l no-download -d 'Disable downloading packages'
|
||||
complete -c apt-get -s q -l quiet -d 'Quiet mode'
|
||||
complete -c apt-get -s s -l simulate -l just-print -l dry-run -l recon -l no-act -d 'Perform a simulation'
|
||||
complete -c apt-get -s y -l yes -l assume-yes -d 'Automatic yes to prompts'
|
||||
complete -c apt-get -l assume-no -d 'Automatic no to prompts'
|
||||
complete -c apt-get -s u -l show-upgraded -d 'Show upgraded packages'
|
||||
complete -c apt-get -s V -l verbose-versions -d 'Show full versions for packages'
|
||||
complete -c apt-get -s b -l compile -l build -d 'Compile source packages'
|
||||
complete -c apt-get -l install-recommends -d 'Install recommended packages'
|
||||
complete -c apt-get -l install-suggests -d 'Install suggested packages'
|
||||
complete -c apt-get -l ignore-hold -d 'Ignore package Holds'
|
||||
complete -c apt-get -l no-upgrade -d "Do not upgrade packages"
|
||||
complete -c apt-get -l force-yes -d 'Force yes'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Completions for the `apt` command
|
||||
|
||||
# macOS has a /usr/bin/apt that is something else entirely:
|
||||
# macOS has a /usr/bin/apt that is something else entirely:
|
||||
# (apt - Returns the path to a Java home directory from the current user's settings)
|
||||
if [ "$(uname -s)" = Darwin -a "$(command -s apt)" = /usr/bin/apt ]
|
||||
exit 1
|
||||
@@ -14,7 +14,7 @@ set -l handle_file_pkg_subcmds install
|
||||
function __fish_apt_subcommand -V all_subcmds
|
||||
set -l subcommand $argv[1]
|
||||
set -e argv[1]
|
||||
complete -f -c apt -n "not __fish_seen_subcommand_from $all_subcmds" -a $subcommand $argv
|
||||
complete -f -c apt -n "__fish_is_first_token" -a $subcommand $argv
|
||||
end
|
||||
|
||||
function __fish_apt_option
|
||||
@@ -33,22 +33,12 @@ end
|
||||
|
||||
complete -c apt -f
|
||||
|
||||
complete -k -c apt -n "__fish_seen_subcommand_from $pkg_subcmds" -a '(__fish_print_apt_packages | string match -re -- "(?:\\b|_)"(commandline -ct | string escape --style=regex) | head -n 250 | sort)'
|
||||
complete -c apt -n "__fish_seen_subcommand_from $installed_pkg_subcmds" -a '(__fish_print_apt_packages --installed | string match -re -- "(?:\\b|_)"(commandline -ct | string escape --style=regex) | head -n 250)'
|
||||
complete -k -c apt -n "__fish_seen_subcommand_from $handle_file_pkg_subcmds" -a '(__fish_complete_suffix .deb)'
|
||||
# We use -k to keep PWD directories (from the .deb completion) after packages, so we need to sort the packages
|
||||
complete -k -c apt -n "__fish_seen_subcommand_from $handle_file_pkg_subcmds" -kxa '(__fish_complete_suffix .deb)'
|
||||
complete -k -c apt -n "__fish_seen_subcommand_from $pkg_subcmds" -kxa '(__fish_print_apt_packages | sort)'
|
||||
complete -c apt -n "__fish_seen_subcommand_from $installed_pkg_subcmds" -kxa '(__fish_print_apt_packages --installed | sort)'
|
||||
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -l no-install-recommends -d 'Do not install recommended packages'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -l no-install-suggests -d 'Do not install suggested packages'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -s d -l download-only -d 'Download Only'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -s f -l fix-broken -d 'Correct broken dependencies'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -s m -l fix-missing -d 'Ignore missing packages'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -l no-download -d 'Disable downloading packages'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -s q -l quiet -d 'Quiet mode'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -s s -l simulate -l just-print -l dry-run -l recon -l no-act -d 'Perform a simulation'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -s y -l yes -l assume-yes -d 'Automatic yes to prompts'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -l assume-no -d 'Automatic no to prompts'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -l install-recommends -d 'Install recommended packages'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -l install-suggests -d 'Install suggested packages'
|
||||
complete -c apt -n "__fish_seen_subcommand_from install" -l no-install-recommends
|
||||
# This advanced flag is the safest way to upgrade packages that otherwise would have been kept back
|
||||
complete -c apt -n "__fish_seen_subcommand_from upgrade" -l with-new-pkgs
|
||||
|
||||
@@ -70,24 +60,15 @@ __fish_apt_option list -l all-versions -d 'Show all versions of any package'
|
||||
# Search
|
||||
__fish_apt_subcommand search -r -d 'Search for packages'
|
||||
|
||||
# Show
|
||||
# Search
|
||||
__fish_apt_subcommand show -r -d 'Show package information'
|
||||
|
||||
# Showsrc
|
||||
__fish_apt_subcommand showsrc -r -d 'Show source package information'
|
||||
|
||||
# Source
|
||||
__fish_apt_subcommand source -r -d 'Download source package'
|
||||
|
||||
# Install
|
||||
__fish_apt_subcommand install -r -d 'Install packages'
|
||||
__fish_apt_option install -l reinstall -d 'Reinstall package'
|
||||
|
||||
# Reinstall
|
||||
__fish_apt_subcommand reinstall -r -d 'Reinstall packages'
|
||||
|
||||
# Remove
|
||||
__fish_apt_subcommand remove -x -d 'Remove packages'
|
||||
__fish_apt_subcommand remove -r -d 'Remove packages'
|
||||
|
||||
# Edit sources
|
||||
__fish_apt_subcommand edit-sources -d 'Edit sources list'
|
||||
@@ -100,7 +81,6 @@ __fish_apt_subcommand upgrade -r -d 'Upgrade packages'
|
||||
|
||||
# Full Upgrade
|
||||
__fish_apt_subcommand full-upgrade -r -d 'Upgrade packages, removing others when needed'
|
||||
__fish_apt_subcommand dist-upgrade -r -d 'Upgrade packages, removing others when needed'
|
||||
|
||||
# Purge
|
||||
__fish_apt_subcommand purge -x -d 'Remove packages and delete their config files'
|
||||
@@ -111,15 +91,6 @@ __fish_apt_subcommand changelog -r -d 'Download and display package changelog'
|
||||
# Autoremove
|
||||
__fish_apt_subcommand autoremove -d 'Remove packages no longer needed as dependencies'
|
||||
|
||||
# Autoremove
|
||||
__fish_apt_subcommand autopurge -d 'Remove packages no longer needed as dependencies and delete their config files'
|
||||
|
||||
# Clean
|
||||
__fish_apt_subcommand clean -d 'Remove downloaded packages from cache'
|
||||
|
||||
# Autoclean
|
||||
__fish_apt_subcommand autoclean -d 'Remove obsolete packages from cache'
|
||||
|
||||
# Policy
|
||||
__fish_apt_subcommand policy -x -d 'Display source or package priorities'
|
||||
|
||||
@@ -129,13 +100,4 @@ __fish_apt_subcommand depends -r -d 'List package dependencies'
|
||||
# Rdepends
|
||||
__fish_apt_subcommand rdepends -r -d 'List package reverse dependencies'
|
||||
|
||||
# Download
|
||||
__fish_apt_subcommand download -x -d 'Download packages'
|
||||
|
||||
# Build-dep
|
||||
__fish_apt_subcommand build-dep -x -d 'Install packages needed to build the given package'
|
||||
|
||||
# Help
|
||||
__fish_apt_subcommand help -d 'Print help page'
|
||||
|
||||
functions -e __fish_apt_subcommand __fish_apt_option
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
function __single
|
||||
complete -f -c ar -n __fish_use_subcommand -a $argv[1] -d $argv[2] # no dash
|
||||
end
|
||||
|
||||
__single d "Delete modules from the archive."
|
||||
__single m "move members in an archive."
|
||||
__single p "Print the specified members of the archive, to the standard output file."
|
||||
__single q "Quick append; Historically, add the files member... to the end of archive, without checking for replacement."
|
||||
__single r "Insert the files member... into archive (with replacement)."
|
||||
__single s "Add an index to the archive, or update it if it already exists."
|
||||
__single t "Display a table listing the contents of archive, or those of the files listed in member."
|
||||
__single x "Extract members (named member) from the archive."
|
||||
|
||||
functions -e __single
|
||||
|
||||
# TODO add mod
|
||||
# A number of modifiers (mod) may immediately follow the p keyletter, to specify variations on an operation's behavior:
|
||||
# add dash
|
||||
# command format
|
||||
# ar [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file
|
||||
@@ -1,4 +1,12 @@
|
||||
complete -x -c asciidoctor -k -a "(__fish_complete_suffix .asciidoc .adoc .ad .asc .txt)"
|
||||
complete -x -c asciidoctor -k -a "
|
||||
(
|
||||
__fish_complete_suffix .asciidoc
|
||||
__fish_complete_suffix .adoc
|
||||
__fish_complete_suffix .ad
|
||||
__fish_complete_suffix .asc
|
||||
__fish_complete_suffix .txt
|
||||
)
|
||||
"
|
||||
|
||||
# Security Settings
|
||||
complete -c asciidoctor -s B -l base-dir -d "Base directory containing the document"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
complete -f -c at -s V -d "Display version and exit"
|
||||
complete -f -c at -s q -d "Use specified queue"
|
||||
complete -f -c at -s m -d "Send mail to user"
|
||||
complete -c at -s f -k -x -a "(__fish_complete_suffix --description='At job' '')" -d "Read job from file"
|
||||
complete -c at -s f -k -x -a "(__fish_complete_suffix (commandline -ct) '' 'At job')" -d "Read job from file"
|
||||
complete -f -c at -s l -d "Alias for atq"
|
||||
complete -f -c at -s d -d "Alias for atrm"
|
||||
complete -f -c at -s v -d "Show the time"
|
||||
|
||||
@@ -163,4 +163,6 @@ complete -c aura -n $sync -s y -l refresh -d 'Download fresh copy of the package
|
||||
complete -c aura -n "$sync; and $argument" -xa "$listall $listgroups"
|
||||
|
||||
# Upgrade options
|
||||
complete -c aura -n "$upgrade; and $argument" -k -xa '(__fish_complete_suffix pkg.tar.xz pkg.tar.gz pkg.tar.zst)' -d 'Package file'
|
||||
complete -c aura -n "$upgrade; and $argument" -k -xa '(__fish_complete_suffix pkg.tar.xz)' -d 'Package file'
|
||||
complete -c aura -n "$upgrade; and $argument" -k -xa '(__fish_complete_suffix pkg.tar.gz)' -d 'Package file'
|
||||
complete -c aura -n "$upgrade; and $argument" -k -xa '(__fish_complete_suffix pkg.tar.zst)' -d 'Package file'
|
||||
|
||||
@@ -1,175 +0,0 @@
|
||||
function __blender_player -d 'Check if -a option has been used, to run animation player'
|
||||
return (__fish_contains_opt -s a; and not __fish_contains_opt -s b background)
|
||||
end
|
||||
|
||||
function __blender_echo_input_file_name
|
||||
# Find last argument ending in .blend (or .blend1, etc.)
|
||||
# This is because a Blender invocation can open multiple blend file
|
||||
# sequentially, so we need to find the last one up to this point.
|
||||
set -l path (commandline -poc |
|
||||
string match -r '.*\\.blend[0-9]*$' |
|
||||
tail --lines=1)
|
||||
# Using eval to expand ~ and variables specified on the commandline.
|
||||
eval echo $path
|
||||
end
|
||||
|
||||
function __blender_list_scenes
|
||||
blender --background (__blender_echo_input_file_name) --python-expr 'import bpy
|
||||
for scene in bpy.data.scenes:
|
||||
print(f"\t{scene.name}")' 2>/dev/null |
|
||||
string replace -r -f '^\t' ''
|
||||
end
|
||||
|
||||
function __blender_list_texts
|
||||
blender --background (__blender_echo_input_file_name) --python-expr 'import bpy
|
||||
for text in bpy.data.texts:
|
||||
print(f"\t{text.name}")' 2>/dev/null |
|
||||
string replace -r -f '^\t' ''
|
||||
end
|
||||
|
||||
function __blender_list_engines
|
||||
blender --background --engine help 2>/dev/null | string replace -r -f '^\t' ''
|
||||
end
|
||||
|
||||
function __blender_list_addons
|
||||
blender --background --python-expr 'import addon_utils
|
||||
for mod in addon_utils.modules():
|
||||
print(f"\t{mod.__name__}")' 2>/dev/null |
|
||||
string replace -r -f '^\t' ''
|
||||
end
|
||||
|
||||
complete -c blender -n 'not __blender_player' -o h -l help -d 'Show help'
|
||||
complete -c blender -n 'not __blender_player' -o v -l version -d 'Show version'
|
||||
|
||||
# Render Options:
|
||||
complete -c blender -n 'not __blender_player' -o b -l background -d 'Hide UI'
|
||||
complete -c blender -n 'not __blender_player' -o a -l render-anim -d 'Render animation'
|
||||
complete -c blender -n 'not __blender_player; and test -e (__blender_echo_input_file_name)' -o S -l scene -a '(__blender_list_scenes)' -d 'Specify scene' -x
|
||||
complete -c blender -n 'not __blender_player' -o f -l render-frame -d 'Render specified frame(s)' -x
|
||||
|
||||
complete -c blender -n 'not __blender_player' -o s -l frame-start -d 'Specify start frame' -x
|
||||
complete -c blender -n 'not __blender_player' -o e -l frame-end -d 'Specify end frame' -x
|
||||
complete -c blender -n 'not __blender_player' -o j -l frame-jump -d 'Skip frame count' -x
|
||||
complete -c blender -n 'not __blender_player' -o o -l render-output -d 'Specify render output' -r
|
||||
complete -c blender -n 'not __blender_player' -o E -l engine -a '(__blender_list_engines)' -d 'Render engine' -x
|
||||
complete -c blender -n 'not __blender_player' -o t -l threads -d 'Specify thread count'
|
||||
|
||||
# Format Options:
|
||||
complete -c blender -n 'not __blender_player' -o F -l render-format -a 'TGA\tTarga
|
||||
RAWTGA\tTarga\ Raw
|
||||
JPEG\tJPEG
|
||||
IRIS\tIRIS
|
||||
AVIRAW\tAVI\ Raw
|
||||
AVIJPEG\tAVI\ with\ JPEG\ codec
|
||||
PNG\tPNG
|
||||
BMP\tBMP
|
||||
HDR\tHDR
|
||||
TIFF\tTIFF
|
||||
OPEN_EXR\tOpenEXR
|
||||
OPEN_EXR_MULTILAYER\tOpenEXR\ Multilayer
|
||||
FFMPEG\tFFmpeg\ Video
|
||||
CINEON\tCineon
|
||||
DPX\tDPX
|
||||
JP2\tJPEG\ 2000
|
||||
WEBP\tWebP' -d 'Specify render format' -x
|
||||
complete -c blender -n 'not __blender_player' -o x -l use-extension -a '0\tfalse
|
||||
1\ttrue' -d 'Whether to add a file extension to an end of a file' -x
|
||||
|
||||
# Animation Playback Options:
|
||||
complete -c blender -n 'not __blender_player' -o a -d 'Run as animation player'
|
||||
|
||||
complete -c blender -n '__blender_player' -o p -x -d 'Specify position and size'
|
||||
complete -c blender -n '__blender_player' -o m -d 'Read from disk (do not buffer)'
|
||||
complete -c blender -n '__blender_player' -o f -x -d 'Specify FPS to start with'
|
||||
complete -c blender -n '__blender_player' -o j -x -d 'Specify frame step'
|
||||
complete -c blender -n '__blender_player' -o s -x -d 'Specify start frame'
|
||||
complete -c blender -n '__blender_player' -o e -x -d 'Specify end frame'
|
||||
complete -c blender -n '__blender_player' -o c -x -d 'Memory in MB for cache'
|
||||
|
||||
# Window Options:
|
||||
complete -c blender -n 'not __blender_player' -o w -l window-border -d 'Show window borders'
|
||||
complete -c blender -n 'not __blender_player' -o W -l window-fullscreen -d 'Show in fullscreen'
|
||||
complete -c blender -n 'not __blender_player' -o p -l window-geometry -d 'Specify position and size' -x
|
||||
complete -c blender -n 'not __blender_player' -o M -l window-maximized -d 'Maximize window'
|
||||
complete -c blender -n 'not __blender_player' -o con -l start-console -d 'Open console'
|
||||
complete -c blender -n 'not __blender_player' -l no-native-pixels -d 'Do not use native pixel size'
|
||||
complete -c blender -n 'not __blender_player' -l no-window-focus -d 'Open unfocused'
|
||||
|
||||
# Python Options:
|
||||
complete -c blender -n 'not __blender_player' -o y -l enable-autoexec -d 'Enable Python scripts automatic execution'
|
||||
complete -c blender -n 'not __blender_player' -o Y -l disable-autoexec -d 'Disable Python scripts automatic execution'
|
||||
|
||||
complete -c blender -n 'not __blender_player' -o P -l python -d 'Specify Python script' -r
|
||||
complete -c blender -n 'not __blender_player; and test -e (__blender_echo_input_file_name)' -l python-text -a '(__blender_list_texts)' -d 'Specify Python text block' -x
|
||||
complete -c blender -n 'not __blender_player' -l python-expr -d 'Specify Python expression' -x
|
||||
complete -c blender -n 'not __blender_player' -l python-console -d 'Open interactive console'
|
||||
complete -c blender -n 'not __blender_player' -l python-exit-code -d 'Specify Python exit code on exception'
|
||||
complete -c blender -n 'not __blender_player' -l python-use-system-env -d 'Use system env vars and user site-packages'
|
||||
complete -c blender -n 'not __blender_player' -l addons -a '(__fish_append , (__blender_list_addons))' -d 'Specify addons' -x
|
||||
|
||||
# Logging Options:
|
||||
complete -c blender -n 'not __blender_player' -l log -d 'Enable logging categories' -x
|
||||
complete -c blender -n 'not __blender_player' -l log-level -d 'Specify log level' -x
|
||||
complete -c blender -n 'not __blender_player' -l log-show-basename -d 'Hide file leading path'
|
||||
complete -c blender -n 'not __blender_player' -l log-show-backtrace -d 'Show backtrace'
|
||||
complete -c blender -n 'not __blender_player' -l log-show-timestamp -d 'Show timestamp'
|
||||
complete -c blender -n 'not __blender_player' -l log-file -d 'Specify log file' -r
|
||||
|
||||
# Debug Options:
|
||||
complete -c blender -n 'not __blender_player' -o d -l debug -d 'Enable debugging'
|
||||
complete -c blender -n 'not __blender_player' -l debug-value -d 'Specify debug value'
|
||||
|
||||
complete -c blender -n 'not __blender_player' -l debug-events -d 'Enable debug messages from the event system'
|
||||
complete -c blender -n 'not __blender_player' -l debug-ffmpeg -d 'Enable debug messages from FFmpeg library'
|
||||
complete -c blender -n 'not __blender_player' -l debug-handlers -d 'Enable debug messages for event handling'
|
||||
complete -c blender -n 'not __blender_player' -l debug-libmv -d 'Enable debug messages for libmv library'
|
||||
complete -c blender -n 'not __blender_player' -l debug-cycles -d 'Enable debug messages for Cycles'
|
||||
complete -c blender -n 'not __blender_player' -l debug-memory -d 'Enable fully guarded memory allocation and debugging'
|
||||
complete -c blender -n 'not __blender_player' -l debug-jobs -d 'Enable time profiling for background jobs'
|
||||
complete -c blender -n 'not __blender_player' -l debug-python -d 'Enable debug messages for Python'
|
||||
complete -c blender -n 'not __blender_player' -l debug-depsgraph -d 'Enable all debug messages for dependency graph'
|
||||
complete -c blender -n 'not __blender_player' -l debug-depsgraph-eval -d 'Enable debug messages for dependency graph related on evalution'
|
||||
complete -c blender -n 'not __blender_player' -l debug-depsgraph-build -d 'Enable debug messages for dependency graph related on its construction'
|
||||
complete -c blender -n 'not __blender_player' -l debug-depsgraph-tag -d 'Enable debug messages for dependency graph related on tagging'
|
||||
complete -c blender -n 'not __blender_player' -l debug-depsgraph-no-threads -d 'Enable single treaded evaluation for dependency graph'
|
||||
complete -c blender -n 'not __blender_player' -l debug-depsgraph-time -d 'Enable debug messages for dependency graph related on timing'
|
||||
complete -c blender -n 'not __blender_player' -l debug-depsgraph-pretty -d 'Enable colors for dependency graph debug messages'
|
||||
complete -c blender -n 'not __blender_player' -l debug-depsgraph-uuid -d 'Enable virefication for dependency graph session-wide identifiers'
|
||||
complete -c blender -n 'not __blender_player' -l debug-ghost -d 'Enable debug messages for Ghost'
|
||||
complete -c blender -n 'not __blender_player' -l debug-wintab -d 'Enable debug messages for Wintab'
|
||||
complete -c blender -n 'not __blender_player' -l debug-gpu -d 'Enable GPU debug context and infromation for OpenGL'
|
||||
complete -c blender -n 'not __blender_player' -l debug-gpu-force-workarounds -d 'Enable workarounds for typical GPU issues'
|
||||
complete -c blender -n 'not __blender_player' -l debug-wm -d 'Enable debug messages for window manager'
|
||||
complete -c blender -n 'not __blender_player' -l debug-xr -d 'Enable debug messages for virtual reality contexts'
|
||||
complete -c blender -n 'not __blender_player' -l debug-xr-time -d 'Enable debug messages for virtual reality frame rendering times'
|
||||
complete -c blender -n 'not __blender_player' -l debug-all -d 'Enable all debug messages'
|
||||
complete -c blender -n 'not __blender_player' -l debug-io -d 'Enable debug for I/O'
|
||||
complete -c blender -n 'not __blender_player' -l debug-fpe -d 'Enable floating point exceptions'
|
||||
complete -c blender -n 'not __blender_player' -l debug-exit-on-error -d 'Exit on internal error'
|
||||
complete -c blender -n 'not __blender_player' -l debug-freestyle -d 'Enable debug messages for Freestyle'
|
||||
complete -c blender -n 'not __blender_player' -l disable-crash-handler -d 'Disable crash handler'
|
||||
complete -c blender -n 'not __blender_player' -l disable-abort-handler -d 'Disable abort handler'
|
||||
complete -c blender -n 'not __blender_player' -l verbose -d 'Specify logging verbosity level' -x
|
||||
|
||||
# GPU Options:
|
||||
complete -c blender -n 'not __blender_player' -l gpu-backend -a 'vulkan metal opengl' -d 'Specify GPU backend' -x
|
||||
|
||||
# Misc Options:
|
||||
complete -c blender -n 'not __blender_player' -l open-last -d 'Open the most recent .blend file'
|
||||
complete -c blender -n 'not __blender_player' -l app-template -a default -d 'Specify app template' -x
|
||||
complete -c blender -n 'not __blender_player' -l factory-startup -d 'Do not read startup.blend'
|
||||
complete -c blender -n 'not __blender_player' -l enable-event-simulate -d 'Enable event simulation'
|
||||
|
||||
complete -c blender -n 'not __blender_player' -l env-system-datafiles -d 'Set BLENDER_SYSTEM_DATAFILES variable' -r
|
||||
complete -c blender -n 'not __blender_player' -l env-system-scripts -d 'Set BLENDER_SYSTEM_SCRIPTS variable' -r
|
||||
complete -c blender -n 'not __blender_player' -l env-system-python -d 'Set BLENDER_SYSTEM_PYTHON variable' -r
|
||||
|
||||
complete -c blender -n 'not __blender_player' -o noaudio -d 'Disable sound'
|
||||
complete -c blender -n 'not __blender_player' -o setaudio -a 'None SDL OpenAL CoreAudio JACK PulseAudio WASAPI' -d 'Specify sound device' -x
|
||||
|
||||
complete -c blender -n 'not __blender_player' -o r -l register -d 'Register .blend extension for current user'
|
||||
complete -c blender -n 'not __blender_player' -l register-allusers -d 'Register .blend extension for all users'
|
||||
complete -c blender -n 'not __blender_player' -l unregister -d 'Unregister .blend extension for current user'
|
||||
complete -c blender -n 'not __blender_player' -l unregister-allusers -d 'Unregister .blend extension for all users'
|
||||
|
||||
complete -c blender -n 'not __blender_player' -o - -d 'End option processing, following arguments passed to python'
|
||||
@@ -1,4 +1,14 @@
|
||||
complete -c bunzip2 -k -x -a "(__fish_complete_suffix .tbz .tbz2 .bz2 .bz)"
|
||||
complete -c bunzip2 -k -x -a "(
|
||||
__fish_complete_suffix .tbz
|
||||
__fish_complete_suffix .tbz2
|
||||
)
|
||||
"
|
||||
|
||||
complete -c bunzip2 -k -x -a "(
|
||||
__fish_complete_suffix .bz
|
||||
__fish_complete_suffix .bz2
|
||||
)
|
||||
"
|
||||
|
||||
complete -c bunzip2 -s c -l stdout -d "Decompress to stdout"
|
||||
complete -c bunzip2 -s f -l force -d Overwrite
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
bws completions fish | source
|
||||
@@ -1,3 +1,13 @@
|
||||
complete -c bzcat -k -x -a "(__fish_complete_suffix .tbz .tbz2 .bz .bz2)"
|
||||
complete -c bzcat -k -x -a "(
|
||||
__fish_complete_suffix .tbz
|
||||
__fish_complete_suffix .tbz2
|
||||
)
|
||||
"
|
||||
|
||||
complete -c bzcat -k -x -a "(
|
||||
__fish_complete_suffix .bz
|
||||
__fish_complete_suffix .bz2
|
||||
)
|
||||
"
|
||||
|
||||
complete -c bzcat -s s -l small -d "Reduce memory usage"
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
complete -c bzip2 -s c -l stdout -d "Compress to stdout"
|
||||
complete -c bzip2 -s d -l decompress -k -x -a "(__fish_complete_suffix .tbz .tbz2 .bz .bz2)"
|
||||
complete -c bzip2 -s d -l decompress -k -x -a "(
|
||||
__fish_complete_suffix .tbz
|
||||
__fish_complete_suffix .tbz2
|
||||
)
|
||||
"
|
||||
|
||||
complete -c bzip2 -s d -l decompress -k -x -a "(
|
||||
__fish_complete_suffix .bz
|
||||
__fish_complete_suffix .bz2
|
||||
)
|
||||
"
|
||||
|
||||
complete -c bzip2 -s z -l compress -d "Compress file"
|
||||
complete -c bzip2 -s t -l test -d "Check integrity"
|
||||
|
||||
@@ -1,2 +1,11 @@
|
||||
complete -c bzip2recover -k -x -a "(__fish_complete_suffix .tbz .tbz2 .bz .bz2)"
|
||||
complete -c bzip2recover -k -x -a "(
|
||||
__fish_complete_suffix .tbz
|
||||
__fish_complete_suffix .tbz2
|
||||
)
|
||||
"
|
||||
|
||||
complete -c bzip2recover -k -x -a "(
|
||||
__fish_complete_suffix .bz
|
||||
__fish_complete_suffix .bz2
|
||||
)
|
||||
"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
# calendar
|
||||
|
||||
complete -c calendar -s A -s l -d "Today + N days forward"
|
||||
complete -c calendar -s a -d "Process all users' calendars and mail the results"
|
||||
complete -c calendar -s B -d "Today - N days backward"
|
||||
complete -c calendar -s b -d "Cyrillic date calculation mode"
|
||||
complete -c calendar -s e -d "Today + N days forward, if today is Friday"
|
||||
complete -c calendar -s f -rF -d "Path to default calendar file"
|
||||
complete -c calendar -s t -x -d "Today is [[[cc]yy]mm]dd]"
|
||||
complete -c calendar -s w -d "Print day of the week name"
|
||||
@@ -49,6 +49,7 @@ complete -c cargo -n '__fish_seen_subcommand_from add install' -n '__fish_is_nth
|
||||
|
||||
|
||||
## --- AUTO-GENERATED WITH `cargo complete fish` ---
|
||||
# Manually massaged to improve some descriptions
|
||||
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)'
|
||||
@@ -76,7 +77,7 @@ complete -c cargo -n __fish_use_subcommand -f -a install -d 'Install a Rust bina
|
||||
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 metadata -d 'Output the resolved dependencies of a package 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'
|
||||
@@ -166,7 +167,7 @@ complete -c cargo -n "__fish_seen_subcommand_from build" -l no-default-features
|
||||
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" -l future-incompat-report -d 'Output a future incompatibility report after 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)'
|
||||
@@ -203,7 +204,7 @@ complete -c cargo -n "__fish_seen_subcommand_from check" -l all-features -d 'Act
|
||||
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" -l future-incompat-report -d 'Output a future incompatibility report after 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)'
|
||||
@@ -342,7 +343,7 @@ complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l frozen -d 'Re
|
||||
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 vcs -d 'Initialize a new repository for the given version control system' -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'
|
||||
@@ -444,7 +445,7 @@ complete -c cargo -n "__fish_seen_subcommand_from metadata" -l frozen -d 'Requir
|
||||
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 vcs -d 'Initialize a new repository for the given version control system' -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'
|
||||
@@ -695,8 +696,8 @@ complete -c cargo -n "__fish_seen_subcommand_from tree" -l manifest-path -d 'Pat
|
||||
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" -l target -d 'Filter dependencies matching the given target-triple (or `all` for all targets)'
|
||||
complete -c cargo -n "__fish_seen_subcommand_from tree" -s e -l edges -d 'The kinds of dependencies to display' -xa "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"
|
||||
|
||||
@@ -6,7 +6,10 @@ set -l __fish_castnow_keys "space\tToggle\ between\ play\ and\ pause m\tToggle\
|
||||
complete -c castnow -l tomp4 -d "Convert file to mp4 during playback"
|
||||
complete -c castnow -l device -d "Specify name of Chromecast device to be used" -x
|
||||
complete -c castnow -l address -d "Specify IP or hostname of Chromecast device" -x
|
||||
complete -c castnow -l subtitles -d "Path or URL to SRT or VTT file" -k -x -a "(__fish_complete_suffix .srt .vtt)"
|
||||
complete -c castnow -l subtitles -d "Path or URL to SRT or VTT file" -k -x -a "(
|
||||
__fish_complete_suffix .srt
|
||||
__fish_complete_suffix .vtt
|
||||
)"
|
||||
complete -c castnow -l subtitles-scale -d "Set subtitles font scale" -x
|
||||
complete -c castnow -l subtitles-color -d "Set subtitles font RGBA color" -x
|
||||
complete -c castnow -l subtitles-port -d "Specify port to be used for serving subtitles" -x
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
#checkinstall
|
||||
|
||||
# Set yes/no variable
|
||||
set -l yn "yes no"
|
||||
|
||||
# Base-level completion
|
||||
complete -c checkinstall -f
|
||||
|
||||
# Package type selection
|
||||
complete -c checkinstall -x -o t -l type -a "slackware rpm debian" -d "Choose packaging system"
|
||||
complete -c checkinstall -f -o S -d "Build a Slackware package"
|
||||
complete -c checkinstall -f -o R -d "Build an RPM package"
|
||||
complete -c checkinstall -f -o D -d "Build a Debian package"
|
||||
|
||||
# Install options
|
||||
complete -c checkinstall -x -l install -a "$yn" -d "Toggle created package installation"
|
||||
complete -c checkinstall -x -l fstrans -a "$yn" -d "Enable/disable the filesystem translation code"
|
||||
|
||||
# Scripting options
|
||||
complete -c checkinstall -f -o y -l default -d "Accept default answers to all questions"
|
||||
complete -c checkinstall -x -l pkgname -d "Set name"
|
||||
complete -c checkinstall -x -l pkgversion -d "Set version"
|
||||
complete -c checkinstall -x -o A -l arch -l pkgarch -d "Set architecture"
|
||||
complete -c checkinstall -x -l pkgrelease -d "Set release"
|
||||
complete -c checkinstall -x -l pkglicense -d "Set license"
|
||||
complete -c checkinstall -x -l pkggroup -d "Set software group"
|
||||
complete -c checkinstall -x -l pkgsource -d "Set source location"
|
||||
complete -c checkinstall -x -l pkgalitsource -d "Set alternate source location"
|
||||
complete -c checkinstall -F -r -l pakdir -a "(__fish_complete_directories)" -d "The new package will be saved here"
|
||||
complete -c checkinstall -x -l maintainer -d "The package maintainer (.deb)"
|
||||
complete -c checkinstall -x -l provides -d "Features provided by this package"
|
||||
complete -c checkinstall -x -l requires -d "Features required by this package"
|
||||
complete -c checkinstall -x -l recommends -d "Features recommended by this package"
|
||||
complete -c checkinstall -x -l sggests -d "Featues suggested by this package"
|
||||
complete -c checkinstall -x -l conflicts -d "Packages that this package cannot be installed with (.deb)"
|
||||
complete -c checkinstall -x -l replaces -d "Packages that this package replaces (.deb)"
|
||||
complete -c checkinstall -x -l rpmflags -d "Pass these flags to the rpm installer"
|
||||
complete -c checkinstall -f -l rpmi -d "Use the -i flag for rpm when installing a .rpm"
|
||||
complete -c checkinstall -f -l rpmu -d "Use the -U flag for rpm when installing a .rpm"
|
||||
complete -c checkinstall -x -l dpkgflags -d "Pass these flags to the dpkg installer"
|
||||
complete -c checkinstall -x -l spec -a "(__fish_complete_path)" -d ".spec file location"
|
||||
complete -c checkinstall -f -l nodoc -d "Do not include documentation files"
|
||||
|
||||
# Info display options
|
||||
complete -c checkinstall -x -o d -a "0 1 2" -d "Set debug level"
|
||||
complete -c checkinstall -f -o si -d "Run an interactive install command"
|
||||
complete -c checkinstall -x -l showinstall -a "$yn" -d "Toggle interactive install command"
|
||||
complete -c checkinstall -f -o ss -d "Run an interactive Slackware installation script"
|
||||
complete -c checkinstall -x -l showslack -a "$yn" -d "Toggle interactive Slackware installation script"
|
||||
|
||||
# Package tuning options
|
||||
complete -c checkinstall -x -l autodoinst -a "$yn" -d "Toggle the creation of a doinst.sh script"
|
||||
complete -c checkinstall -x -l strip -a "$yn" -d "Strip any ELF binaries found inside the package"
|
||||
complete -c checkinstall -x -l stripso -a "$yn" -d "Strop any ELF binary libraries (.so files)"
|
||||
complete -c checkinstall -x -l addso -a "$yn" -d "Search for ant shared libs and add them to /etc/ld.so.conf"
|
||||
complete -c checkinstall -x -l reset-uids -a "$yn" -d "Reset perms for all files"
|
||||
complete -c checkinstall -x -l gzman -a "$yn" -d "Compress any man pages found inside the package"
|
||||
complete -c checkinstall -x -l docdir -a "(__fish_complete_directories)" -d "Where to put documentation files"
|
||||
complete -c checkinstall -x -l umask -d "Set the umask value"
|
||||
complete -c checkinstall -x -l exclude -a "(__fish_complete_path)" -d "Excluse these files/directories from the package"
|
||||
complete -c checkinstall -F -r -l include -d "Include file/directories in this file in the package"
|
||||
complete -c checkinstall -f -l inspect -d "Inspect the package's file list"
|
||||
complete -c checkinstall -f -l review-spec -d "Review the dpec file before creating a .rpm"
|
||||
complete -c checkinstall -f -l review-control -d "Review the control file before creating a .deb"
|
||||
complete -c checkinstall -f -l newslack -d "Use the new (8.1+) Slackware description format"
|
||||
complete -c checkinstall -F -l with-tar -d "Manually set the path to the tar binary"
|
||||
|
||||
# Cleanup options
|
||||
complete -c checkinstall -x -l deldoc -a "$yn" -d "Delete doc-pak upon termination"
|
||||
complete -c checkinstall -x -l deldesc -a "$yn" -d "Delete description-pak upon termination"
|
||||
complete -c checkinstall -x -l delspec -a "$yn" -d "Delete spec file upon termination"
|
||||
complete -c checkinstall -f -l bk -d "Backup any overwritten files"
|
||||
complete -c checkinstall -x -l backup -a "$yn" -d "Toggle backup"
|
||||
|
||||
# About checkinstall
|
||||
complete -c checkinstall -f -o h -l help -d "Show help"
|
||||
complete -c checkinstall -f -l copyright -d "Show Copyright information"
|
||||
complete -c checkinstall -f -l version -d "Show version information"
|
||||
@@ -4,4 +4,4 @@
|
||||
|
||||
complete -p '*clang++*' -n __fish_should_complete_switches -xa '(__fish_complete_clang)'
|
||||
complete -p '*clang++*' -n 'not __fish_should_complete_switches' \
|
||||
-k -xa "(__fish_complete_suffix .o .out .c .cpp .so .dylib)"
|
||||
-k -xa "(__fish_complete_suffix .o; __fish_complete_suffix .out; __fish_complete_suffix .c; __fish_complete_suffix .cpp; __fish_complete_suffix .so; __fish_complete_suffix .dylib)"
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
# This pattern unfortunately matches clang-format, etc. as well.
|
||||
complete -p '*clang*' -n __fish_should_complete_switches -xa '(__fish_complete_clang)'
|
||||
complete -c clang -n 'not __fish_should_complete_switches' \
|
||||
-k -xa "(__fish_complete_suffix .o .out .c .cpp .so .dylib)"
|
||||
-k -xa "(__fish_complete_suffix .o; __fish_complete_suffix .out; __fish_complete_suffix .c; __fish_complete_suffix .cpp; __fish_complete_suffix .so; __fish_complete_suffix .dylib)"
|
||||
|
||||
# again but without the -x this time for the pattern-matched completion
|
||||
complete -p '*clang*' -n 'not __fish_should_complete_switches' \
|
||||
-k -a "(__fish_complete_suffix .o .out .c .cpp .so .dylib)"
|
||||
-k -a "(__fish_complete_suffix .o; __fish_complete_suffix .out; __fish_complete_suffix .c; __fish_complete_suffix .cpp; __fish_complete_suffix .so; __fish_complete_suffix .dylib)"
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
complete -k -x -c cmark -a "(__fish_complete_suffix .md .markdown)"
|
||||
complete -k -x -c cmark -a "
|
||||
(
|
||||
__fish_complete_suffix .md
|
||||
__fish_complete_suffix .markdown
|
||||
)
|
||||
"
|
||||
|
||||
complete -x -c cmark -s t -l to -a "html man xml latex commonmark" -d "Output format"
|
||||
complete -c cmark -l width -d "Wrap width"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
cobra-cli completion fish | source
|
||||
@@ -29,7 +29,7 @@ import json
|
||||
json_data = open('composer.json')
|
||||
data = json.load(json_data)
|
||||
json_data.close()
|
||||
packages = itertools.chain(data.get('require', {}).keys(), data.get('require-dev', {}).keys())
|
||||
packages = itertools.chain(data['require'].keys(), data['require-dev'].keys())
|
||||
print(\"\n\".join(packages))
|
||||
" | $python -S
|
||||
end
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
crc completion fish | source
|
||||
@@ -1,4 +1,4 @@
|
||||
complete -c curl -n 'string match -qr "^@" -- (commandline -ct)' -k -xa "(printf '%s\n' -- @(__fish_complete_suffix --complete=(commandline -ct | string replace -r '^@' '') ''))"
|
||||
complete -c curl -n 'string match -qr "^@" -- (commandline -ct)' -k -xa "(printf '%s\n' -- @(__fish_complete_suffix (commandline -ct | string replace -r '^@' '') ''))"
|
||||
|
||||
# These based on the autogenerated completions.
|
||||
complete -c curl -l abstract-unix-socket -d '(HTTP) Connect through an abstract Unix domain socket'
|
||||
@@ -231,4 +231,3 @@ complete -c curl -l eprt -l no-eprt -d 'for --disable-eprt'
|
||||
complete -c curl -l epsv -l no-epsv -d 'for --disable-epsv'
|
||||
complete -c curl -l max-redir -d 'Set maximum number of redirects'
|
||||
complete -c curl -l xattr -d 'Store metadata in xattrs (like origin URL)'
|
||||
complete -c curl -l url-query -d '(HTTP) Add a URL query part'
|
||||
|
||||
@@ -49,11 +49,10 @@ complete -c dart -n '__fish_seen_subcommand_from format' -s l -l line-length -d
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l apply-changes -d 'Apply the proposed null safety changes to the files on disk.'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l ignore-errors -d 'Attempt to perform null safety analysis even if the project has analysis errors.'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l skip-import-check -d 'Go ahead with migration even if some imported files have not yet been migrated.'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l web-preview -d 'Show an interactive preview of the proposed null safety changes in a browser window. Use --no-web-preview to print proposed changes to the console. (defaults to on)'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l no-web-preview -d 'Show an interactive preview of the proposed null safety changes in a browser window. Use --no-web-preview to print proposed changes to the console. (defaults to on)'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l preview-hostname -d 'Run the preview server on the specified hostname. If not specified, "localhost" is used. Use "any" to specify IPv6.any or IPv4.any.(defaults to "localhost")'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l preview-port -d 'Run the preview server on the specified port. If not specified, dynamically allocate a port.'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l preview-port -d 'Output a machine-readable summary of migration changes.'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l web-preview -d 'Show preview of the proposed null safety changes in a browser window'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l no-web-preview -d 'Show preview of the proposed null safety changes in the console'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l preview-hostname -d 'Run the preview server on the specified hostname'
|
||||
complete -c dart -n '__fish_seen_subcommand_from migrate' -l preview-port -d 'Run the preview server on the specified port'
|
||||
|
||||
# pub
|
||||
complete -c dart -n '__fish_seen_subcommand_from pub' -s C -l directory -d 'Run the subcommand in the directory<dir>.(defaults to ".")'
|
||||
@@ -73,7 +72,7 @@ complete -c dart -n '__fish_seen_subcommand_from pub' -xa ploader -d 'Manage upl
|
||||
|
||||
# run
|
||||
complete -c dart -n '__fish_seen_subcommand_from run' -l observe -d 'The observe flag is a convenience flag used to run a program with a set of common options useful for debugging.'
|
||||
complete -c dart -n '__fish_seen_subcommand_from run' -l enable-vm-service -d 'Enables the VM service and listens on the specified port for connections (default port number is 8181, default bind address is localhost).'
|
||||
complete -c dart -n '__fish_seen_subcommand_from run' -l enable-vm-service -d 'Enables VM service and listen on the specified port (default localhost:8181)'
|
||||
complete -c dart -n '__fish_seen_subcommand_from run' -l serve-devtools -d 'Serves an instance of the Dart DevTools debugger and profiler via the VM service at <vm-service-uri>/devtools.'
|
||||
complete -c dart -n '__fish_seen_subcommand_from run' -l no-serve-devtools -d 'Serves an instance of the Dart DevTools debugger and profiler via the VM service at <vm-service-uri>/devtools.'
|
||||
complete -c dart -n '__fish_seen_subcommand_from run' -l pause-isolates-on-exit -d 'Pause isolates on exit when running with --enable-vm-service.'
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
deno completions fish | source
|
||||
|
||||
# complete deno task
|
||||
complete -f -c deno -n "__fish_seen_subcommand_from task" -n "__fish_is_nth_token 2" -a "(NO_COLOR=1 deno task &| string match -rg '^- (\S*)')"
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
function __fish_dmidecode_complete_keywords
|
||||
dmidecode -s 2>&1 1>/dev/null | string match -rg '^\s+(.*)'
|
||||
end
|
||||
|
||||
function __fish_dmidecode_complete_types
|
||||
dmidecode -t 2>&1 1>/dev/null | string match -rg '^\s+(.*)'
|
||||
end
|
||||
|
||||
complete -c dmidecode -f
|
||||
complete -c dmidecode -s d -l dev-mem -r -d 'Memory device file'
|
||||
complete -c dmidecode -s q -l quiet -d 'Be less verbose'
|
||||
complete -c dmidecode -l no-quirks -d 'Decode everything exactly as it is'
|
||||
complete -c dmidecode -s s -l string -xa '(__fish_dmidecode_complete_keywords)' -d 'Only display specified value'
|
||||
complete -c dmidecode -s t -l type -xa '(__fish_dmidecode_complete_types)' -d 'Only display entries of specified type'
|
||||
complete -c dmidecode -s H -l handle -x -d 'Only display specified handle'
|
||||
complete -c dmidecode -s u -l dump -d 'Do not decode the entries'
|
||||
complete -c dmidecode -l dump-bin -r -d 'Dump DMI data to a file'
|
||||
complete -c dmidecode -l from-dump -r -d 'Read DMI data generated using --dump-bin'
|
||||
complete -c dmidecode -l no-sysfs -d 'Do not attempt to read DMI data from sysfs files'
|
||||
complete -c dmidecode -l oem-string -x -d 'Only display the value of the OEM string number N'
|
||||
complete -c dmidecode -s h -l help -d 'Display usage information and exit'
|
||||
complete -c dmidecode -s V -l version -d 'Display the version and exit'
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
|
||||
function __dnf_list_installed_packages
|
||||
dnf repoquery --cacheonly "$cur*" --qf "%{name}" --installed </dev/null
|
||||
dnf repoquery --cacheonly "$cur*" --qf "%{NAME}" --installed </dev/null
|
||||
end
|
||||
|
||||
function __dnf_list_available_packages
|
||||
@@ -21,12 +21,12 @@ function __dnf_list_available_packages
|
||||
# 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.
|
||||
set results (sqlite3 /var/cache/dnf/packages.db "SELECT pkg FROM available WHERE pkg LIKE '$tok%'" 2>/dev/null |
|
||||
set results (sqlite3 /var/cache/dnf/packages.db "SELECT pkg FROM available WHERE pkg LIKE \"$tok%\"" 2>/dev/null |
|
||||
string replace -r -- '-[^-]*-[^-]*$' '')
|
||||
else
|
||||
# In some cases dnf will ask for input (e.g. to accept gpg keys).
|
||||
# Connect it to /dev/null to try to stop it.
|
||||
set results (dnf repoquery --cacheonly "$tok*" --qf "%{name}" --available </dev/null 2>/dev/null)
|
||||
set results (dnf repoquery --cacheonly "$tok*" --qf "%{NAME}" --available </dev/null 2>/dev/null)
|
||||
end
|
||||
if set -q results[1]
|
||||
set results (string match -r -- '.*\\.rpm$' $files) $results
|
||||
@@ -175,6 +175,7 @@ complete -c dnf -n __fish_use_subcommand -xa offline-upgrade -d "Prepare offline
|
||||
complete -c dnf -n "__fish_seen_subcommand_from offline-upgrade" -xa download -d "Download updates for offline upgrade"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from offline-upgrade" -xa clean -d "Remove cached packages"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from offline-upgrade" -xa reboot -d "Reboot and install packages"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from offline-upgrade" -xa upgrade -d "Install cached packages without reboot"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from offline-upgrade" -xa log -d "Show logs of upgrade attempts"
|
||||
|
||||
# Provides
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
doctl completion fish | source
|
||||
@@ -8,7 +8,7 @@ complete -x -f -c dpkg-reconfigure -s h -l help -d 'Display help'
|
||||
# General options
|
||||
complete -f -c dpkg-reconfigure -s f -l frontend -r -a "dialog readline noninteractive gnome kde editor web" -d 'Set configuration frontend'
|
||||
complete -f -c dpkg-reconfigure -s p -l priority -r -a "low medium high critical" -d 'Set priority threshold'
|
||||
complete -f -c dpkg-reconfigure -l default-priority -d "Use current default ("(echo get debconf/priority | debconf-communicate 2>/dev/null | string match -r '\w+$')") priority threshold"
|
||||
complete -f -c dpkg-reconfigure -l default-priority -d "Use current default priority threshold"
|
||||
complete -f -c dpkg-reconfigure -s u -l unseen-only -d 'Show only unseen question'
|
||||
complete -f -c dpkg-reconfigure -l force -d 'Reconfigure also inconsistent packages'
|
||||
complete -f -c dpkg-reconfigure -l no-reload -d 'Prevent reloading templates'
|
||||
|
||||
@@ -2,3 +2,4 @@ complete -c echo -s n -d "Do not output a newline"
|
||||
complete -c echo -s s -d "Do not separate arguments with spaces"
|
||||
complete -c echo -s E -d "Disable backslash escapes"
|
||||
complete -c echo -s e -d "Enable backslash escapes"
|
||||
complete -c echo -s h -l help -d "Display help and exit"
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
complete -c entr -s a -d 'Respond to all events'
|
||||
complete -c entr -s c -d 'Clear the screen before running'
|
||||
complete -c entr -s d -d 'Track directories and exit if new file added'
|
||||
complete -c entr -s n -d 'Run in non-interactive mode'
|
||||
complete -c entr -s p -d 'Postpone execution of utility until a file is modified'
|
||||
complete -c entr -s r -d 'Launch utility at startup and reload on file change'
|
||||
complete -c entr -s s -d 'Evaluate using the interpreter in SHELL env variable'
|
||||
complete -c entr -s z -d 'Exit after utility completes'
|
||||
complete -c entr -s c -d 'Clears the screen before running the utility'
|
||||
complete -c entr -s h -l help -d 'Display help'
|
||||
complete -c entr -s v -l version -d 'Output version information'
|
||||
complete -c entr -x -a '(__fish_complete_subcommand)'
|
||||
|
||||
@@ -24,7 +24,7 @@ complete -c fastboot -s v -l verbose -d 'Verbose output'
|
||||
complete -c fastboot -l version -d 'Display version'
|
||||
|
||||
complete -n "not __fish_seen_subcommand_from $commands" -c fastboot -s w -d 'Wipe userdata'
|
||||
complete -n "not __fish_seen_subcommand_from $commands" -c fastboot -s s -x -a "(fastboot devices)" -d 'Specify a device'
|
||||
complete -n "not __fish_seen_subcommand_from $commands" -c fastboot -s s -d 'Specify a device'
|
||||
complete -n "not __fish_seen_subcommand_from $commands" -c fastboot -s S -d 'Break into sparse files no larger than SIZE'
|
||||
complete -n "not __fish_seen_subcommand_from $commands" -c fastboot -l slot -d 'Use SLOT; \'all\' for both slots, \'other\' for non-current slot (default: current active slot)' -xa "all other a b"
|
||||
complete -n "not __fish_seen_subcommand_from $commands" -c fastboot -l set-active -d 'Sets the active slot before rebooting' -xa "a b"
|
||||
|
||||
@@ -22,11 +22,7 @@ complete -c find -o regextype -d "Specify regular expression type" -a "emacs pos
|
||||
complete -c find -o version -l version -d "Display version and exit"
|
||||
complete -c find -o warn -d "Turn warnings on"
|
||||
complete -c find -o nowarn -d "Turn warnings off"
|
||||
complete -c find -o O0 -d "Equivalent to optimisation level 1."
|
||||
complete -c find -o O1 -d "Default optimisation level and corresponds to the traditional behaviour."
|
||||
complete -c find -o O2 -d "Any -type or -xtype tests are performed after any tests based only on the names of files."
|
||||
complete -c find -o O3 -d "The full cost-based query optimiser is enabled."
|
||||
complete -c find -s D -d "Print diagnostic information." -x -a "exec opt rates search stat time tree all help"
|
||||
|
||||
|
||||
# Tests
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
complete -c fish_key_reader -s h -l help -d 'Display help and exit'
|
||||
complete -c fish_key_reader -s v -l version -d 'Display version and exit'
|
||||
complete -c fish_key_reader -s c -l continuous -d 'Start a continuous session'
|
||||
complete -c fish_key_reader -s V -l verbose -d 'Output timing and explain sequence'
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,29 +0,0 @@
|
||||
complete -c gimp -s h -l help -d 'show help'
|
||||
complete -c gimp -l help-all -d 'show help with advanced options'
|
||||
complete -c gimp -l help-gtk -d 'show help with GTK+ options'
|
||||
complete -c gimp -l help-gegl -d 'show help with GEGL options'
|
||||
complete -c gimp -s v -l version -d 'show version'
|
||||
complete -c gimp -l license -d 'show licence'
|
||||
|
||||
complete -c gimp -l verbose -d 'show verbosely'
|
||||
complete -c gimp -s n -l new-instance -d 'open new instance'
|
||||
complete -c gimp -s a -l as-new -d 'open with new images'
|
||||
|
||||
complete -c gimp -s i -l no-interface -d 'hide UI'
|
||||
complete -c gimp -s d -l no-data -d 'do not load patterns, gradients, palettes, and brushes'
|
||||
complete -c gimp -s f -l no-fonts -d 'do not load fonts'
|
||||
complete -c gimp -s s -l no-splash -d 'hide splash screen'
|
||||
complete -c gimp -l no-shm -d 'do not use shared memory'
|
||||
complete -c gimp -l no-cpu-accel -d 'do not use CPU acceleration'
|
||||
|
||||
complete -c gimp -l display -d 'open with X display' -r
|
||||
complete -c gimp -l session -d 'open with alternative sessionrc' -r
|
||||
complete -c gimp -s g -l gimprc -d 'open with alternative gimprc' -r
|
||||
complete -c gimp -l system-gimprc -d 'open with alternative system gimprc' -r
|
||||
complete -c gimp -l dump-gimprc -d 'show gimprc'
|
||||
complete -c gimp -l console-messages -d 'show messages on the console'
|
||||
complete -c gimp -l debug-handlers -d 'enable debug handlers'
|
||||
complete -c gimp -l stack-trace-mode -d 'whether generate stack-trace in case of fatal signals' -a 'never query always' -x
|
||||
complete -c gimp -l pdb-compat-mode -d 'whether PDB provides aliases for deprecated functions' -a 'off on warn' -x
|
||||
complete -c gimp -l batch-interpreter -d 'run procedure to use to process batch events' -r
|
||||
complete -c gimp -s b -l batch -d 'run command non-interactively' -a '-' -r
|
||||
@@ -39,7 +39,7 @@ function __fish_git_commits
|
||||
# that happens for 3 commits out of 600k.
|
||||
# For fish, at the time of writing, out of 12200 commits, 7 commits need 8 characters.
|
||||
# And since this takes about 1/3rd of the time that disambiguating takes...
|
||||
__fish_git log --no-show-signature --pretty=tformat:"%H"\t"%<(64,trunc)%s" --all --max-count=1000 2>/dev/null \
|
||||
__fish_git log --pretty=tformat:"%H"\t"%<(64,trunc)%s" --all --max-count=1000 2>/dev/null \
|
||||
| string replace -r '^([0-9a-f]{10})[0-9a-f]*\t(.*)' '$1\t$2'
|
||||
end
|
||||
|
||||
@@ -47,7 +47,7 @@ function __fish_git_recent_commits
|
||||
# Like __fish_git_commits, but not on all branches and limited to
|
||||
# the last 50 commits. Used for fixup, where only the current branch
|
||||
# and the latest commits make sense.
|
||||
__fish_git log --no-show-signature --pretty=tformat:"%h"\t"%<(64,trunc)%s" --max-count=50 $argv 2>/dev/null
|
||||
__fish_git log --pretty=tformat:"%h"\t"%<(64,trunc)%s" --max-count=50 $argv 2>/dev/null
|
||||
end
|
||||
|
||||
function __fish_git_branches
|
||||
@@ -324,33 +324,31 @@ function __fish_git_files
|
||||
end
|
||||
# Only try printing if the file was selected.
|
||||
if set -q file[1]
|
||||
for d in $desc
|
||||
# Without "-z", git sometimes _quotes_ filenames.
|
||||
# It adds quotes around it _and_ escapes the character.
|
||||
# e.g. `"a\\b"`.
|
||||
# We just remove the quotes and hope it works out.
|
||||
# If this contains newlines or tabs,
|
||||
# there is nothing we can do, but that's a general issue with scripted completions.
|
||||
set file (string trim -c \" -- $file)
|
||||
# The relative filename.
|
||||
if string match -q './*' -- (commandline -ct)
|
||||
printf './%s\t%s\n' $file $d
|
||||
else
|
||||
printf '%s\t%s\n' "$file" $d
|
||||
end
|
||||
# Now from repo root.
|
||||
# Only do this if the filename isn't a simple child,
|
||||
# or the current token starts with ":"
|
||||
if string match -q '../*' -- $file
|
||||
or string match -q ':*' -- (commandline -ct)
|
||||
set -l fromroot (builtin realpath -- $file 2>/dev/null)
|
||||
# `:` starts pathspec "magic", and the second `:` terminates it.
|
||||
# `/` is the magic letter for "from repo root".
|
||||
# If we didn't terminate it we'd have to escape any special chars
|
||||
# (non-alphanumeric, glob or regex special characters, in whatever dialect git uses)
|
||||
and set fromroot (string replace -- "$root/" ":/:" "$fromroot")
|
||||
and printf '%s\t%s\n' "$fromroot" $d
|
||||
end
|
||||
# Without "-z", git sometimes _quotes_ filenames.
|
||||
# It adds quotes around it _and_ escapes the character.
|
||||
# e.g. `"a\\b"`.
|
||||
# We just remove the quotes and hope it works out.
|
||||
# If this contains newlines or tabs,
|
||||
# there is nothing we can do, but that's a general issue with scripted completions.
|
||||
set file (string trim -c \" -- $file)
|
||||
# The relative filename.
|
||||
if string match -q './*' -- (commandline -ct)
|
||||
printf './%s\n' $file\t$desc
|
||||
else
|
||||
printf '%s\n' "$file"\t$desc
|
||||
end
|
||||
# Now from repo root.
|
||||
# Only do this if the filename isn't a simple child,
|
||||
# or the current token starts with ":"
|
||||
if string match -q '../*' -- $file
|
||||
or string match -q ':*' -- (commandline -ct)
|
||||
set -l fromroot (builtin realpath -- $file 2>/dev/null)
|
||||
# `:` starts pathspec "magic", and the second `:` terminates it.
|
||||
# `/` is the magic letter for "from repo root".
|
||||
# If we didn't terminate it we'd have to escape any special chars
|
||||
# (non-alphanumeric, glob or regex special characters, in whatever dialect git uses)
|
||||
and set fromroot (string replace -- "$root/" ":/:" "$fromroot")
|
||||
and printf '%s\n' "$fromroot"\t$desc
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -625,7 +623,7 @@ end
|
||||
# but a command can be aliased multiple times)
|
||||
|
||||
# Approximately duplicates the logic from https://github.com/git/git/blob/d486ca60a51c9cb1fe068803c3f540724e95e83a/contrib/completion/git-completion.bash#L1130
|
||||
# The bash script also finds aliases that reference other aliases via a loop but we handle that separately
|
||||
# The Git script also finds aliases that reference other aliases via a loop but this is fine for a PoC
|
||||
function __fish_git_aliased_command
|
||||
for word in (string split ' ' -- $argv)
|
||||
switch $word
|
||||
@@ -648,31 +646,6 @@ git config -z --get-regexp 'alias\..*' | while read -lz alias cmdline
|
||||
# Git aliases can contain chars that variable names can't - escape them.
|
||||
set -l alias (string replace 'alias.' '' -- $alias | string escape --style=var)
|
||||
set -g __fish_git_alias_$alias $command $cmdline
|
||||
set --append -g __fish_git_aliases $alias
|
||||
end
|
||||
|
||||
# Resolve aliases that call another alias
|
||||
for alias in $__fish_git_aliases
|
||||
set -l handled $alias
|
||||
|
||||
while true
|
||||
set -l alias_varname __fish_git_alias_$alias
|
||||
set -l aliased_command $$alias_varname[1][1]
|
||||
set -l aliased_escaped (string escape --style=var -- $aliased_command)
|
||||
set -l aliased_varname __fish_git_alias_$aliased_escaped
|
||||
set -q $aliased_varname
|
||||
or break
|
||||
|
||||
# stop infinite recursion
|
||||
contains $aliased_escaped $handled
|
||||
and break
|
||||
|
||||
# expand alias in cmdline
|
||||
set -l aliased_cmdline $$alias_varname[1][2]
|
||||
set -l aliased_cmdline (string replace " $aliased_command " " $$aliased_varname[1][2..-1] " -- " $aliased_cmdline ")
|
||||
set -g $alias_varname $$aliased_varname[1][1] (string trim "$aliased_cmdline")
|
||||
set --append handled $aliased_escaped
|
||||
end
|
||||
end
|
||||
|
||||
function __fish_git_using_command
|
||||
@@ -1067,7 +1040,6 @@ complete -f -c git -n __fish_git_needs_command -a show -d 'Show the last commit
|
||||
complete -f -c git -n '__fish_git_using_command show' -n 'not contains -- -- (commandline -opc)' -ka '(__fish_git_branches)'
|
||||
complete -f -c git -n '__fish_git_using_command show' -n 'not contains -- -- (commandline -opc)' -ka '(__fish_git_tags)' -d Tag
|
||||
complete -f -c git -n '__fish_git_using_command show' -n 'not contains -- -- (commandline -opc)' -ka '(__fish_git_commits)'
|
||||
complete -f -c git -n '__fish_git_using_command show' -n 'not contains -- -- (commandline -opc)' -ka '(__fish_git_complete_stashes)'
|
||||
complete -f -c git -n __fish_git_needs_rev_files -n 'not contains -- -- (commandline -opc)' -xa '(__fish_git_complete_rev_files)'
|
||||
complete -F -c git -n '__fish_git_using_command show' -n 'contains -- -- (commandline -opc)'
|
||||
complete -f -c git -n '__fish_git_using_command show' -l format -d 'Pretty-print the contents of the commit logs in a given format' -a '(__fish_git_show_opt format)'
|
||||
@@ -1259,12 +1231,10 @@ complete -f -c git -n '__fish_git_using_command branch' -s a -l all -d 'Lists bo
|
||||
complete -f -c git -n '__fish_git_using_command branch' -s r -l remotes -d 'List or delete (if used with -d) the remote-tracking branches.'
|
||||
complete -f -c git -n '__fish_git_using_command branch' -s t -l track -l track -d 'Track remote branch'
|
||||
complete -f -c git -n '__fish_git_using_command branch' -l no-track -d 'Do not track remote branch'
|
||||
complete -f -c git -n '__fish_git_using_command branch' -l set-upstream-to -d 'Set remote branch to track' -ka '(__fish_git_branches)'
|
||||
complete -f -c git -n '__fish_git_using_command branch' -l set-upstream-to -d 'Set remote branch to track'
|
||||
complete -f -c git -n '__fish_git_using_command branch' -l merged -d 'List branches that have been merged'
|
||||
complete -f -c git -n '__fish_git_using_command branch' -l no-merged -d 'List branches that have not been merged'
|
||||
complete -f -c git -n '__fish_git_using_command branch' -l unset-upstream -d 'Remove branch upstream information'
|
||||
complete -f -c git -n '__fish_git_using_command branch' -l contains -d 'List branches that contain the specified commit' -xa '(__fish_git_commits)'
|
||||
complete -f -c git -n '__fish_git_using_command branch' -l no-contains -d 'List branches that don\'t contain the specified commit' -xa '(__fish_git_commits)'
|
||||
|
||||
### bundle
|
||||
set -l bundlecommands create verify list-heads unbundle
|
||||
@@ -1399,7 +1369,6 @@ complete -f -c git -n '__fish_git_using_command describe' -l first-parent -d 'Fo
|
||||
### diff
|
||||
complete -c git -n __fish_git_needs_command -a diff -d 'Show changes between commits and working tree'
|
||||
complete -c git -n '__fish_git_using_command diff' -n 'not contains -- -- (commandline -opc)' -ka '(__fish_git_ranges)'
|
||||
complete -c git -n '__fish_git_using_command diff' -n 'not contains -- -- (commandline -opc)' -ka '(__fish_git_complete_stashes)'
|
||||
complete -c git -n '__fish_git_using_command diff' -l cached -d 'Show diff of changes in the index'
|
||||
complete -c git -n '__fish_git_using_command diff' -l staged -d 'Show diff of changes in the index'
|
||||
complete -c git -n '__fish_git_using_command diff' -l no-index -d 'Compare two paths on the filesystem'
|
||||
@@ -1902,7 +1871,6 @@ complete -f -c git -n '__fish_git_using_command push' -s n -l dry-run -d 'Do eve
|
||||
complete -f -c git -n '__fish_git_using_command push' -l porcelain -d 'Produce machine-readable output'
|
||||
complete -f -c git -n '__fish_git_using_command push' -s f -l force -d 'Force update of remote refs'
|
||||
complete -f -c git -n '__fish_git_using_command push' -l force-with-lease -d 'Force update of remote refs, stopping if other\'s changes would be overwritten'
|
||||
complete -f -c git -n '__fish_git_using_command push' -l force-if-includes -d 'Force an update only if the tip of the remote-tracking ref has been integrated locally'
|
||||
complete -f -c git -n '__fish_git_using_command push' -s u -l set-upstream -d 'Add upstream (tracking) reference'
|
||||
complete -f -c git -n '__fish_git_using_command push' -s q -l quiet -d 'Be quiet'
|
||||
complete -f -c git -n '__fish_git_using_command push' -s v -l verbose -d 'Be verbose'
|
||||
@@ -1988,10 +1956,9 @@ complete -F -c git -n '__fish_git_using_command restore' -n '__fish_git_contains
|
||||
# switch options
|
||||
complete -f -c git -n __fish_git_needs_command -a switch -d 'Switch to a branch'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -ka '(__fish_git_unique_remote_branches)' -d 'Unique Remote Branch'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -ka '(__fish_git_branches)'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -s c -l create -d 'Create a new branch'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -s C -l force-create -d 'Force create a new branch'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -s d -l detach -rka '(__fish_git_recent_commits --all)'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -ka '(__fish_git_local_branches)'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -r -s c -l create -d 'Create a new branch'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -r -s C -l force-create -d 'Force create a new branch'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -s d -l detach -d 'Switch to a commit for inspection and discardable experiment' -rka '(__fish_git_refs)'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -l guess -d 'Guess branch name from remote branch (default)'
|
||||
complete -f -c git -n '__fish_git_using_command switch' -l no-guess -d 'Do not guess branch name from remote branch'
|
||||
@@ -2072,45 +2039,9 @@ complete -f -c git -n '__fish_git_using_command tag' -s v -l verify -d 'Verify s
|
||||
complete -f -c git -n '__fish_git_using_command tag' -s f -l force -d 'Force overwriting existing tag'
|
||||
complete -f -c git -n '__fish_git_using_command tag' -s l -l list -d 'List tags'
|
||||
complete -f -c git -n '__fish_git_using_command tag' -l contains -xka '(__fish_git_commits)' -d 'List tags that contain a commit'
|
||||
complete -f -c git -n '__fish_git_using_command tag' -n '__fish_git_contains_opt -s d delete -s v verify -s f force' -ka '(__fish_git_tags)' -d Tag
|
||||
complete -f -c git -n '__fish_git_using_command tag' -n '__fish_git_contains_opt -s d delete -s v verify' -ka '(__fish_git_tags)' -d Tag
|
||||
# TODO options
|
||||
|
||||
### update-index
|
||||
complete -c git -n __fish_git_needs_command -a update-index -d 'Register file contents in the working tree to the index'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l add -d 'Add specified files to the index'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l remove -d 'Remove specified files from the index'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l refresh -d 'Refresh current index'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -s q -d 'Continue refresh after error'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l ignore-submodules -d 'Do not try to update submodules'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l unmerged -d 'Continue on unmerged changes in the index'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l ignore-missing -d 'Ignores missing files during a refresh'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l index-info -d 'Read index information from stdin'
|
||||
complete -x -c git -n '__fish_git_using_command update-index' -l chmod -a '+x\tAdd\ execute\ permissions -x\tRemove\ execute\ permissions' -d 'Set execute permissions'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l assume-unchanged -d 'Set the "assume unchanged" bit for the paths'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l no-assume-unchanged -d 'Unset the "assume unchanged" bit'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l really-refresh -d 'Refresh but check stat info unconditionally'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l skip-worktree -d 'Set the "fsmonitor valid" bit'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l no-skip-worktree -d 'Unset the "fsmonitor valid" bit'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l fsmonitor-valid -d 'Set the "fsmonitor valid" bit'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l no-fsmonitor-valid -d 'Unset the "fsmonitor valid" bit'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -s g -l again -d 'Run git update-index on paths with differing index'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l unresolve -d 'Restores the state of a file during a merge'
|
||||
complete -r -c git -n '__fish_git_using_command update-index' -l info-only -d 'Do not create objects in the object database'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l force-remove -d 'Forcefully remove the file from the index'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l replace -d 'Replace conflicting entries'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l stdin -d 'Read list of paths from stdin'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l verbose -d 'Report changes to index'
|
||||
complete -x -c git -n '__fish_git_using_command update-index' -l index-version -a "2\t\t3\t\t4" -d 'Set index-version'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -s z -d 'Seperate paths with NUL instead of LF'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l split-index -d 'Enable split index mode'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l no-split-index -d 'Disable split index mode'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l untracked-cache -d 'Enable untracked cache feature'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l no-untracked-cache -d 'Disable untracked cache feature'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l test-untracked-cache -d 'Only perform tests on the working directory'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l force-untracked-cache -d 'Same as --untracked-cache'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l fsmonitor -d 'Enable files system monitor feature'
|
||||
complete -f -c git -n '__fish_git_using_command update-index' -l no-fsmonitor -d 'Disable files system monitor feature'
|
||||
|
||||
### worktree
|
||||
set -l git_worktree_commands add list lock move prune remove unlock
|
||||
complete -c git -n __fish_git_needs_command -a worktree -d 'Manage multiple working trees'
|
||||
@@ -2172,13 +2103,8 @@ complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_usin
|
||||
complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_using_command show' -ka '(__fish_git_complete_stashes)'
|
||||
|
||||
complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_using_command push' -a '(__fish_git_files modified deleted modified-staged-deleted)'
|
||||
complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_using_command push' -s a -l all -d 'Stash ignored and untracked files'
|
||||
complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_using_command push' -s k -l keep-index -d 'Keep changes in index intact'
|
||||
complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_using_command push' -s p -l patch -d 'Interactively select hunks'
|
||||
complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_using_command push' -s m -l message -d 'Add a description'
|
||||
complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_using_command push' -l no-keep-index -d 'Don\'t keep changes in index intact'
|
||||
complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_using_command push' -s S -l staged -d 'Stash only staged changes'
|
||||
complete -f -c git -n '__fish_git_using_command stash' -n '__fish_git_stash_using_command push' -s u -l include-untracked -d 'Stash untracked files'
|
||||
|
||||
### config
|
||||
complete -f -c git -n __fish_git_needs_command -a config -d 'Set and read git configuration variables'
|
||||
@@ -2349,7 +2275,6 @@ complete -f -c git -n '__fish_git_using_command help' -a submodule -d 'Initializ
|
||||
complete -f -c git -n '__fish_git_using_command help' -a stripspace -d 'Remove unnecessary whitespace'
|
||||
complete -f -c git -n '__fish_git_using_command help' -a switch -d 'Switch to a branch'
|
||||
complete -f -c git -n '__fish_git_using_command help' -a tag -d 'Create, list, delete or verify a tag object signed with GPG'
|
||||
complete -f -c git -n '__fish_git_using_command help' -a update-index -d 'Register file contents in the working tree to the index'
|
||||
complete -f -c git -n '__fish_git_using_command help' -a whatchanged -d 'Show logs with difference each commit introduces'
|
||||
complete -f -c git -n '__fish_git_using_command help' -a worktree -d 'Manage multiple working trees'
|
||||
|
||||
@@ -2465,7 +2390,7 @@ for file in (path filter -xZ $PATH/git-* | path basename)
|
||||
and continue
|
||||
|
||||
# Running `git foo` ends up running `git-foo`, so we need to ignore the `git-` here.
|
||||
set -l cmd (string replace -r '^git-' '' -- $file | string escape)
|
||||
set -l cmd (string replace -r '^git-' '' -- $file)
|
||||
complete -c git -f -n "__fish_git_using_command $cmd" -a "(__fish_git_complete_custom_command $cmd)"
|
||||
set -a __fish_git_custom_commands_completion $file
|
||||
end
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
# Pure Go implementation of jq
|
||||
# https://github.com/itchyny/gojq
|
||||
|
||||
complete -c gojq -s c -l compact-output -d "Compact output, no pretty-print"
|
||||
complete -c gojq -s r -l raw-output -d "Output raw strings without quotes"
|
||||
complete -c gojq -s j -l join-output -d "Stop printing a newline after each output"
|
||||
complete -c gojq -s 0 -l nul-output -d "Print NUL after each output"
|
||||
complete -c gojq -s C -l color-output -d "Colorize output even if piped"
|
||||
complete -c gojq -s M -l monochrome-output -d "Stop colorizing output"
|
||||
complete -c gojq -l yaml-output -d "Output as YAML"
|
||||
complete -c gojq -l indent -x -d "Number of spaces for indentation"
|
||||
complete -c gojq -l tab -d "Use tabs for indentation"
|
||||
complete -c gojq -s n -l null-input -d "Use null as input value"
|
||||
complete -c gojq -s R -l raw-input -d "Read input as raw strings"
|
||||
complete -c gojq -s s -l slurp -d "Read all inputs into an array"
|
||||
complete -c gojq -l stream -d "Parse input in stream fashion"
|
||||
complete -c gojq -l yaml-input -d "Read input as YAML"
|
||||
complete -c gojq -s f -l from-file -rF -d "Load query from file"
|
||||
complete -c gojq -s L -xa "(__fish_complete_directories)" -d "Directory to search modules from"
|
||||
complete -c gojq -l arg -x -d "Set variable to string value"
|
||||
complete -c gojq -l argjson -x -d "Set variable to JSON value"
|
||||
complete -c gojq -l slurpfile -x -d "Set variable to the JSON contents of the file"
|
||||
complete -c gojq -l rawfile -x -d "Set variable to the contents of the file"
|
||||
complete -c gojq -l args -d "Consume remaining arguments as positional string values"
|
||||
complete -c gojq -l jsonargs -d "Consume remaining arguments as positional JSON values"
|
||||
complete -c gojq -s e -l exit-status -d "Exit 1 when the last value is false or null"
|
||||
complete -c gojq -s v -l version -d "Print gojq version"
|
||||
complete -c gojq -s h -l help -d "Print help"
|
||||
@@ -1 +0,0 @@
|
||||
complete -c gradlew -w gradle
|
||||
@@ -1,5 +1,9 @@
|
||||
complete -c gunzip -s c -l stdout -d "Compress to stdout"
|
||||
complete -c gunzip -k -x -a "(__fish_complete_suffix .gz .tgz)"
|
||||
complete -c gunzip -k -x -a "(
|
||||
__fish_complete_suffix .gz
|
||||
__fish_complete_suffix .tgz
|
||||
)
|
||||
"
|
||||
complete -c gunzip -s f -l force -d Overwrite
|
||||
complete -c gunzip -s h -l help -d "Display help and exit"
|
||||
complete -c gunzip -s k -l keep -d "Keep input files"
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
complete -c gv -k -xa "(__fish_complete_suffix .ps .ps.gz .eps .pdf)"
|
||||
complete -c gv -k -xa "(__fish_complete_suffix .ps)"
|
||||
complete -c gv -k -xa "(__fish_complete_suffix .ps.gz)"
|
||||
complete -c gv -k -xa "(__fish_complete_suffix .eps)"
|
||||
complete -c gv -k -xa "(__fish_complete_suffix .pdf)"
|
||||
complete -c gv -l monochrome -d 'Display document using only black and white'
|
||||
complete -c gv -l grayscale -d 'Display document without colors'
|
||||
complete -c gv -l color -d 'Display document as usual'
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
complete -c gw -w gradle
|
||||
@@ -1,5 +1,10 @@
|
||||
complete -c gzip -s c -l stdout -d "Compress to stdout"
|
||||
complete -c gzip -s d -l decompress -k -x -a "(__fish_complete_suffix .gz .tgz)"
|
||||
complete -c gzip -s d -l decompress -k -x -a "
|
||||
(
|
||||
__fish_complete_suffix .gz
|
||||
__fish_complete_suffix .tgz
|
||||
)
|
||||
"
|
||||
|
||||
complete -c gzip -s f -l force -d Overwrite
|
||||
complete -c gzip -s h -l help -d "Display help and exit"
|
||||
|
||||
8
share/completions/highlight.fish
Normal file
8
share/completions/highlight.fish
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
complete -c highlight -s O -l out-format -d 'Output file in given format' -xa 'xterm256 latex tex rtf html xhtml ansi bbcode svg'
|
||||
complete -c highlight -s t -l tab -d 'Specify tab length' -x
|
||||
complete -c highlight -s i -l input -d 'Name of the input file' -r
|
||||
complete -c highlight -s o -l output -d 'Name of the output file' -r
|
||||
complete -c highlight -s d -l outdir -d 'Output directory' -r
|
||||
complete -c highlight -s S -l syntax -d 'Set type of the source code' -xa "(highlight -p | sed -r 's/^(.*\S)\s+:\s*(\S+).*\$/\2\t\1/; /^\$/d')"
|
||||
complete -c highlight -s s -l style -d 'Highlight style' -xa "(highlight --list-themes | sed '/^\$\| /d')"
|
||||
@@ -11,4 +11,4 @@ complete -c hjson -n __fish_should_complete_switches -a -rt -d "round trip comme
|
||||
complete -c hjson -n __fish_should_complete_switches -a -nocol -d "disable color output"
|
||||
complete -c hjson -n __fish_should_complete_switches -a "-cond=" -d "set condense option [default 60]"
|
||||
|
||||
complete -c hjson -k -xa "(__fish_complete_suffix .hjson .json)"
|
||||
complete -c hjson -k -xa "(__fish_complete_suffix .hjson; __fish_complete_suffix .json)"
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
set -l subcommands 'bind split'
|
||||
set -l subcommand_show_condition "not __fish_seen_subcommand_from $subcommands"
|
||||
set -l split_option_show_condition "__fish_seen_subcommand_from split"
|
||||
|
||||
complete -c horcrux -a bind -n "$subcommand_show_condition" -f -d 'Bind directory'
|
||||
complete -c horcrux -a split -n "$subcommand_show_condition" -f -d 'Split file'
|
||||
complete -c horcrux -s n -r -n "$split_option_show_condition" -d 'Count of horcruxes to make'
|
||||
complete -c horcrux -s t -r -n "$split_option_show_condition" -d 'Count of horcruxes required to resurrect the original file'
|
||||
@@ -1,22 +1,11 @@
|
||||
# htop is an interactive process viewer.
|
||||
# See: https://htop.dev
|
||||
# See: http://hisham.hm/htop
|
||||
|
||||
complete -c htop -l delay -s d -d 'Update interval' -x
|
||||
complete -c htop -l no-color -s C -d 'Start htop in monochrome mode'
|
||||
complete -c htop -l no-colour -d 'Start htop in monochrome mode'
|
||||
complete -c htop -l filter -s F -d 'Filter processes by terms matching the commands' -x
|
||||
complete -c htop -l help -s h -d 'Show help and exit'
|
||||
complete -c htop -l pid -s p -d 'Show only given PIDs' -xa '(__fish_append , (__fish_complete_pids))'
|
||||
complete -c htop -l sort-key -s s -d 'Sort column' -xa '(htop --sort-key help)'
|
||||
complete -c htop -l user -s u -d 'Monitor given user' -xa '(__fish_complete_users)'
|
||||
complete -c htop -l no-unicode -s U -d 'Do not use unicode but ASCII characters for graph meters'
|
||||
complete -c htop -l no-mouse -s M -d 'Disable support of mouse control'
|
||||
complete -c htop -l readonly -d 'Disable all system and process changing features'
|
||||
complete -c htop -l version -s V -d 'Show version and exit'
|
||||
complete -c htop -l tree -s t -d 'Show processes in tree view'
|
||||
complete -c htop -l highlight-changes -s H -d 'Highlight new and old processes' -x
|
||||
complete -c htop -l drop-capabilites -d 'Drop unneeded Linux capabilites (Requires libpcap support)' -xka "
|
||||
off
|
||||
basic
|
||||
strict
|
||||
"
|
||||
complete -c htop -l pid -s p -d 'Show only given PIDs' -x -a '(__fish_append , (__fish_complete_pids))'
|
||||
complete -c htop -l user -s u -d 'Monitor given user' -x -a '(__fish_complete_users)'
|
||||
complete -c htop -l sort-key -d 'Sort column' -xa '(htop --sort-key help)'
|
||||
complete -c htop -l version -s v -d 'Show version and exit'
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
complete -c ibmcloud -f -a '(__fish_argcomplete_complete (commandline -opc) --generate-bash-completion)'
|
||||
@@ -1,9 +1,5 @@
|
||||
function __fish_print_debian_services --description 'Prints services installed'
|
||||
for service in /etc/init.d/*
|
||||
if test -x $service
|
||||
basename $service
|
||||
end
|
||||
end
|
||||
path filter -fxZ /etc/init.d/* | path basename
|
||||
end
|
||||
|
||||
function __fish_invoke_rcd_has_service
|
||||
|
||||
@@ -4,12 +4,11 @@
|
||||
# Also the manpage and even the grammar it accepts is utter shite (options can only be before commands, some things are only in the BNF, others only in the text)
|
||||
# It also quite likes the word "dev", even though it needs it less than the BNF specifies
|
||||
|
||||
set -l ip_commands link address addrlabel route rule neighbour ntable tunnel tuntap maddr mroute mrule monitor xfrm netns l2tp tcp_metrics
|
||||
set -l ip_commands link address addrlabel route rule neigh ntable tunnel tuntap maddr mroute mrule monitor xfrm netns l2tp tcp_metrics
|
||||
set -l ip_addr a ad add addr addre addres address
|
||||
set -l ip_link l li lin link
|
||||
set -l ip_neigh n ne nei neig neigh neighb neighbo neighbor neighbour
|
||||
set -l ip_route r ro rou rout route
|
||||
set -l ip_all_commands $ip_commands $ip_addr $ip_link $ip_neigh $ip_route
|
||||
set -l ip_all_commands $ip_commands $ip_addr $ip_link $ip_route
|
||||
|
||||
function __fish_ip_commandwords
|
||||
set -l skip 0
|
||||
@@ -62,10 +61,10 @@ function __fish_ip_commandwords
|
||||
else
|
||||
echo $word
|
||||
end
|
||||
case n ne nei neig neigh neighb neighbo neighbor neighbour
|
||||
case n ne nei neig neigh
|
||||
if test $have_command = 0
|
||||
set have_command 1
|
||||
echo neighbour
|
||||
echo neigh
|
||||
else
|
||||
echo $word
|
||||
end
|
||||
@@ -240,18 +239,6 @@ function __fish_ip_types
|
||||
xfrm "Virtual xfrm interface"
|
||||
end
|
||||
|
||||
function __fish_ip_neigh_states
|
||||
printf '%s\t%s\n' permanent "entry is valid forever" \
|
||||
noarp "entry is valid without validation" \
|
||||
reachable "entry is valid until timeout" \
|
||||
stale "entry is valid but suspicious" \
|
||||
none "pseudo state" \
|
||||
incomplete "entry has not yet been validated" \
|
||||
delay "entry validation is currently delayed" \
|
||||
probe "neighbor is being probed" \
|
||||
failed "neighbor validation has ultimately failed"
|
||||
end
|
||||
|
||||
function __fish_complete_ip
|
||||
set -l cmd (__fish_ip_commandwords)
|
||||
set -l count (count $cmd)
|
||||
@@ -431,66 +418,6 @@ function __fish_complete_ip
|
||||
case help
|
||||
end
|
||||
end
|
||||
case neighbour
|
||||
if not set -q cmd[3]
|
||||
printf '%s\t%s\n' help "Show help" \
|
||||
add "Add new neighbour entry" \
|
||||
delete "Delete neighbour entry" \
|
||||
change "Change neighbour entry" \
|
||||
replace "Add or change neighbour entry" \
|
||||
show "List neighbour entries" \
|
||||
flush "Flush neighbour entries" \
|
||||
get "Lookup neighbour entry"
|
||||
else
|
||||
switch $cmd[2]
|
||||
case add del delete change replace
|
||||
switch $cmd[-2]
|
||||
case lladdr
|
||||
case nud
|
||||
__fish_ip_neigh_states
|
||||
case proxy
|
||||
case dev
|
||||
__fish_ip_device
|
||||
case '*'
|
||||
echo lladdr
|
||||
echo nud
|
||||
echo proxy
|
||||
echo dev
|
||||
echo router
|
||||
echo use
|
||||
echo managed
|
||||
echo extern_learn
|
||||
end
|
||||
case show flush
|
||||
switch $cmd[-2]
|
||||
case to
|
||||
case dev
|
||||
__fish_ip_device
|
||||
case vrf
|
||||
case nud
|
||||
__fish_ip_neigh_states
|
||||
echo all
|
||||
case '*'
|
||||
echo to
|
||||
echo dev
|
||||
echo vrf
|
||||
echo nomaster
|
||||
echo proxy
|
||||
echo unused
|
||||
echo nud
|
||||
end
|
||||
case get
|
||||
switch $cmd[-2]
|
||||
case to
|
||||
case dev
|
||||
__fish_ip_device
|
||||
case '*'
|
||||
echo proxy
|
||||
echo to
|
||||
echo dev
|
||||
end
|
||||
end
|
||||
end
|
||||
case route
|
||||
if not set -q cmd[3]
|
||||
printf '%s\t%s\n' add "Add new route" \
|
||||
|
||||
@@ -1,176 +0,0 @@
|
||||
# Execute an `iwctl ... list` command and parse output
|
||||
function __iwctl_filter -w iwctl
|
||||
# set results "iwctl $cmd list | tail -n +5"
|
||||
# if test -n "$empty"
|
||||
# set -a results "| string match --invert '*$empty*'"
|
||||
# end
|
||||
# eval "$results" | awk '{print $2}'
|
||||
# awk does not work on multiline entries, therefor we use string match,
|
||||
# which has the added benefit of filtering out the `No devices in ...` lines
|
||||
|
||||
argparse -i all-columns -- $argv
|
||||
|
||||
# remove color escape sequences
|
||||
set -l results (iwctl $argv | string replace -ra '\e\[[\d;]+m' '')
|
||||
# calculate column widths
|
||||
set -l headers $results[3]
|
||||
# We exploit the fact that all column labels will have >2 space to the left, and inside column labels there is always only one space.
|
||||
set -l leading_ws (string match -r "^ *" -- $headers | string length)
|
||||
set -l column_widths (string match -a -r '(?<= )\S.*?(?: (?=\S)|$)' -- $headers | string length)
|
||||
|
||||
if set -ql _flag_all_columns
|
||||
for line in (string match " *" -- $results[5..] | string sub -s (math $leading_ws + 1))
|
||||
for column_width in $column_widths
|
||||
printf %s\t (string sub -l $column_width -- $line | string trim -r)
|
||||
set line (string sub -s (math $column_width + 1) -- $line)
|
||||
end
|
||||
printf "\n"
|
||||
end
|
||||
else
|
||||
# only take lines starting with ` `, i.e., no `No devices ...`
|
||||
# then take the first column as substring
|
||||
string match " *" $results[5..] | string sub -s (math $leading_ws + 1) -l $column_widths[1] | string trim -r
|
||||
end
|
||||
# string match -rg " .{$(math $header_spaces[1] - 2)}(.{$(math $first_column_label + $header_spaces[2])})" $results[5..] | string trim
|
||||
end
|
||||
|
||||
function __iwctl_match_subcoms
|
||||
set -l match (string split --no-empty " " -- $argv)
|
||||
|
||||
set argv (commandline -poc)
|
||||
# iwctl allows to specify arguments for username, password, passphrase and dont-ask regardless of any following commands
|
||||
argparse -i 'u/username=' 'p/password=' 'P/passphrase=' 'v/dont-ask' -- $argv
|
||||
set argv $argv[2..]
|
||||
|
||||
if test (count $argv) != (count $match)
|
||||
return 1
|
||||
end
|
||||
|
||||
while set -q argv[1]
|
||||
string match -q -- $match[1] $argv[1]
|
||||
or return 1
|
||||
set -e match[1] argv[1]
|
||||
end
|
||||
end
|
||||
|
||||
function __iwctl_connect
|
||||
set argv (commandline -poc)
|
||||
# remove all options
|
||||
argparse -i 'u/username=' 'p/password=' 'P/passphrase=' 'v/dont-ask' -- $argv
|
||||
# station name should now be the third argument (`iwctl station <wlan>`)
|
||||
for network in (__iwctl_filter station $argv[3] get-networks rssi-dbms --all-columns)
|
||||
set network (string split \t -- $network)
|
||||
set -l strength "$network[3]"
|
||||
# This follows iwctls display of * to ****
|
||||
# https://git.kernel.org/pub/scm/network/wireless/iwd.git/tree/client/station.c?id=4a0a97379008489daa108c9bc0a4204c1ae9c6a8#n380
|
||||
if test $strength -ge -6000
|
||||
set strength 4
|
||||
else if test $strength -ge -6700
|
||||
set strength 3
|
||||
else if test $strength -ge -7500
|
||||
set strength 2
|
||||
else
|
||||
set strength 1
|
||||
end
|
||||
|
||||
printf "%s\t[%s] - %s\n" "$network[1]" (string repeat -n $strength '*' | string pad -rw 4 -c -) "$network[2]"
|
||||
end
|
||||
end
|
||||
|
||||
# The `empty` messages in case we want to go back to using those
|
||||
# set ad_hoc '(__iwctl_filter ad-hoc "No devices in Ad-Hoc mode available.")'
|
||||
# set adpater '(__iwctl_filter adapter)'
|
||||
# set ap '(__iwctl_filter ap "No devices in access point mode available.")'
|
||||
# set device '(__iwctl_filter device)'
|
||||
# set dpp '(__iwctl_filter dpp "No DPP-capable devices available")'
|
||||
# set known_networks '(__iwctl_filter known-networks)'
|
||||
# set station '(__iwctl_filter station "No devices in Station mode available.")'
|
||||
# set wsc '(__iwctl_filter wsc "No WSC-capable devices available")'
|
||||
|
||||
complete -f iwctl
|
||||
|
||||
# Options
|
||||
complete -c iwctl -s h -l help
|
||||
complete -c iwctl -s p -l password -rf
|
||||
complete -c iwctl -s u -l username -rf
|
||||
complete -c iwctl -s P -l passphrase -rf
|
||||
complete -c iwctl -s v -l dont-ask -d "Don't ask for missing credentials"
|
||||
|
||||
# Subcommand
|
||||
complete -c iwctl -n '__iwctl_match_subcoms' \
|
||||
-a "ad-hoc adapter ap debug device dpp exit help known-networks quit station version wsc"
|
||||
|
||||
# ad-hoc
|
||||
complete -c iwctl -n '__iwctl_match_subcoms ad-hoc' -a list -d "List devices in Ad-Hoc mode"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms ad-hoc' -a "(__iwctl_filter ad-hoc list)"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "ad-hoc *"' -n 'not __iwctl_match_subcoms ad-hoc list' -a start -d "Start or join an Ad-Hoc network"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "ad-hoc *"' -n 'not __iwctl_match_subcoms ad-hoc list' -a start_open -d "Start of join an open Ad-Hoc network"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "ad-hoc *"' -n 'not __iwctl_match_subcoms ad-hoc list' -a stop -d "Leave an Ad-Hoc network"
|
||||
|
||||
# adapter
|
||||
complete -c iwctl -n '__iwctl_match_subcoms adapter' -a "list" -d "List adapters"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms adapter' -a "(__iwctl_filter adapter list)"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "adapter *"' -n 'not __iwctl_match_subcoms adapter list' -a "show" -d "Show adapter info"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "adapter *"' -n 'not __iwctl_match_subcoms adapter list' -a "set-property" -d "Set property"
|
||||
# TODO implement completions for `properties`, i.e. all rows with `*` in first column
|
||||
|
||||
# ap
|
||||
complete -c iwctl -n '__iwctl_match_subcoms ap' -a "list" -d "List devices in AP mode"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms ap' -a "(__iwctl_filter ap list)"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "ap *"' -n 'not __iwctl_match_subcoms ap list' -a start -d "Start an access point"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "ap *"' -n 'not __iwctl_match_subcoms ap list' -a start-profile -d "Start an access point based on a disk profile"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "ap *"' -n 'not __iwctl_match_subcoms ap list' -a stop -d "Stop a started access point"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "ap *"' -n 'not __iwctl_match_subcoms ap list' -a show -d "Show AP info"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "ap *"' -n 'not __iwctl_match_subcoms ap list' -a get-networks -d "Get network list after scanning"
|
||||
|
||||
# debug
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "debug *"' -a connect -d "Connect to a specific BSS"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "debug *"' -a roam -d "Roam to a BSS"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "debug *"' -a get-networks -d "Get networks"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "debug *"' -a autoconnect -d "Set autoconnect property"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "debug * autoconnect"' -a "on off" -d "Set autoconnect property"
|
||||
|
||||
# device
|
||||
complete -c iwctl -n '__iwctl_match_subcoms device' -a "list" -d "List devices"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms device' -a "(__iwctl_filter device list)"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "device *"' -n 'not __iwctl_match_subcoms device list' -a "show" -d "Show device info"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "device *"' -n 'not __iwctl_match_subcoms device list' -a "set-property" -d "Set property"
|
||||
# TODO implement completions for `properties`, i.e. all rows with `*` in first column
|
||||
|
||||
# dpp
|
||||
complete -c iwctl -n '__iwctl_match_subcoms dpp' -a "list" -d "List DPP-capable devices"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms dpp' -a "(__iwctl_filter dpp list)"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "dpp *"' -n 'not __iwctl_match_subcoms dpp list' -a start-enrollee -d "Starts a DPP Enrollee"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "dpp *"' -n 'not __iwctl_match_subcoms dpp list' -a start-configurator -d "Starts a DPP Configurator"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "dpp *"' -n 'not __iwctl_match_subcoms dpp list' -a stop -d "Aborts a DPP operations"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "dpp *"' -n 'not __iwctl_match_subcoms dpp list' -a show -d "Show the DPP state"
|
||||
|
||||
# known-networks
|
||||
# TODO Does not support SSIDs ending/starting on whitespace. Not sure how to fix.
|
||||
complete -c iwctl -n '__iwctl_match_subcoms known-networks' -a "list" -d "List known networks"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms known-networks' -a "(__iwctl_filter known-networks list)"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "known-networks *"' -n 'not __iwctl_match_subcoms known-networks list' -a forget -d "Forget a known network"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "known-networks *"' -n 'not __iwctl_match_subcoms known-networks list' -a show -d "Show nown network"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "known-networks *"' -n 'not __iwctl_match_subcoms known-networks list' -a set-property -d "Set property"
|
||||
|
||||
# station
|
||||
complete -c iwctl -n '__iwctl_match_subcoms station' -a "list" -d "List devices in Station mode"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms station' -a "(__iwctl_filter station list)"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station *"' -n 'not __iwctl_match_subcoms station list' -a connect -d "Connect to network"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station * connect"' -a "(__iwctl_connect)" -d "Connect to network" --keep-order
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station *"' -n 'not __iwctl_match_subcoms station list' -a connect-hidden -d "Connect to hidden network"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station *"' -n 'not __iwctl_match_subcoms station list' -a disconnect -d "Disconnect"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station *"' -n 'not __iwctl_match_subcoms station list' -a get-networks -d "Get networks"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station * get-networks"' -a "rssi-dbms rssi-bars"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station *"' -n 'not __iwctl_match_subcoms station list' -a get-hidden-access-points -d "Get hidden APs"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station * get-hidden-access-points"' -a "rssi-dbms"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station *"' -n 'not __iwctl_match_subcoms station list' -a scan -d "Scan for networks"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "station *"' -n 'not __iwctl_match_subcoms station list' -a show -d "Show station info"
|
||||
|
||||
# wsc
|
||||
complete -c iwctl -n '__iwctl_match_subcoms wsc' -a "list" -d "List WSC-capable devices"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms wsc' -a "(__iwctl_filter wsc list)"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "wsc *"' -n 'not __iwctl_match_subcoms wsc list' -a push-button -d "PushButton Mode"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "wsc *"' -n 'not __iwctl_match_subcoms wsc list' -a start-user-pin -d "PIN mode"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "wsc *"' -n 'not __iwctl_match_subcoms wsc list' -a start-pin -d "PIN mode with generated PIN"
|
||||
complete -c iwctl -n '__iwctl_match_subcoms "wsc *"' -n 'not __iwctl_match_subcoms wsc list' -a cancel -d "Aborts WSC operations"
|
||||
@@ -1,45 +0,0 @@
|
||||
|
||||
function __fish_complete_macos_java_version
|
||||
set -l json (/usr/libexec/java_home -X|plutil -convert json -o - -)
|
||||
osascript -l JavaScript -s o -e "JSON.parse('$json').forEach(e => console.log(`\${e.JVMVersion}\t\${e.JVMArch} \${e.JVMName} by--exec \${e.JVMVendor}`))"
|
||||
end
|
||||
|
||||
function __fish_complete_macos_java_home_exec
|
||||
# seperate the buffer into two parts
|
||||
# where the first used to get the JAVA_HOME
|
||||
# and the second is the subcommand to complete
|
||||
set -l cmds (string replace -a -r ' *java_home *' '' (commandline) )
|
||||
set -l cmds (string replace -r ' *--exec *' \n -- "$cmds")
|
||||
|
||||
# parse the java_home argv to get $JAVA_HOME/bin
|
||||
argparse v/version= a/arch= -- "$cmds[1]"
|
||||
set -l get_java_home /usr/libexec/java_home
|
||||
if test -n "$_flag_v"
|
||||
set get_java_home "$get_java_home -v $_flag_v"
|
||||
end
|
||||
if test -n "$_flag_a"
|
||||
set get_java_home "$get_java_home -a $_flag_a"
|
||||
end
|
||||
set -l java_bin_dir (eval $get_java_home)"/bin"
|
||||
|
||||
# if such $binary in $JAVA_HOME/bin
|
||||
# complete the subcommand
|
||||
# else
|
||||
# complete using $binary as prefix
|
||||
set -l binary (string match -r '^.*?(?= )' $cmds[2])
|
||||
if test -f "$java_bin_dir/$binary"
|
||||
complete -C $cmds[2]
|
||||
else
|
||||
command ls $java_bin_dir | string match -r ^"$binary.*"
|
||||
end
|
||||
end
|
||||
|
||||
complete -ec java_home
|
||||
complete -xc java_home -n "__fish_not_contain_opt -s h exec " -l exec
|
||||
complete -xc java_home -n "__fish_contains_opt exec " -a "(__fish_complete_macos_java_home_exec)"
|
||||
complete -xc java_home -n "__fish_not_contain_opt -s h exec " -s v -l version -a '(__fish_complete_macos_java_version)' -d 'Filter versions (as if JAVA_VERSION had been set in the environment).'
|
||||
complete -xc java_home -n "__fish_not_contain_opt -s h exec " -s a -l arch -a "arm64 x86_64" -d 'Filter architecture (as if JAVA_ARCH had been set in the environment).'
|
||||
complete -xc java_home -n "__fish_not_contain_opt -s h exec " -s h -l help -d 'Usage information.'
|
||||
complete -fc java_home -n "__fish_not_contain_opt -s h exec " -s F -l failfast -d 'Fail when filters return no JVMs, do not continue with default.'
|
||||
complete -fc java_home -n "__fish_not_contain_opt -s h exec " -s X -l xml -d 'Print full JVM list and additional data as XML plist.'
|
||||
complete -fc java_home -n "__fish_not_contain_opt -s h exec " -s V -l verbose -d 'Print full JVM list with architectures.'
|
||||
@@ -1,29 +1,27 @@
|
||||
# jq is a lightweight and flexible command-line JSON processor.
|
||||
# See: https://stedolan.github.io/jq
|
||||
|
||||
complete -c jq -l version -d 'Output jq version'
|
||||
complete -c jq -l seq -d 'Use application/json-seq MIME type'
|
||||
complete -c jq -l version -d 'Output version and exit'
|
||||
complete -c jq -l seq -d 'Use application/json-seq MIME type scheme'
|
||||
complete -c jq -l stream -d 'Parse input in streaming fasion'
|
||||
complete -c jq -l slurp -s s -d 'Read input to array and filter once'
|
||||
complete -c jq -l raw-input -s R -d 'Parse input as string (not JSON)'
|
||||
complete -c jq -l slurp -s s -d 'Run filter just once in large array'
|
||||
complete -c jq -l raw-input -s R -d 'Don\'t parse as JSON but as string'
|
||||
complete -c jq -l null-input -s n -d 'Ignore input and treat it as null'
|
||||
complete -c jq -l compact-output -s c -d 'Don\'t pretty-print JSON'
|
||||
complete -c jq -l tab -d 'Indent w/ tabs instead of spaces'
|
||||
complete -c jq -l indent -x -d 'Num of spaces per indent'
|
||||
complete -c jq -l tab -d 'Use a tab for indentation instead of 2 spaces'
|
||||
complete -c jq -l indent -x -d 'Use given number of spaces for indentation'
|
||||
complete -c jq -l color-output -s C -d 'Color output'
|
||||
complete -c jq -l monochrome-output -s M -d 'Don\'t color output'
|
||||
complete -c jq -l ascii-output -s a -d 'Replace UTF-8 chars w/ escape sequences'
|
||||
complete -c jq -l unbuffered -d 'Flush output after each JSON object'
|
||||
complete -c jq -l ascii-output -s a -d 'Replace UTF-8 characters with escape sequences'
|
||||
complete -c jq -l unbuffered -d 'Flush output after each JSON object is printed'
|
||||
complete -c jq -l sort-keys -s S -d 'Sort object keys in output'
|
||||
complete -c jq -l raw-output -s r -d 'Write string output w/out quotes'
|
||||
complete -c jq -l raw-output -s r -d 'If output is string output its content directly to stdout'
|
||||
complete -c jq -l join-output -s j -d 'Raw output without newlines'
|
||||
complete -c jq -l from-file -s f -r -d 'Read filter from file'
|
||||
complete -c jq -s L -d 'Prepend dir to module search list'
|
||||
complete -c jq -l exit-status -s e -d 'Set exit status from output'
|
||||
complete -c jq -s L -d 'Prepend given directory to search modules'
|
||||
complete -c jq -l exit-status -s e -x -d 'Set exit status'
|
||||
complete -c jq -l arg -x -d 'Set variable'
|
||||
complete -c jq -l argjson -x -d 'Set JSON-encoded variable'
|
||||
complete -c jq -l slurpfile -x -d 'Read JSON in file and bind to given variable'
|
||||
complete -c jq -l argfile -x -d 'Read JSON in file and bind to given variable [see man]'
|
||||
complete -c jq -l args -d 'Remaining args are positional string args'
|
||||
complete -c jq -l jsonargs -d 'Remaining args are positional JSON text args'
|
||||
complete -c jq -l run-tests -d 'Run tests in given file'
|
||||
complete -c jq -l slurpfile -r -d 'Read JSON in file and bind to given variable'
|
||||
complete -c jq -l argfile -r -d 'Read JSON in file and bind to given variable [see man]'
|
||||
complete -c jq -l run-tests -r -d 'Run tests in given file'
|
||||
|
||||
@@ -12,7 +12,7 @@ complete -c kak -o q -d 'in filter mode be quiet about errors applying keys'
|
||||
complete -c kak -o ui -x -a 'ncurses dummy json' -d 'set the type of user interface to use'
|
||||
complete -c kak -o l -d 'list existing sessions'
|
||||
complete -c kak -o clear -d 'clear dead sessions'
|
||||
complete -c kak -o debug -x -d 'initial debug option value'
|
||||
complete -c kak -o debug -x -d 'initial debug option value' -a 'hooks shell profile keys commands'
|
||||
complete -c kak -o version -d 'display kakoune version and exit'
|
||||
complete -c kak -o ro -d 'readonly mode'
|
||||
complete -c kak -o help -d 'display a help message and quit'
|
||||
|
||||
@@ -5,4 +5,4 @@ set -l commands add edit list view grep update delete template import export era
|
||||
complete -c kb -s h -l help -d 'Show help and exit'
|
||||
complete -c kb -l version -d 'Show version and exit'
|
||||
|
||||
complete -c kb -n "not __fish_seen_subcommand_from $commands" -a $commands
|
||||
complete -c kb -n "not __fish_seen_subcommand_from $commands" -a "$commands"
|
||||
|
||||
@@ -25,7 +25,7 @@ complete -c killall -xa '(__fish_complete_proc | string replace -r -- "^-" "")'
|
||||
if killall --version >/dev/null 2>/dev/null # GNU
|
||||
complete -c killall -s e -l exact -d 'Require an exact match for very long names'
|
||||
complete -c killall -s I -l ignore-case -d 'Do case insensitive process name match'
|
||||
complete -c killall -s g -l process-group -d 'Kill the process group to which the process belongs. The kill signal is only sent once per group, even if multiple processes belonging to the same process group were found'
|
||||
complete -c killall -s g -l process-group -d 'Kill the process group to which the process belongs with one signal'
|
||||
complete -c killall -s i -l interactive -d 'Interactively ask for confirmation before killing'
|
||||
complete -c killall -s u -l user -x -a "(__fish_complete_users)" -d 'Kill only processes the specified user owns. Command names are optional'
|
||||
complete -c killall -s w -l wait -d 'Wait for all killed processes to die'
|
||||
|
||||
7
share/completions/kitty.fish
Normal file
7
share/completions/kitty.fish
Normal file
@@ -0,0 +1,7 @@
|
||||
function __ksi_completions
|
||||
set --local ct (commandline --current-token)
|
||||
set --local tokens (commandline --tokenize --cut-at-cursor --current-process)
|
||||
printf "%s\n" $tokens $ct | command kitty +complete fish2
|
||||
end
|
||||
|
||||
complete -f -c kitty -a "(__ksi_completions)"
|
||||
@@ -1,6 +1,6 @@
|
||||
# Completions for the FreeBSD `kldload` kernel module load utility
|
||||
function __fish_list_kldload_options
|
||||
set -l klds (__fish_complete_suffix --complete=/boot/kernel/(commandline -ct) ".ko" | string replace -r '.*/(.+)\\.ko' '$1')
|
||||
set -l klds (__fish_complete_suffix /boot/kernel/(commandline -ct) ".ko" | string replace -r '.*/(.+)\\.ko' '$1')
|
||||
# Completing available klds is fast, but completing it with a call to __fish_whatis
|
||||
# is decidedly not. With 846 modules (FreeBSD 11.1), fish --profile 'complete -C"kldload "' returns the following:
|
||||
# 10671 11892698 > complete -C"kldload "
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
# kmutil <clear-staging|trigger-panic-medic>
|
||||
# kmutil -h
|
||||
|
||||
if test (command -v kmutil) = /usr/bin/kmutil
|
||||
if test "$(command -s kmutil)" = /usr/bin/kmutil
|
||||
command kmutil --generate-completion-script=fish | source
|
||||
end
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
function __krita_complete_image_format
|
||||
set -l previous_token (commandline -oc)[-1]
|
||||
set -l current_token (commandline -t)
|
||||
|
||||
if test "$previous_token" = --new-image
|
||||
switch $current_token
|
||||
case '*,*,*'
|
||||
# nothing is completed as arbitrary width and height are expected
|
||||
case '*,'
|
||||
printf '%s,\n' U8 U16 F16 F32 |
|
||||
string replace -r '^' $current_token
|
||||
case '*'
|
||||
printf '%s,\n' RGBA XYZA LABA CMYKA GRAY YCbCrA
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function __krita_list_workspaces
|
||||
path basename ~/.local/share/krita/workspaces/*.kws |
|
||||
path change-extension ''
|
||||
end
|
||||
|
||||
complete -c krita -s h -l help -d 'show help'
|
||||
complete -c krita -l help-all -d 'show help with Qt options'
|
||||
complete -c krita -s v -l version -d 'show version'
|
||||
|
||||
complete -c krita -l export -d 'export file as image'
|
||||
complete -c krita -l export-pdf -d 'export file as PDF'
|
||||
complete -c krita -l export-sequence -d 'export animation as sequence'
|
||||
|
||||
complete -c krita -l export-filename -d 'exported filename' -n '__fish_seen_subcommand_from --export --export-pdf --export-sequence' -r
|
||||
|
||||
complete -c krita -l template -d 'open template' -r
|
||||
|
||||
complete -c krita -l nosplash -d 'hide splash screen'
|
||||
complete -c krita -l canvasonly -d 'open with canvasonly mode'
|
||||
complete -c krita -l fullscreen -d 'open with fullscreen mode'
|
||||
complete -c krita -l workspace -d 'open with workspace' -a '(__krita_list_workspaces)' -x
|
||||
complete -c krita -l file-layer -d 'open with file-layer' -r
|
||||
complete -c krita -l resource-location -d 'open with resource' -r
|
||||
|
||||
complete -c krita -l new-image -d 'open with new image'
|
||||
complete -c krita -a '(__krita_complete_image_format)' -x
|
||||
@@ -1,4 +1,4 @@
|
||||
complete -c latexmk -k -x -a "(__fish_complete_suffix --description='(La)TeX file' .tex)"
|
||||
complete -c latexmk -k -x -a "(__fish_complete_suffix (commandline -ct) .tex '(La)TeX file')"
|
||||
complete -c latexmk -o bibtex -d 'use bibtex when needed (default)'
|
||||
complete -c latexmk -o bibtex- -d 'never use bibtex'
|
||||
complete -c latexmk -o bibtex-cond -d 'use bibtex when needed, but only if the bib files exist'
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
#loginctl (systemd 254)
|
||||
#loginctl (systemd 248)
|
||||
|
||||
#variables
|
||||
set -l seen __fish_seen_subcommand_from
|
||||
set -l commands activate attach disable-linger enable-linger flush-devices kill-session kill-user list-seats list-sessions list-users lock-session lock-sessions seat-status session-status show-seat show-session show-user terminate-seat terminate-session terminate-user unlock-session unlock-sessions user-status
|
||||
set -l output cat export json json-pretty json-seq json-sse short short-full short-iso short-iso-precise short-monotonic short-precise short-unix verbose with-unit
|
||||
|
||||
complete -c loginctl -f
|
||||
|
||||
#commands
|
||||
complete -c loginctl -x -n "not $seen $commands" -a "$commands"
|
||||
|
||||
@@ -27,23 +25,3 @@ complete -c loginctl -x -n "not $seen $commands" -s P -d "Equivalent to --value
|
||||
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"
|
||||
|
||||
|
||||
function __fish_loginctl_list_sessions
|
||||
loginctl list-sessions --no-legend --no-pager --output=short | string replace -r '^\s*(\d+)\s+\d+\s+(\S+)\s+(\S+\s+)?(\S+\d+).*' '$1\t$2 at $4'
|
||||
end
|
||||
|
||||
|
||||
function __fish_loginctl_list_users
|
||||
loginctl list-users --no-legend --no-pager --output=short | string replace -r '(\d+) (\S+) .*' '$1\t$2'
|
||||
end
|
||||
|
||||
|
||||
function __fish_loginctl_list_seats
|
||||
loginctl list-seats --no-legend --no-pager --output=short
|
||||
end
|
||||
|
||||
|
||||
complete -c loginctl -n "$seen session-status show-session activate lock-session unlock-session terminate-session kill-session" -a '(__fish_loginctl_list_sessions)'
|
||||
complete -c loginctl -n "$seen user-status show-user enable-linger disable-linger terminate-user kill-user" -a '(__fish_loginctl_list_users)'
|
||||
complete -c loginctl -n "$seen seat-status show-seat attach terminate-seat" -a '(__fish_loginctl_list_seats)'
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
__fish_complete_lpr lp
|
||||
complete -c lpr -k -xa "(__fish_complete_suffix .pdf .ps)"
|
||||
complete -c lpr -k -xa "(__fish_complete_suffix .pdf)"
|
||||
complete -c lpr -k -xa "(__fish_complete_suffix .ps)"
|
||||
complete -c lp -s d -d 'Prints files to the named printer' -xa '(__fish_print_lpr_printers)'
|
||||
complete -c lp -s i -d 'Specifies an existing job to modify' -x
|
||||
complete -c lp -s n -d 'Sets the number of copies to print from 1 to 100' -x
|
||||
|
||||
@@ -8,7 +8,7 @@ complete -c lpadmin -s v -d 'Sets the device-uri attribute of the printer queue'
|
||||
complete -c lpadmin -s D -d 'Provides a textual description of the destination' -x
|
||||
complete -c lpadmin -s E -d 'Enables the destination and accepts jobs'
|
||||
complete -c lpadmin -s L -d 'Provides a textual location of the destination' -x
|
||||
complete -c lpadmin -s P -d 'Specify a PDD file to use with the printer' -k -xa "(__fish_complete_suffix .ppd .ppd.gz)"
|
||||
complete -c lpadmin -s P -d 'Specify a PDD file to use with the printer' -k -xa "(__fish_complete_suffix .ppd; __fish_complete_suffix .ppd.gz)"
|
||||
complete -c lpadmin -s o -xa cupsIPPSupplies=true -d 'Specify if IPP supply level values should be reported'
|
||||
complete -c lpadmin -s o -xa cupsIPPSupplies=false -d 'Specify if IPP supply level values should be reported'
|
||||
complete -c lpadmin -s o -xa cupsSNMPSupplies=true -d 'Specify if SNMP supply level values should be reported'
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user