Merge branch 'master' into coverity_scan_master

This commit is contained in:
ridiculousfish
2020-02-08 16:29:41 -08:00
1129 changed files with 72024 additions and 75732 deletions

View File

@@ -5,6 +5,7 @@ packages:
- ncurses-dev
- pcre2-dev
- expect
- python
sources:
- https://git.sr.ht/~faho/fish
tasks:

View File

@@ -3,6 +3,7 @@ packages:
- cmake
- ninja
- expect
- python
sources:
- https://git.sr.ht/~faho/fish
tasks:

View File

@@ -7,6 +7,7 @@ packages:
- cmake
- gmake
- pcre2
- python
sources:
- https://git.sr.ht/~faho/fish
tasks:

View File

@@ -1,23 +0,0 @@
image: netbsd/latest
packages:
- ncurses
- gettext
- tcl-expect
- cmake
- gmake
- pcre2
tasks:
- build: |
git -c http.sslVerify=false clone https://git.sr.ht/~faho/fish
cd fish
mkdir build || :
cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_DATADIR=share \
-DCMAKE_INSTALL_DOCDIR=share/doc/fish \
-DCMAKE_INSTALL_SYSCONFDIR=/etc
gmake -j2
- test: |
cd fish/build
gmake test SHOW_INTERACTIVE_LOG=1

View File

@@ -6,5 +6,11 @@
BasedOnStyle: Google
ColumnLimit: 100
IndentWidth: 4
# Place config.h first always.
IncludeCategories:
- Regex: '^"config.h"'
Priority: -1
# We don't want OCLint pragmas to be reformatted.
CommentPragmas: '^!OCLINT'

View File

@@ -12,7 +12,7 @@ max_line_length = 100
[{Makefile,*.in}]
indent_style = tab
[*.md]
[*.{md,rst}]
trim_trailing_whitespace = false
[*.{sh,ac}]

View File

@@ -11,7 +11,4 @@ Please tell us if you tried fish without third-party customizations by executing
sh -c 'env HOME=$(mktemp -d) fish'
Tell us how to reproduce the problem. Including an asciinema.org recording is useful for problems that involve the visual display of fish output such as its prompt.
If you are reporting a bug in fish 3.0, please make sure to indicate whether or not this is a
regression from fish 2.7.1.
-->

View File

@@ -13,6 +13,10 @@ matrix:
- gettext
- libncurses5-dev
- libpcre2-dev
- python
env:
# Some warnings upgraded to errors to match Open Build Service platforms
- CXXFLAGS="-Werror=address -Werror=return-type"
- os: linux
compiler: gcc
addons:
@@ -22,12 +26,13 @@ matrix:
- gettext
- lib32ncurses5-dev
- g++-multilib
- python
env:
- CXXFLAGS="-g -O2 -m32" CFLAGS="-g -m32"
- CXXFLAGS="-m32 -Werror=address -Werror=return-type" CFLAGS="-m32"
- os: linux
compiler: clang
env:
- CXXFLAGS="-g -O2 -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address"
- CXXFLAGS="-fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address"
- ASAN_OPTIONS=check_initialization_order=1:detect_stack_use_after_return=1:detect_leaks=1
- UBSAN_OPTIONS=print_stacktrace=1:report_error_type=1:suppressions=$TRAVIS_BUILD_DIR/build_tools/ubsan.blacklist
addons:
@@ -37,6 +42,19 @@ matrix:
- gettext
- libncurses5-dev
- libpcre2-dev
- python
- os: linux
compiler: clang
env:
- CXXFLAGS="-fsanitize=thread"
addons:
apt:
packages:
- expect
- gettext
- libncurses5-dev
- libpcre2-dev
- python
coverity_scan:
project:
name: "fish-shell/fish-shell"

View File

@@ -1,34 +1,243 @@
# fish next-minor
## Deprecations
- The vcs-prompt functions have been renamed to names without double-underscore, so __fish_git_prompt is now fish_git_prompt, __fish_vcs_prompt is now fish_vcs_prompt, __fish_hg_prompt is now fish_hg_prompt and __fish_svn_prompt is now fish_svn_prompt. Shims at the old names have been added, and the variables have kept their old names (#5586).
## Notable fixes and improvements
- Add `$pipestatus` support
- `string split0` now returns 0 if it split something (#5701).
## Notable improvements and fixes
### Syntax changes and new commands
- None yet.
### Scripting improvements
### Interactive improvements
- Major improvements in performance and functionality to the 'sorin' sample prompt (#5411).
- Added completions for:
- nothing yet...
- Lots of improvements to completions.
- fish_clipboard_* now supports wayland by means of [wl-clipboard](https://github.com/bugaevc/wl-clipboard).
- mandoc can now be used to format the output from `--help` if nroff is not installed
- New color options for the pager have been added (#5524).
- The default escape delay (to differentiate between the escape key and an alt-combination) has been reduced to 30ms, down from 300ms for the default mode and 100ms for vi-mode (#3904).
- In the interest of consistency, `builtin -q` and `command -q` can now be used to query if a builtin or command exists (#5631).
- The `path_helper` on macOS now only runs in login shells, matching the bash implementation.
- `math` now accepts `--scale=max` for the maximum scale (#5579).
- The `forward-bigword` binding now interacts correctly with autosuggestions (#5336)
#### New or improved bindings
- New readline commands `undo` (Ctrl+_) and `redo` (Alt-/) can be used to revert changes to the command line or the pager search field (#6570).
#### Improved prompts
- The default and example prompts print the correct exit status for commands prefixed with `not` (#6566).
#### Improved terminal output
#### Completions
- Added completions for
- `cf`
- `bosh`
- `wireshark`, `tshark`, and `dumpcap`
### Deprecations and removed features
### For distributors and developers
- The autotools-based build system and legacy Xcode build systems have been removed, leaving only the CMake build system. All distributors and developers must migrate to the CMake build.
---
# fish 3.1b1 (released January 26, 2020)
## Notable improvements and fixes
- A new `$pipestatus` variable contains a list of exit statuses of the previous job, for each of the separate commands in a pipeline (#5632).
- fish no longer buffers pipes to the last function in a pipeline, improving many cases where pipes appeared to block or hang (#1396).
- An overhaul of error messages for builtin commands, including a removal of the overwhelming usage summary, more readable stack traces (#3404, #5434), and stack traces for `test` (aka `[`) (#5771).
- fish's debugging arguments have been significantly improved. The `--debug-level` option has been removed, and a new `--debug` option replaces it. This option accepts various categories, which may be listed via `fish --print-debug-categories` (#5879). A new `--debug-output` option allows for redirection of debug output.
- `string` has a new `collect` subcommand for use in command substitutions, producing a single output instead of splitting on new lines (similar to `"$(cmd)"` in other shells) (#159).
- The fish manual, tutorial and FAQ are now available in `man` format as `fish-doc`, `fish-tutorial` and `fish-faq` respectively (#5521).
- Like other shells, `cd` now always looks for its argument in the current directory as a last resort, even if the `CDPATH` variable does not include it or "." (#4484).
- fish now correctly handles `CDPATH` entries that start with `..` (#6220) or contain `./` (#5887).
- The `fish_trace` variable may be set to trace execution (#3427). This performs a similar role as `set -x` in other shells.
- fish uses the temporary directory determined by the system, rather than relying on `/tmp` (#3845).
- The fish Web configuration tool (`fish_config`) prints a list of commands it is executing, to help understanding and debugging (#5584).
- Major performance improvements when pasting (#5866), executing lots of commands (#5905), importing history from bash (#6295), and when completing variables that might match `$history` (#6288).
### Syntax changes and new commands
- A new builtin command, `time`, which allows timing of fish functions and builtins as well as external commands (#117).
- Brace expansion now only takes place if the braces include a "," or a variable expansion, meaning common commands such as `git reset HEAD@{0}` do not require escaping (#5869).
- New redirections `&>` and `&|` may be used to redirect or pipe stdout, and also redirect stderr to stdout (#6192).
- `switch` now allows arguments that expand to nothing, like empty variables (#5677).
- The `VAR=val cmd` syntax can now be used to run a command in a modified environment (#6287).
- `and` is no longer recognised as a command, so that nonsensical constructs like `and and and` produce a syntax error (#6089).
- `math`'s exponent operator, '`^`', was previously left-associative, but now uses the more commonly-used right-associative behaviour (#6280). This means that `math '3^0.5^2'` was previously calculated as '(3^0.5)^2', but is now calculated as '3^(0.5^2)'.
- In fish 3.0, the variable used with `for` loops inside command substitutions could leak into enclosing scopes; this was an inadvertent behaviour change and has been reverted (#6480).
### Scripting improvements
- `string split0` now returns 0 if it split something (#5701).
- In the interest of consistency, `builtin -q` and `command -q` can now be used to query if a builtin or command exists (#5631).
- `math` now accepts `--scale=max` for the maximum scale (#5579).
- `builtin $var` now works correctly, allowing a variable as the builtin name (#5639).
- `cd` understands the `--` argument to make it possible to change to directories starting with a hyphen (#6071).
- `complete --do-complete` now also does fuzzy matches (#5467).
- `complete --do-complete` can be used inside completions, allowing limited recursion (#3474).
- `count` now also counts lines fed on standard input (#5744).
- `eval` produces an exit status of 0 when given no arguments, like other shells (#5692).
- `printf` prints what it can when input hasn't been fully converted to a number, but still prints an error (#5532).
- `complete -C foo` now works as expected, rather than requiring `complete -Cfoo`.
- `complete` has a new `--force-files` option, to re-enable file completions. This allows `sudo -E` and `pacman -Qo` to complete correctly (#5646).
- `argparse` now defaults to showing the current function name (instead of `argparse`) in its errors, making `--name` often superfluous (#5835).
- `argparse` has a new `--ignore-unknown` option to keep unrecognized options, allowing multiple argparse passes to parse options (#5367).
- `argparse` correctly handles flag value validation of options that only have short names (#5864).
- `read -S` (short option of `--shell`) is recognised correctly (#5660).
- `read` understands `--list`, which acts like `--array` in reading all arguments into a list inside a single variable, but is better named (#5846).
- `read` has a new option, `--tokenize`, which splits a string into variables according to the shell's tokenization rules, considering quoting, escaping, and so on (#3823).
- `read` interacts more correctly with the deprecated `$IFS` variable, in particular removing multiple separators when splitting a variable into a list (#6406), matching other shells.
- `fish_indent` now handles semicolons better, including leaving them in place for `; and` and `; or` instead of breaking the line (#5859).
- `fish_indent --write` now supports multiple file arguments, indenting them in turn.
- The default read limit has been increased to 100MiB (#5267).
- `math` now also understands `x` for multiplication, provided it is followed by whitespace (#5906).
- `math` reports the right error when incorrect syntax is used inside parentheses (#6063), and warns when unsupported logical operations are used (#6096).
- `functions --erase` now also prevents fish from autoloading a function for the first time (#5951).
- `jobs --last` returns 0 to indicate success when a job is found (#6104).
- `commandline -p` and `commandline -j` now split on `&&` and `||` in addition to `;` and `&` (#6214).
- A bug where `string split` would drop empty strings if the output was only empty strings has been fixed (#5987).
- `eval` no long creates a new local variable scope, but affects variables in the scope it is called from (#4443). `source` still creates a new local scope.
- `abbr` has a new `--query` option to check for the existence of an abbreviation.
- Local values for `fish_complete_path` and `fish_function_path` are now ignored; only their global values are respected.
- Syntax error reports now display a marker in the correct position (#5812).
- Empty universal variables may now be exported (#5992).
- Exported universal variables are no longer imported into the global scope, preventing shadowing. This makes it easier to change such variables for all fish sessions and avoids breakage when the value is a list of multiple elements (#5258).
- A bug where `for` could use invalid variable names has been fixed (#5800).
- A bug where local variables would not be exported to functions has been fixed (#6153).
- The null command (`:`) now always exits successfully, rather than passing through the previous exit status (#6022).
- The output of `functions FUNCTION` matches the declaration of the function, correctly including comments or blank lines (#5285), and correctly includes any `--wraps` flags (#1625).
- `type` supports a new option, `--short`, which suppress function expansion (#6403).
- `type --path` with a function argument will now output the path to the file containing the definition of that function, if it exists.
- `type --force-path` with an argument that cannot be found now correctly outputs nothing, as documented (#6411).
- The `$hostname` variable is no longer truncated to 32 characters (#5758).
- Line numbers in function backtraces are calculated correctly (#6350).
- A new `fish_cancel` event is emitted when the command line is cancelled, which is useful for terminal integration (#5973).
### Interactive improvements
- New Base16 color options are available through the Web-based configuration (#6504).
- fish only parses `/etc/paths` on macOS in login shells, matching the bash implementation (#5637) and avoiding changes to path ordering in child shells (#5456). It now ignores blank lines like the bash implementation (#5809).
- The locale is now reloaded when the `LOCPATH` variable is changed (#5815).
- `read` no longer keeps a history, making it suitable for operations that shouldn't end up there, like password entry (#5904).
- `dirh` outputs its stack in the correct order (#5477), and behaves as documented when universal variables are used for its stack (#5797).
- `funced` and the edit-commandline-in-buffer bindings did not work in fish 3.0 when the `$EDITOR` variable contained spaces; this has been corrected (#5625).
- Builtins now pipe their help output to a pager automatically (#6227).
- `set_color` now colors the `--print-colors` output in the matching colors if it is going to a terminal.
- fish now underlines every valid entered path instead of just the last one (#5872).
- When syntax highlighting a string with an unclosed quote, only the quote itself will be shown as an error, instead of the whole argument.
- Syntax highlighting works correctly with variables as commands (#5658) and redirections to close file descriptors (#6092).
- `help` works properly on Windows Subsytem for Linux (#5759, #6338).
- A bug where `disown` could crash the shell has been fixed (#5720).
- fish will not autosuggest files ending with `~` unless there are no other candidates, as these are generally backup files (#985).
- Escape in the pager works correctly (#5818).
- Key bindings that call `fg` no longer leave the terminal in a broken state (#2114).
- Brackets (#5831) and filenames containing `$` (#6060) are completed with appropriate escaping.
- The output of `complete` and `functions` is now colorized in interactive terminals.
- The Web-based configuration handles aliases that include single quotes correctly (#6120), and launches correctly under Termux (#6248) and OpenBSD (#6522).
- `function` now correctly validates parameters for `--argument-names` as valid variable names (#6147) and correctly parses options following `--argument-names`, as in "`--argument-names foo --description bar`" (#6186).
- History newly imported from bash includes command lines using `&&` or `||`.
- The automatic generation of completions from manual pages is better described in job and process listings, and no longer produces a warning when exiting fish (#6269).
- In private mode, setting `$fish_greeting` to an empty string before starting the private session will prevent the warning about history not being saved from being printed (#6299).
- In the interactive editor, a line break (Enter) inside unclosed brackets will insert a new line, rather than executing the command and producing an error (#6316).
- Ctrl-C always repaints the prompt (#6394).
- When run interactively from another program (such as Python), fish will correctly start a new process group, like other shells (#5909).
- Job identifiers (for example, for background jobs) are assigned more logically (#6053).
- A bug where history would appear truncated if an empty command was executed was fixed (#6032).
#### New or improved bindings
- Pasting strips leading spaces to avoid pasted commands being omitted from the history (#4327).
- Shift-Left and Shift-Right now default to moving backwards and forwards by one bigword (words separated by whitespace) (#1505).
- The default escape delay (to differentiate between the escape key and an alt-combination) has been reduced to 30ms, down from 300ms for the default mode and 100ms for Vi mode (#3904).
- The `forward-bigword` binding now interacts correctly with autosuggestions (#5336).
- The `fish_clipboard_*` functions support Wayland by using [`wl-clipboard`](https://github.com/bugaevc/wl-clipboard) (#5450).
- The `nextd` and `prevd` functions no longer print "Hit end of history", instead using a bell. They correctly store working directories containing symbolic links (#6395).
- If a `fish_mode_prompt` function exists, Vi mode will only execute it on mode-switch instead of the entire prompt. This should make it much more responsive with slow prompts (#5783).
- The path-component bindings (like Ctrl-w) now also stop at ":" and "@", because those are used to denote user and host in commands such as `ssh` (#5841).
- The NULL character can now be bound via `bind -k nul`. Terminals often generate this character via control-space. (#3189).
- A new readline command `expand-abbr` can be used to trigger abbreviation expansion (#5762).
- A new readline command, `delete-or-exit`, removes a character to the right of the cursor or exits the shell if the command line is empty (moving this functionality out of the `delete-or-exit` function).
- The `self-insert` readline command will now insert the binding sequence, if not empty.
- A new binding to prepend `sudo`, bound to Alt-S by default (#6140).
- The Alt-W binding to describe a command should now work better with multiline prompts (#6110)
- The Alt-H binding to open a command's man page now tries to ignore `sudo` (#6122).
- A new pair of bind functions, `history-prefix-search-backward` (and `forward`), was introduced (#6143).
- Vi mode now supports R to enter replace mode (#6342), and `d0` to delete the current line (#6292).
- In Vi mode, hitting Enter in replace-one mode no longer erases the prompt (#6298).
- Selections in Vi mode are inclusive, matching the actual behaviour of Vi (#5770).
#### Improved prompts
- The Git prompt in informative mode now shows the number of stashes if enabled.
- The Git prompt now has an option (`$__fish_git_prompt_use_informative_chars`) to use the (more modern) informative characters without enabling informative mode.
- The default prompt now also features VCS integration and will color the host if running via SSH (#6375).
- The default and example prompts print the pipe status if an earlier command in the pipe fails.
- The default and example prompts try to resolve exit statuses to signal names when appropriate.
#### Improved terminal output
- New `fish_pager_color_` options have been added to control more elements of the pager's colors (#5524).
- Better detection and support for using fish from various system consoles, where limited colors and special characters are supported (#5552).
- fish now tries to guess if the system supports Unicode 9 (and displays emoji as wide), eliminating the need to set `$fish_emoji_width` in most cases (#5722).
- Improvements to the display of wide characters, particularly Korean characters and emoji (#5583, #5729).
- The Vi mode cursor is correctly redrawn when regaining focus under terminals that report focus (eg tmux) (#4788).
- Variables that control background colors (such as `fish_pager_color_search_match`) can now use `--reverse`.
#### Completions
- Added completions for
- `aws`
- `bat` (#6052)
- `bosh` (#5700)
- `btrfs`
- `camcontrol`
- `cf` (#5700)
- `chronyc` (#6496)
- `code` (#6205)
- `cryptsetup` (#6488)
- `csc` and `csi` (#6016)
- `cwebp` (#6034)
- `cygpath` and `cygstart` (#6239)
- `epkginfo` (#5829)
- `ffmpeg`, `ffplay`, and `ffprobe` (#5922)
- `fsharpc` and `fsharpi` (#6016)
- `fzf` (#6178)
- `g++` (#6217)
- `gpg1` (#6139)
- `gpg2` (#6062)
- `grub-mkrescue` (#6182)
- `hledger` (#6043)
- `hwinfo` (#6496)
- `irb` (#6260)
- `iw` (#6232)
- `kak`
- `keepassxc-cli` (#6505)
- `keybase` (#6410)
- `loginctl` (#6501)
- `lz4`, `lz4c` and `lz4cat` (#6364)
- `mariner` (#5718)
- `nethack` (#6240)
- `patool` (#6083)
- `phpunit` (#6197)
- `plutil` (#6301)
- `pzstd` (#6364)
- `qubes-gpg-client` (#6067)
- `resolvectl` (#6501)
- `rg`
- `rustup`
- `sfdx` (#6149)
- `speedtest` and `speedtest-cli` (#5840)
- `src` (#6026)
- `tokei` (#6085)
- `tsc` (#6016)
- `unlz4` (#6364)
- `unzstd` (#6364)
- `vbc` (#6016)
- `zpaq` (#6245)
- `zstd`, `zstdcat`, `zstdgrep`, `zstdless` and `zstdmt` (#6364)
- Lots of improvements to completions.
- Selecting short options which also have a long name from the completion pager is possible (#5634).
- Tab completion will no longer add trailing spaces if they already exist (#6107).
- Completion of subcommands to builtins like `and` or `not` now works correctly (#6249).
- Completion of arguments to short options works correctly when multiple short options are used together (#332).
- Activating completion in the middle of an invalid completion does not move the cursor any more, making it easier to fix a mistake (#4124).
- Completion in empty commandlines now lists all available commands.
- Functions listed as completions could previously leak parts of the function as other completions; this has been fixed.
### Deprecations and removed features
- The vcs-prompt functions have been promoted to names without double-underscore, so __fish_git_prompt is now fish_git_prompt, __fish_vcs_prompt is now fish_vcs_prompt, __fish_hg_prompt is now fish_hg_prompt and __fish_svn_prompt is now fish_svn_prompt. Shims at the old names have been added, and the variables have kept their old names (#5586).
- `string replace` has an additional round of escaping in the replacement expression, so escaping backslashes requires many escapes (eg `string replace -ra '([ab])' '\\\\\\\$1' a`). The new feature flag `regex-easyesc` can be used to disable this, so that the same effect can be achieved with `string replace -ra '([ab])' '\\\\$1' a` (#5556). As a reminder, the intention behind feature flags is that this will eventually become the default and then only option, so scripts should be updated.
- The `fish_vi_mode` function, deprecated in fish 2.3, has been removed. Use `fish_vi_key_bindings` instead (#6372).
### For distributors and developers
- fish 3.0 introduced a CMake-based build system. In fish 3.1, both the Autotools-based build and legacy Xcode build system have been removed, leaving only the CMake build system. All distributors and developers must install CMake.
- fish now depends on the common `tee` external command, for the `psub` process substitution function.
- The documentation is now built with Sphinx. The old Doxygen-based documentation system has been removed. Developers, and distributors who wish to rebuild the documentation, must install Sphinx.
- The `INTERNAL_WCWIDTH` build option has been removed, as fish now always uses an internal `wcwidth` function. It has a number of configuration options that make it more suitable for general use (#5777).
- mandoc can now be used to format the output from `--help` if `nroff` is not installed, reducing the number of external dependencies on systems with `mandoc` installed (#5489).
- Some bugs preventing building on Solaris-derived systems such as Illumos were fixed (#5458, #5461, #5611).
- Completions for `npm`, `bower` and `yarn` no longer require the `jq` utility for full functionality, but will use Python instead if it is available.
- The paths for completions, functions and configuration snippets have been extended. On systems that define `XDG_DATA_DIRS`, each of the directories in this variable are searched in the subdirectories `fish/vendor_completions.d`, `fish/vendor_functions.d`, and `fish/vendor_conf.d` respectively. On systems that do not define this variable in the environment, the vendor directories are searched for in both the installation prefix and the default "extra" directory, which now defaults to `/usr/local` (#5029).
---

View File

@@ -4,18 +4,24 @@ IF(POLICY CMP0066)
CMAKE_POLICY(SET CMP0066 OLD)
ENDIF()
IF(POLICY CMP0067)
CMAKE_POLICY(SET CMP0067 OLD)
CMAKE_POLICY(SET CMP0067 NEW)
ENDIF()
PROJECT(fish)
# We are C++11.
SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
SET(DEFAULT_BUILD_TYPE "RelWithDebInfo")
# Use the default flags (#6296) but remove -DNDEBUG so that asserts remain enabled.
STRING(REPLACE "-DNDEBUG" ""
CMAKE_CXX_FLAGS_RELWITHDEBINFO
"${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
STRING(REPLACE "-DNDEBUG" ""
CMAKE_CXX_FLAGS_RELEASE
"${CMAKE_CXX_FLAGS_RELEASE}")
IF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
MESSAGE(STATUS "Setting build type to default '${DEFAULT_BUILD_TYPE}'")
SET(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}")
@@ -30,10 +36,32 @@ if (CMAKE_GENERATOR STREQUAL "Ninja" AND
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=always")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
endif()
# Enable a whole bunch of warnings, but turn off:
# - implicit fallthrough because that does not recognize some cases where it's desired (and I *really* want this one!)
# - comment because we use a bunch of those, and they're not really all that harmful.
# - address, because that occurs for our mkostemp check (weak-linking requires us to compare `&mkostemp == nullptr`).
# - strict-aliasing, because on old GCCs (*Travis*) those are triggered by maybe.h, so you get it every time it is included.
# - redundant-move, because we have one that is required on old libc
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra \
-Wno-implicit-fallthrough \
-Wno-comment \
-Wno-address \
-Wno-strict-aliasing \
-Wno-redundant-move \
")
# Disable exception handling.
ADD_COMPILE_OPTIONS(-fno-exceptions)
# Prefer the gold linker because it doesn't emit useless warnings about sys_nerr and _sys_errlist.
if (UNIX AND NOT APPLE)
EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version
ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
if ("${LD_VERSION}" MATCHES "GNU gold")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold")
endif()
endif()
# Hide the CMake Rules directories in Xcode projects.
SOURCE_GROUP("CMake Rules" REGULAR_EXPRESSION "^$")
@@ -77,18 +105,20 @@ SET(FISH_SRCS
src/builtin_random.cpp src/builtin_read.cpp src/builtin_realpath.cpp
src/builtin_return.cpp src/builtin_set.cpp src/builtin_set_color.cpp
src/builtin_source.cpp src/builtin_status.cpp src/builtin_string.cpp
src/builtin_test.cpp src/builtin_ulimit.cpp src/builtin_wait.cpp
src/color.cpp src/common.cpp src/complete.cpp src/env.cpp
src/builtin_test.cpp src/builtin_ulimit.cpp src/builtin_wait.cpp src/builtin_eval.cpp
src/color.cpp src/common.cpp src/complete.cpp src/env.cpp src/env_dispatch.cpp
src/env_universal_common.cpp src/event.cpp src/exec.cpp src/expand.cpp
src/fallback.cpp src/fish_version.cpp src/function.cpp src/highlight.cpp
src/history.cpp src/input.cpp src/input_common.cpp src/intern.cpp src/io.cpp
src/iothread.cpp src/kill.cpp src/output.cpp src/pager.cpp
src/history.cpp src/history_file.cpp src/input.cpp src/input_common.cpp src/intern.cpp
src/io.cpp src/iothread.cpp src/kill.cpp src/output.cpp src/pager.cpp
src/parse_execution.cpp src/parse_productions.cpp src/parse_tree.cpp
src/parse_util.cpp src/parser.cpp src/parser_keywords.cpp src/path.cpp
src/postfork.cpp src/proc.cpp src/reader.cpp src/sanity.cpp src/screen.cpp
src/signal.cpp src/tinyexpr.cpp src/tnode.cpp src/tokenizer.cpp src/utf8.cpp src/util.cpp
src/wcstringutil.cpp src/wgetopt.cpp src/wildcard.cpp src/wutil.cpp
src/future_feature_flags.cpp src/redirection.cpp src/topic_monitor.cpp
src/flog.cpp src/trace.cpp src/timer.cpp src/null_terminated_array.cpp
src/operation_context.cpp src/fd_monitor.cpp
)
# Header files are just globbed.
@@ -127,22 +157,12 @@ SET_SOURCE_FILES_PROPERTIES(src/fish_version.cpp
PROPERTIES OBJECT_DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/${FBVF})
OPTION(INTERNAL_WCWIDTH "use fallback wcwidth" ON)
IF(INTERNAL_WCWIDTH)
ADD_DEFINITIONS(-DHAVE_BROKEN_WCWIDTH=1)
ELSE()
ADD_DEFINITIONS(-DHAVE_BROKEN_WCWIDTH=0)
ENDIF()
# Enable thread-safe errno on Solaris (#5611)
ADD_DEFINITIONS(-D_REENTRANT)
# Set up PCRE2
INCLUDE(cmake/PCRE2.cmake)
# Set up the docs.
INCLUDE(cmake/Docs.cmake)
# Define a function to link dependencies.
FUNCTION(FISH_LINK_DEPS target)
TARGET_LINK_LIBRARIES(${target} fishlib)
@@ -153,7 +173,7 @@ ADD_LIBRARY(fishlib STATIC ${FISH_SRCS})
TARGET_SOURCES(fishlib PRIVATE ${FISH_HEADERS})
TARGET_LINK_LIBRARIES(fishlib
${CURSES_LIBRARY} ${CURSES_EXTRA_LIBRARY} Threads::Threads ${CMAKE_DL_LIBS}
${PCRE2_LIB} ${Intl_LIBRARIES})
${PCRE2_LIB} ${Intl_LIBRARIES} ${ATOMIC_LIBRARY})
# Define fish.
ADD_EXECUTABLE(fish src/fish.cpp)
@@ -169,9 +189,18 @@ ADD_EXECUTABLE(fish_key_reader
src/fish_key_reader.cpp src/print_help.cpp)
FISH_LINK_DEPS(fish_key_reader)
# Set up the docs.
INCLUDE(cmake/Docs.cmake)
# A helper for running tests.
ADD_EXECUTABLE(fish_test_helper src/fish_test_helper.cpp)
# Set up tests.
INCLUDE(cmake/Tests.cmake)
# Benchmarking support.
INCLUDE(cmake/Benchmark.cmake)
# Set up install.
INCLUDE(cmake/Install.cmake)

View File

@@ -297,7 +297,13 @@ sudo ln -s /usr/bin/clang-format-3.9 /usr/bin/clang-format
## Message Translations
Fish uses the GNU gettext library to translate messages from English to other languages. To create or update a translation run `make po/[LANGUAGE CODE].po` where `LANGUAGE CODE` is the two letter ISO 639-1 language code of the language you are translating to (e.g. `de` for German). Make sure that you have the `xgettext`, `msgfmt` and `msgmerge` commands installed in order to do this.
Fish uses the GNU gettext library to translate messages from English to other languages.
All non-debug messages output for user consumption should be marked for translation. In C++, this requires the use of the `_` (underscore) macro:
```
streams.out.append_format(_(L"%ls: There are no jobs\n"), argv[0]);
```
All messages in fish script must be enclosed in single or double quote characters. They must also be translated via a subcommand. This means that the following are **not** valid:
@@ -315,6 +321,18 @@ echo (_ "goodbye")
Note that you can use either single or double quotes to enclose the message to be translated. You can also optionally include spaces after the opening parentheses and once again before the closing parentheses.
Be cautious about blindly updating an existing translation file. Trivial changes to an existing message (e.g., changing the punctuation) will cause existing translations to be removed, since the tools do literal string matching. Therefore, in general, you need to carefully review any recommended deletions.
Creating and updating translations requires the Gettext tools, including `xgettext`, `msgfmt` and `msgmerge`. Translation sources are stored in the `po` directory, named `LANG.po`, where `LANG` is the two letter ISO 639-1 language code of the target language (eg `de` for German).
To create a new translation, for example for German:
* generate a `messages.pot` file by running `build_tools/fish_xgettext.fish` from the source tree
* copy `messages.pot` to `po/LANG.po` ()
To update a translation:
* generate a `messages.pot` file by running `build_tools/fish_xgettext.fish` from the source tree
* update the existing translation by running `msgmerge --update --no-fuzzy-matching po/LANG.po messages.pot`
Many tools are available for editing translation files, including command-line and graphical user interface programs.
Be cautious about blindly updating an existing translation file. Trivial changes to an existing message (eg changing the punctuation) will cause existing translations to be removed, since the tools do literal string matching. Therefore, in general, you need to carefully review any recommended deletions.
Read the [translations wiki](https://github.com/fish-shell/fish-shell/wiki/Translations) for more information.

View File

@@ -1,6 +1,7 @@
Fish is a smart and user-friendly command line shell.
Copyright (C) 2005-2009 Axel Liljencrantz
Copyright (C) 2009-2019 fish-shell contributors
fish is free software.

View File

@@ -2,7 +2,8 @@ FROM centos:latest
# Build dependency
RUN yum update -y &&\
yum install -y clang cmake gcc-c++ make ncurses-devel &&\
yum install -y epel-release &&\
yum install -y clang cmake3 gcc-c++ make ncurses-devel &&\
yum clean all
# Test dependency
@@ -12,7 +13,7 @@ ADD . /src
WORKDIR /src
# Build fish
RUN cmake . &&\
RUN cmake3 . &&\
make &&\
make install

69
GNUmakefile Normal file
View File

@@ -0,0 +1,69 @@
# This is a very basic `make` wrapper around the CMake build toolchain.
#
# Supported arguments:
# PREFIX: sets the installation prefix
# GENERATOR: explicitly specifies the CMake generator to use
CMAKE ?= cmake
GENERATOR ?= $(shell (which ninja > /dev/null 2> /dev/null && echo Ninja) || \
echo 'Unix Makefiles')
prefix ?= /usr/local
PREFIX ?= $(prefix)
ifeq ($(GENERATOR), Ninja)
BUILDFILE = build.ninja
else
BUILDFILE = Makefile
endif
# If CMake has generated an in-tree Makefile, use that instead (issue #6264)
MAKE_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
ifeq ($(shell test -f $(MAKE_DIR)/Makefile && echo 1), 1)
all:
@+$(MAKE) -f $(MAKE_DIR)/Makefile $(MAKECMDGOALS) --no-print-directory
%:
@+$(MAKE) -f $(MAKE_DIR)/Makefile $(MAKECMDGOALS) --no-print-directory
else
all: .begin build/fish
PHONY: .begin
.begin:
@which $(CMAKE) > /dev/null 2> /dev/null || \
(echo 'Please install CMake and then re-run the `make` command!' 1>&2 && false)
build/fish: build/$(BUILDFILE)
$(CMAKE) --build build
build/$(BUILDFILE): build
cd build; $(CMAKE) .. -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -G "$(GENERATOR)" \
-DCMAKE_INSTALL_PREFIX="$(PREFIX)" -DCMAKE_EXPORT_COMPILE_COMMANDS=1
build:
mkdir -p build
.PHONY: clean
clean:
rm -rf build
.PHONY: test
test: build/fish
$(CMAKE) --build build --target test
.PHONY: install
install: build/fish
$(CMAKE) --build build --target install
.PHONY: run
run: build/fish
./build/fish || true
.PHONY: exec
exec: build/fish
exec ./build/fish
endif # CMake in-tree build check

View File

@@ -66,7 +66,7 @@ Once installed, run `fish` from your current shell to try fish out!
Running fish requires:
* curses or ncurses (preinstalled on most \*nix systems)
* some common \*nix system utilities (currently `mktemp` and `seq`), in addition to the basic POSIX utilities
* some common \*nix system utilities (currently `mktemp`), in addition to the basic POSIX utilities (`cat`, `cut`, `dirname`, `ls`, `mkdir`, `mkfifo`, `rm`, `sort`, `tee`, `tr`, `uname` and `sed` at least, but the full coreutils plus find, sed and awk is preferred)
* gettext (library and `gettext` command), if compiled with translation support
The following optional features also have specific requirements:
@@ -76,8 +76,7 @@ The following optional features also have specific requirements:
`backports.lzma` module for Python 2.7
* the `fish_config` web configuration tool requires Python (2.7+ or 3.3 +) and a web browser
* system clipboard integration (with the default Ctrl-V and Ctrl-X bindings) require either the
`xsel` or `pbcopy`/`pbpaste` utilities
* full completions for `yarn` and `bower` require the `jq` utility
`xsel`, `xclip`, `wl-copy`/`wl-paste` or `pbcopy`/`pbpaste` utilities
* full completions for `yarn` and `npm` require the `all-the-package-names` NPM module
### Switching to fish
@@ -86,7 +85,7 @@ If you wish to use fish as your default shell, use the following command:
chsh -s /usr/local/bin/fish
`chsh` will prompt you for your password and change your default shell. (Substitute `/usr/local/bin/fish` with whatever path fish was installed to, if it differs.)
`chsh` will prompt you for your password and change your default shell. (Substitute `/usr/local/bin/fish` with whatever path fish was installed to, if it differs.) Log out, then log in again for the changes to take effect.
Use the following command if fish isn't already added to `/etc/shells` to permit fish to be your login shell:
@@ -106,10 +105,12 @@ Compiling fish requires:
* PCRE2 (headers and libraries) - a copy is included with fish
* gettext (headers and libraries) - optional, for translation support
Doxygen (1.8.7 or later) is also optionally required to build the documentation from a cloned git repository.
Sphinx is also optionally required to build the documentation from a cloned git repository.
### Building from source (all platforms) - Makefile generator
To install into `/usr/local`, run:
```bash
mkdir build; cd build
cmake ..
@@ -117,6 +118,8 @@ make
sudo make install
```
The install directory can be changed using the `-DCMAKE_INSTALL_PREFIX` parameter for `cmake`.
### Building from source (macOS) - Xcode
```bash
@@ -124,7 +127,15 @@ mkdir build; cd build
cmake .. -G Xcode
```
An Xcode project will now be available in the `build` subdirectory.
An Xcode project will now be available in the `build` subdirectory. You can open it with Xcode,
or run the following to build and install in `/usr/local`:
```bash
xcodebuild
xcodebuild -scheme install
```
The install directory can be changed using the `-DCMAKE_INSTALL_PREFIX` parameter for `cmake`.
### Help, it didn't build!
@@ -144,6 +155,6 @@ See the [Guide for Developers](CONTRIBUTING.md).
## Contact Us
Questions, comments, rants and raves can be posted to the official fish mailing list at <https://lists.sourceforge.net/lists/listinfo/fish-users> or join us on our [gitter.im channel](https://gitter.im/fish-shell/fish-shell) or IRC channel [#fish at irc.oftc.net](https://webchat.oftc.net/?channels=fish). Or use the [fish tag on Stackoverflow](https://stackoverflow.com/questions/tagged/fish) for questions related to fish script and the [fish tag on Superuser](https://superuser.com/questions/tagged/fish) for all other questions (e.g., customizing colors, changing key bindings).
Questions, comments, rants and raves can be posted to the official fish mailing list at <https://lists.sourceforge.net/lists/listinfo/fish-users> or join us on our [gitter.im channel](https://gitter.im/fish-shell/fish-shell). Or use the [fish tag on Stackoverflow](https://stackoverflow.com/questions/tagged/fish) for questions related to fish script and the [fish tag on Superuser](https://superuser.com/questions/tagged/fish) for all other questions (e.g., customizing colors, changing key bindings).
Found a bug? Have an awesome idea? Please [open an issue](https://github.com/fish-shell/fish-shell/issues/new).

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
for i in (seq 2000)
command true
end

View File

@@ -0,0 +1,3 @@
for i in (seq 1000)
echo $i
end

17
benchmarks/driver.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
if [ "$#" -ne 1 ]; then
echo "Usage: driver.sh /path/to/fish"
fi
FISH_PATH=$1
BENCHMARKS_DIR=$(dirname "$0")/benchmarks
for benchmark in "$BENCHMARKS_DIR"/*; do
basename "$benchmark"
${FISH_PATH} --print-rusage-self "$benchmark" > /dev/null
if command -v hyperfine >/dev/null 2>&1; then
hyperfine "${FISH_PATH} $benchmark > /dev/null"
fi
done

View File

@@ -10,37 +10,37 @@ set profile2 (cat $argv[2])
set line_no 0
while set next_line_no (math $line_no + 1) && set -q profile1[$next_line_no] && set -q profile2[$next_line_no]
set line_no $next_line_no
set line_no $next_line_no
set line1 $profile1[$line_no]
set line2 $profile2[$line_no]
set line1 $profile1[$line_no]
set line2 $profile2[$line_no]
if not string match -qr '^\d+\t\d+' $line1
echo $line1
continue
end
if not string match -qr '^\d+\t\d+' $line1
echo $line1
continue
end
set results1 (string match -r '^(\d+)\t(\d+)\s+(.*)' $line1)
set results2 (string match -r '^(\d+)\t(\d+)\s+(.*)' $line2)
set results1 (string match -r '^(\d+)\t(\d+)\s+(.*)' $line1)
set results2 (string match -r '^(\d+)\t(\d+)\s+(.*)' $line2)
# times from both files
set time1 $results1[2..3]
set time2 $results2[2..3]
# times from both files
set time1 $results1[2..3]
set time2 $results2[2..3]
# leftover from both files
set remainder1 $results1[4]
set remainder2 $results2[4]
# leftover from both files
set remainder1 $results1[4]
set remainder2 $results2[4]
if not string match -q -- $remainder1 $remainder2
echo Mismatch on line $line_no:
echo - $remainder1
echo + $remainder2
exit 1
end
if not string match -q -- $remainder1 $remainder2
echo Mismatch on line $line_no:
echo - $remainder1
echo + $remainder2
exit 1
end
set -l diff
set diff[1] (math $time1[1] - $time2[1])
set diff[2] (math $time1[2] - $time2[2])
set -l diff
set diff[1] (math $time1[1] - $time2[1])
set diff[2] (math $time1[2] - $time2[2])
echo $diff[1] $diff[2] $remainder1
echo $diff[1] $diff[2] $remainder1
end

View File

@@ -4,6 +4,22 @@
# for object files in this directory.
# This was written for macOS nm.
set FISH_SOURCE_DIR $argv[1]
if not test -d "$FISH_SOURCE_DIR"
echo "FISH_SOURCE_DIR not given"
exit 1
end
set -g whitelist \
# unclear what this is \
l_constinit \
# hacks to work around missing ncurses strings on mac \
sitm_esc ritm_esc dim_esc \
# In our nm regex, we are interested in data (dD) and bss (bB) segments.
set -g nm_regex '^([^ ]+) ([dDbB])'
set total_globals 0
set boring_files \
fish_key_reader.cpp.o \
@@ -11,31 +27,86 @@ set boring_files \
fish_indent.cpp.o \
set whitelist \
termsize_lock termsize \
initial_pid initial_fg_process_group \
_debug_level \
sitm_esc ritm_esc dim_esc \
iothread_init()::inited \
s_result_queue s_main_thread_request_queue s_read_pipe s_write_pipe \
s_main_thread_performer_lock s_main_thread_performer_cond s_main_thread_request_q_lock \
locked_consumed_job_ids \
env_initialized \
# return if we should ignore the given symbol name
function should_ignore
set symname $argv[1]
string match -q '*guard variable for*' $symname
and return 0
contains $symname $whitelist
and return 0
return 1
end
# echo a cleaned-up symbol name, e.g. replacing template gunk
function cleanup_syname
set symname $argv[1]
set symname (string replace --all 'std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >' 'wcstring' $symname)
set symname (string replace --all 'std::__1::vector<wcstring, std::__1::allocator<wcstring > >' 'wcstring_list_t' $symname)
echo $symname
end
# Output the declaration for a symbol name in a given file.
function print_decl
set -l objfile $argv[1]
set -l symname $argv[2]
set -l varname (string split '::' $symname)[-1]
set -l srcfile (basename $objfile .o)
set -l srcpath $FISH_SOURCE_DIR/src/$srcfile
# A leading underscore indicates a global, strip it.
set varname (string replace --regex '^_' '' $varname)
if not test -f "$srcpath"
echo "Could not find $srcpath"
end
# Guess the variable as the first usage of the name.
# Strip everything after the first =.
set vardecl (egrep -m 1 " $varname\\b" $srcpath | cut -f -1 -d '=' | string trim)
if test -z "$vardecl"
echo "COULD_NOT_FIND_$varname"
return 1
end
echo $vardecl
return 0
end
# Return if a variable declaration is "thread safe".
function decl_is_threadsafe
set -l vardecl $argv[1]
# decls starting with 'const ' or containing ' const ' are assumed safe.
string match -q --regex '(^|\\*| )const ' $vardecl
and return 0
# Ordinary types indicating a safe variable.
set safes relaxed_atomic_bool_t std::mutex std::condition_variable std::once_flag sig_atomic_t
for safe in $safes
string match -q "*$safe*" $vardecl
and return 0
end
# Template types indicate a safe variable.
set safes owning_lock mainthread_t std::atomic relaxed_atomic_t latch_t
for safe in $safes
string match -q "*$safe<*" $vardecl
and return 0
end
end
for file in ./**.o
set filename (basename $file)
# Skip boring files.
contains $filename $boring_files
and continue
for line in (nm -p -P -U $file)
# Look in data (dD) and bss (bB) segments.
set matches (string match --regex '^([^ ]+) ([dDbB])' -- $line)
for line in (nm -p -P -U $file | egrep $nm_regex)
set matches (string match --regex $nm_regex -- $line)
or continue
set symname (echo $matches[2] | c++filt)
contains $symname $whitelist
set symname (cleanup_syname (echo $matches[2] | c++filt))
should_ignore $symname
and continue
echo $filename $symname $matches[3]
set vardecl (print_decl $filename $symname)
decl_is_threadsafe $vardecl
and continue
echo $filename $symname $matches[3] ":" $vardecl
set total_globals (math $total_globals + 1)
end
end

View File

@@ -1,5 +1,8 @@
#!/usr/bin/env fish
#
# Tool to generate messages.pot
# Extended to replace the old Makefile rule which did not port easily to CMak
# This script was originally motivated to work around a quirk (or bug depending on your viewpoint)
# of the xgettext command. See https://lists.gnu.org/archive/html/bug-gettext/2014-11/msg00006.html.
# However, it turns out that even if that quirk did not exist we would still need something like
@@ -8,14 +11,19 @@
# all the strings we want translated. So we extract and normalize all such strings into a format
# that `xgettext` can handle.
# Start with the C++ source
xgettext -k -k_ -kN_ -LC++ --no-wrap -o messages.pot src/*.cpp src/*.h
# This regex handles descriptions for `complete` and `function` statements. These messages are not
# particularly important to translate. Hence the "implicit" label.
set implicit_regex '(?:^| +)(?:complete|function) .*? (?:-d|--description) (([\'"]).+?(?<!\\\\)\\2).*'
set implicit_regex '(?:^| +)(?:complete|function).*? (?:-d|--description) (([\'"]).+?(?<!\\\\)\\2).*'
# This regex handles explicit requests to translate a message. These are more important to translate
# than messages which should be implicitly translated.
set explicit_regex '.*\( *_ (([\'"]).+?(?<!\\\\)\\2) *\).*'
rm -r /tmp/fish
mkdir -p /tmp/fish/implicit/share/completions /tmp/fish/implicit/share/functions
mkdir -p /tmp/fish/explicit/share/completions /tmp/fish/explicit/share/functions
@@ -29,7 +37,7 @@ for f in share/config.fish share/completions/*.fish share/functions/*.fish
rm /tmp/fish/explicit/$f.tmp
# Handle `complete` / `function` description messages. The `| fish` is subtle. It basically
# avoids the need to use `source` with a command substituion that could affect the current
# avoids the need to use `source` with a command substitution that could affect the current
# shell.
string replace --filter --regex $implicit_regex 'echo $1' <$f | fish >/tmp/fish/implicit/$f.tmp ^/dev/null
while read description
@@ -40,3 +48,8 @@ for f in share/config.fish share/completions/*.fish share/functions/*.fish
end </tmp/fish/implicit/$f.tmp >/tmp/fish/implicit/$f
rm /tmp/fish/implicit/$f.tmp
end
xgettext -j -k -kN_ -LShell --from-code=UTF-8 -cDescription --no-wrap -o messages.pot /tmp/fish/explicit/share/*/*.fish
xgettext -j -k -kN_ -LShell --from-code=UTF-8 -cDescription --no-wrap -o messages.pot /tmp/fish/implicit/share/*/*.fish
rm -r /tmp/fish

View File

@@ -6,8 +6,8 @@
set -e
# Find the fish git directory as two levels up from script directory.
GIT_DIR="$( cd "$( dirname $( dirname "$0" ) )" && pwd )"
# Find the fish directory as two levels up from script directory.
FISH_BASE_DIR="$( cd "$( dirname "$( dirname "$0" )" )" && pwd )"
DEF_VER=unknown
# First see if there is a version file (included in release tarballs),
@@ -15,7 +15,7 @@ DEF_VER=unknown
if test -f version
then
VN=$(cat version) || VN="$DEF_VER"
elif ! VN=$(git -C "$GIT_DIR" describe --always --dirty 2>/dev/null); then
elif ! VN=$(git -C "$FISH_BASE_DIR" describe --always --dirty 2>/dev/null); then
VN="$DEF_VER"
fi
@@ -34,7 +34,7 @@ if test -r $FBVF
then
VC=$(grep -v '^#' $FBVF | tr -d '"' | sed -e 's/^FISH_BUILD_VERSION=//')
else
VC=unset
VC="unset"
fi
# Maybe output the FBVF

View File

@@ -20,8 +20,8 @@ set committers_from_tag (mktemp)
# Unicode collation tables mean that this is fraught with danger; for example, the
# "“" character will not case-fold in UTF-8 locales. sort suggests using the C locale!
git log "$TAG" --format="%aN" --reverse | sort -u > $committers_to_tag
git log "$TAG".. --format="%aN" --reverse | sort -u > $committers_from_tag
git log "$TAG" --format="%aN" --reverse | sort -u >$committers_to_tag
git log "$TAG".. --format="%aN" --reverse | sort -u >$committers_from_tag
echo New committers:
echo (comm -13 $committers_to_tag $committers_from_tag)','

485
build_tools/littlecheck.py Executable file
View File

@@ -0,0 +1,485 @@
#!/usr/bin/env python
""" Command line test driver. """
from __future__ import unicode_literals
from __future__ import print_function
import argparse
import io
import re
import shlex
import subprocess
import sys
# A regex showing how to run the file.
RUN_RE = re.compile(r"\s*#\s*RUN:\s+(.*)\n")
# A regex capturing lines that should be checked against stdout.
CHECK_STDOUT_RE = re.compile(r"\s*#\s*CHECK:\s+(.*)\n")
# A regex capturing lines that should be checked against stderr.
CHECK_STDERR_RE = re.compile(r"\s*#\s*CHECKERR:\s+(.*)\n")
class Config(object):
def __init__(self):
# Whether to have verbose output.
self.verbose = False
# Whether output gets ANSI colorization.
self.colorize = False
# Whether to show which file was tested.
self.progress = False
# How many after lines to print
self.after = 5
def colors(self):
""" Return a dictionary mapping color names to ANSI escapes """
def ansic(n):
return "\033[%dm" % n if self.colorize else ""
return {
"RESET": ansic(0),
"BOLD": ansic(1),
"NORMAL": ansic(39),
"BLACK": ansic(30),
"RED": ansic(31),
"GREEN": ansic(32),
"YELLOW": ansic(33),
"BLUE": ansic(34),
"MAGENTA": ansic(35),
"CYAN": ansic(36),
"LIGHTGRAY": ansic(37),
"DARKGRAY": ansic(90),
"LIGHTRED": ansic(91),
"LIGHTGREEN": ansic(92),
"LIGHTYELLOW": ansic(93),
"LIGHTBLUE": ansic(94),
"LIGHTMAGENTA": ansic(95),
"LIGHTCYAN": ansic(96),
"WHITE": ansic(97),
}
def output(*args):
print("".join(args) + "\n")
class CheckerError(Exception):
"""Exception subclass for check line parsing.
Attributes:
line: the Line object on which the exception occurred.
"""
def __init__(self, message, line=None):
super(CheckerError, self).__init__(message)
self.line = line
class Line(object):
""" A line that remembers where it came from. """
def __init__(self, text, number, file):
self.text = text
self.number = number
self.file = file
def subline(self, text):
""" Return a substring of our line with the given text, preserving number and file. """
return Line(text, self.number, self.file)
@staticmethod
def readfile(file, name):
return [Line(text, idx + 1, name) for idx, text in enumerate(file)]
def is_empty_space(self):
return not self.text or self.text.isspace()
class RunCmd(object):
""" A command to run on a given Checker.
Attributes:
args: Unexpanded shell command as a string.
"""
def __init__(self, args, line):
self.args = args
self.line = line
@staticmethod
def parse(line):
if not shlex.split(line.text):
raise CheckerError("Invalid RUN command", line)
return RunCmd(line.text, line)
class TestFailure(object):
def __init__(self, line, check, testrun, after = None):
self.line = line
self.check = check
self.testrun = testrun
self.error_annotation_line = None
# The output that comes *after* the failure.
self.after = after
def message(self):
afterlines = self.testrun.config.after
fields = self.testrun.config.colors()
fields["name"] = self.testrun.name
fields["subbed_command"] = self.testrun.subbed_command
if self.line:
fields.update(
{
"output_file": self.line.file,
"output_lineno": self.line.number,
"output_line": self.line.text.rstrip("\n"),
}
)
if self.check:
fields.update(
{
"input_file": self.check.line.file,
"input_lineno": self.check.line.number,
"input_line": self.check.line.text,
"check_type": self.check.type,
}
)
filemsg = "" if self.testrun.config.progress else " in {name}"
fmtstrs = ["{RED}Failure{RESET}" + filemsg + ":", ""]
if self.line and self.check:
fmtstrs += [
" The {check_type} on line {input_lineno} wants:",
" {BOLD}{input_line}{RESET}",
"",
" which failed to match line {output_file}:{output_lineno}:",
" {BOLD}{output_line}{RESET}",
"",
]
elif self.check:
fmtstrs += [
" The {check_type} on line {input_lineno} wants:",
" {BOLD}{input_line}{RESET}",
"",
" but there was no remaining output to match.",
"",
]
else:
fmtstrs += [
" There were no remaining checks left to match {output_file}:{output_lineno}:",
" {BOLD}{output_line}{RESET}",
"",
]
if self.error_annotation_line:
fields["error_annotation"] = self.error_annotation_line.text
fields["error_annotation_lineno"] = self.error_annotation_line.number
fmtstrs += [
" additional output on stderr:{error_annotation_lineno}:",
" {BOLD}{error_annotation}{RESET}",
]
if self.after:
fields["additional_output"] = " ".join(self.after[:afterlines])
fmtstrs += [
" additional output:",
" {BOLD}{additional_output}{RESET}",
]
fmtstrs += [" when running command:", " {subbed_command}"]
return "\n".join(fmtstrs).format(**fields)
def print_message(self):
""" Print our message to stdout. """
print(self.message())
def perform_substitution(input_str, subs):
""" Perform the substitutions described by subs to str
Return the substituted string.
"""
# Sort our substitutions into a list of tuples (key, value), descending by length.
# It needs to be descending because we need to try longer substitutions first.
subs_ordered = sorted(subs.items(), key=lambda s: len(s[0]), reverse=True)
def subber(m):
# We get the entire sequence of characters.
# Replace just the prefix and return it.
text = m.group(1)
for key, replacement in subs_ordered:
if text.startswith(key):
return replacement + text[len(key) :]
# No substitution found, so we default to running it as-is,
# which will end up running it via $PATH.
return text
return re.sub(r"%(%|[a-zA-Z0-9_-]+)", subber, input_str)
class TestRun(object):
def __init__(self, name, runcmd, checker, subs, config):
self.name = name
self.runcmd = runcmd
self.subbed_command = perform_substitution(runcmd.args, subs)
self.checker = checker
self.subs = subs
self.config = config
def check(self, lines, checks):
# Reverse our lines and checks so we can pop off the end.
lineq = lines[::-1]
checkq = checks[::-1]
while lineq and checkq:
line = lineq[-1]
check = checkq[-1]
if check.regex.match(line.text):
# This line matched this checker, continue on.
lineq.pop()
checkq.pop()
elif line.is_empty_space():
# Skip all whitespace input lines.
lineq.pop()
else:
# Failed to match.
lineq.pop()
# Add context, ignoring empty lines.
return TestFailure(line, check, self, after = [line.text for line in lineq[::-1] if not line.is_empty_space()])
# Drain empties.
while lineq and lineq[-1].is_empty_space():
lineq.pop()
# If there's still lines or checkers, we have a failure.
# Otherwise it's success.
if lineq:
return TestFailure(lineq[-1], None, self)
elif checkq:
return TestFailure(None, checkq[-1], self)
else:
return None
def run(self):
""" Run the command. Return a TestFailure, or None. """
def split_by_newlines(s):
""" Decode a string and split it by newlines only,
retaining the newlines.
"""
return [s + "\n" for s in s.decode("utf-8").split("\n")]
PIPE = subprocess.PIPE
if self.config.verbose:
print(self.subbed_command)
proc = subprocess.Popen(
self.subbed_command,
stdin=PIPE,
stdout=PIPE,
stderr=PIPE,
shell=True,
close_fds=True, # For Python 2.6 as shipped on RHEL 6
)
stdout, stderr = proc.communicate()
# HACK: This is quite cheesy: POSIX specifies that sh should return 127 for a missing command.
# Technically it's also possible to return it in other conditions.
# Practically, that's *probably* not going to happen.
status = proc.returncode
if status == 127:
raise CheckerError("Command could not be found: " + self.subbed_command)
outlines = [
Line(text, idx + 1, "stdout")
for idx, text in enumerate(split_by_newlines(stdout))
]
errlines = [
Line(text, idx + 1, "stderr")
for idx, text in enumerate(split_by_newlines(stderr))
]
outfail = self.check(outlines, self.checker.outchecks)
errfail = self.check(errlines, self.checker.errchecks)
# It's possible that something going wrong on stdout resulted in new
# text being printed on stderr. If we have an outfailure, and either
# non-matching or unmatched stderr text, then annotate the outfail
# with it.
if outfail and errfail and errfail.line:
outfail.error_annotation_line = errfail.line
return outfail if outfail else errfail
class CheckCmd(object):
def __init__(self, line, checktype, regex):
self.line = line
self.type = checktype
self.regex = regex
@staticmethod
def parse(line, checktype):
# type: (Line) -> CheckCmd
# Everything inside {{}} is a regular expression.
# Everything outside of it is a literal string.
# Split around {{...}}. Then every odd index will be a regex, and
# evens will be literals.
# Note that if {{...}} appears first we will get an empty string in
# the split array, so the {{...}} matches are always at odd indexes.
bracket_re = re.compile(
r"""
\{\{ # Two open brackets
(.*?) # Nongreedy capture
\}\} # Two close brackets
""",
re.VERBOSE,
)
pieces = bracket_re.split(line.text)
even = True
re_strings = []
for piece in pieces:
if even:
# piece is a literal string.
re_strings.append(re.escape(piece))
else:
# piece is a regex (found inside {{...}}).
# Verify the regex can be compiled.
try:
re.compile(piece)
except re.error:
raise CheckerError("Invalid regular expression: '%s'" % piece, line)
re_strings.append(piece)
even = not even
# Enclose each piece in a non-capturing group.
# This ensures that lower-precedence operators don't trip up catenation.
# For example: {{b|c}}d would result in /b|cd/ which is different.
# Backreferences are assumed to match across the entire string.
re_strings = ["(?:%s)" % s for s in re_strings]
# Anchor at beginning and end (allowing arbitrary whitespace), and maybe
# a terminating newline.
# We need the anchors because Python's match() matches an arbitrary prefix,
# not the entire string.
re_strings = [r"^\s*"] + re_strings + [r"\s*\n?$"]
full_re = re.compile("".join(re_strings))
return CheckCmd(line, checktype, full_re)
class Checker(object):
def __init__(self, name, lines):
self.name = name
# Helper to yield subline containing group1 from all matching lines.
def group1s(regex):
for line in lines:
m = regex.match(line.text)
if m:
yield line.subline(m.group(1))
# Find run commands.
self.runcmds = [RunCmd.parse(sl) for sl in group1s(RUN_RE)]
if not self.runcmds:
# If no RUN command has been given, fall back to the shebang.
if lines[0].text.startswith("#!"):
# Remove the "#!" at the beginning, and the newline at the end.
self.runcmds = [RunCmd(lines[0].text[2:-1] + " %s", lines[0])]
else:
raise CheckerError("No runlines ('# RUN') found")
# Find check cmds.
self.outchecks = [
CheckCmd.parse(sl, "CHECK") for sl in group1s(CHECK_STDOUT_RE)
]
self.errchecks = [
CheckCmd.parse(sl, "CHECKERR") for sl in group1s(CHECK_STDERR_RE)
]
def check_file(input_file, name, subs, config, failure_handler):
""" Check a single file. Return a True on success, False on error. """
success = True
lines = Line.readfile(input_file, name)
checker = Checker(name, lines)
for runcmd in checker.runcmds:
failure = TestRun(name, runcmd, checker, subs, config).run()
if failure:
failure_handler(failure)
success = False
return success
def check_path(path, subs, config, failure_handler):
with io.open(path, encoding="utf-8") as fd:
return check_file(fd, path, subs, config, failure_handler)
def parse_subs(subs):
""" Given a list of input substitutions like 'foo=bar',
return a dictionary like {foo:bar}, or exit if invalid.
"""
result = {}
for sub in subs:
try:
key, val = sub.split("=", 1)
if not key:
print("Invalid substitution %s: empty key" % sub)
sys.exit(1)
if not val:
print("Invalid substitution %s: empty value" % sub)
sys.exit(1)
result[key] = val
except ValueError:
print("Invalid substitution %s: equal sign not found" % sub)
sys.exit(1)
return result
def get_argparse():
""" Return a littlecheck argument parser. """
parser = argparse.ArgumentParser(
description="littlecheck: command line tool tester."
)
parser.add_argument(
"-s",
"--substitute",
type=str,
help="Add a new substitution for RUN lines. Example: bash=/bin/bash",
action="append",
default=[],
)
parser.add_argument(
"-p",
"--progress",
action='store_true',
dest='progress',
help="Show the files to be checked",
default=False,
)
parser.add_argument("file", nargs="+", help="File to check")
parser.add_argument(
"-A", "--after",
type=int,
help="How many non-empty lines of output after a failure to print (default: 5)",
action="store",
default=5,
)
return parser
def main():
args = get_argparse().parse_args()
# Default substitution is %% -> %
def_subs = {"%": "%"}
def_subs.update(parse_subs(args.substitute))
success = True
config = Config()
config.colorize = sys.stdout.isatty()
config.progress = args.progress
fields = config.colors()
config.after = args.after
for path in args.file:
fields["path"] = path
if config.progress:
print("Testing file {path} ... ".format(**fields), end='')
subs = def_subs.copy()
subs["s"] = path
if not check_path(path, subs, config, TestFailure.print_message):
success = False
elif config.progress:
print("{GREEN}ok{RESET}".format(**fields))
sys.exit(0 if success else 1)
if __name__ == "__main__":
main()

View File

@@ -2,11 +2,11 @@
# Script to produce an OS X installer .pkg and .app(.zip)
VERSION=`git describe --always --dirty 2>/dev/null`
VERSION=$(git describe --always --dirty 2>/dev/null)
if test -z "$VERSION" ; then
echo "Could not get version from git"
if test -f version; then
VERSION=`cat version`
VERSION=$(cat version)
fi
fi
@@ -17,19 +17,19 @@ set -x
#Exit on error
set -e
PKGDIR=`mktemp -d`
PKGDIR=$(mktemp -d)
SRC_DIR=$PWD
OUTPUT_PATH=${FISH_ARTEFACT_PATH:-~/fish_built}
mkdir -p $PKGDIR/build $PKGDIR/root $PKGDIR/intermediates $PKGDIR/dst
( cd "$PKGDIR/build" && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo "$SRC_DIR" && make -j 4 && env DESTDIR=$PKGDIR/root/ make install )
pkgbuild --scripts build_tools/osx_package_scripts --root $PKGDIR/root/ --identifier 'com.ridiculousfish.fish-shell-pkg' --version "$VERSION" $PKGDIR/intermediates/fish.pkg
mkdir -p "$PKGDIR/build" "$PKGDIR/root" "$PKGDIR/intermediates" "$PKGDIR/dst"
{ cd "$PKGDIR/build" && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo "$SRC_DIR" && make -j 4 && env DESTDIR="$PKGDIR/root/" make install; }
pkgbuild --scripts build_tools/osx_package_scripts --root "$PKGDIR/root/" --identifier 'com.ridiculousfish.fish-shell-pkg' --version "$VERSION" "$PKGDIR/intermediates/fish.pkg"
productbuild --package-path $PKGDIR/intermediates --distribution build_tools/osx_distribution.xml --resources build_tools/osx_package_resources/ $OUTPUT_PATH/fish-$VERSION.pkg
productbuild --package-path "$PKGDIR/intermediates" --distribution build_tools/osx_distribution.xml --resources build_tools/osx_package_resources/ "$OUTPUT_PATH/fish-$VERSION.pkg"
# Make the app
( cd "$PKGDIR/build" && make fish_macapp && zip -r "$OUTPUT_PATH/fish-$VERSION.app.zip" fish.app )
{ cd "$PKGDIR/build" && make fish_macapp && zip -r "$OUTPUT_PATH/fish-$VERSION.app.zip" fish.app; }
rm -r $PKGDIR
rm -r "$PKGDIR"

View File

@@ -2,7 +2,7 @@
# Script to generate a tarball
# We use git to output a tree. But we also want to build the user documentation
# and put that in the tarball, so that nobody needs to have doxygen installed
# and put that in the tarball, so that nobody needs to have sphinx installed
# to build it.
# Outputs to $FISH_ARTEFACT_PATH or ~/fish_built by default
@@ -32,7 +32,7 @@ fi
wd="$PWD"
# Get the version from git-describe
VERSION=`git describe --dirty 2>/dev/null`
VERSION=$(git describe --dirty 2>/dev/null)
# The name of the prefix, which is the directory that you get when you untar
prefix="fish-$VERSION"
@@ -48,10 +48,10 @@ rm -f "$path" "$path".gz
git archive --format=tar --prefix="$prefix"/ HEAD > "$path"
# tarball out the documentation, generate a version file
PREFIX_TMPDIR=`mktemp -d`
cd $PREFIX_TMPDIR
echo $VERSION > version
cmake $wd
PREFIX_TMPDIR=$(mktemp -d)
cd "$PREFIX_TMPDIR"
echo "$VERSION" > version
cmake "$wd"
make doc
TAR_APPEND="$TAR --append --file=$path --mtime=now --owner=0 --group=0 \

View File

@@ -5,7 +5,8 @@
#
set git_clang_format no
set c_files
set f_files
set fish_files
set python_files
set all no
if test "$argv[1]" = "--all"
@@ -22,15 +23,13 @@ if test $all = yes
set files (git status --porcelain --short --untracked-files=all | sed -e 's/^ *[^ ]* *//')
if set -q files[1]
echo
echo You have uncommited changes. Cowardly refusing to restyle the entire code base.
echo You have uncommitted changes. Cowardly refusing to restyle the entire code base.
echo
exit 1
end
set c_files src/*.h src/*.cpp src/*.c
# For now we don't restyle all fish scripts other than completion scripts. That's because people
# really like to vertically align the elements of the `complete` command and fish_indent
# currently does not honor that whitespace.
set f_files (printf '%s\n' share/***.fish | grep -v /completions/)
set fish_files (printf '%s\n' share/***.fish)
set python_files **.py
else
# We haven't been asked to reformat all the source. If there are uncommitted changes reformat
# those using `git clang-format`. Else reformat the files in the most recent commit.
@@ -49,17 +48,20 @@ else
test -f $file; and set c_files $c_files $file
end
# Extract just the fish files.
set f_files (string match -r '^.*\.fish$' -- $files)
set fish_files (string match -r '^.*\.fish$' -- $files)
set python_files (string match -r '^.*\.py$' -- $files)
end
set -l red (set_color red)
set -l green (set_color green)
set -l blue (set_color blue)
set -l normal (set_color normal)
# Run the C++ reformatter if we have any C++ files.
if set -q c_files[1]
if test $git_clang_format = yes
if type -q git-clang-format
echo
echo ========================================
echo Running git-clang-format
echo ========================================
echo === Running "$red"git-clang-format"$normal"
git add $c_files
git-clang-format
else
@@ -68,10 +70,7 @@ if set -q c_files[1]
echo
end
else if type -q clang-format
echo
echo ========================================
echo Running clang-format
echo ========================================
echo === Running "$red"clang-format"$normal"
for file in $c_files
cp $file $file.new # preserves mode bits
clang-format $file >$file.new
@@ -90,23 +89,22 @@ if set -q c_files[1]
end
# Run the fish reformatter if we have any fish files.
if set -q f_files[1]
if set -q fish_files[1]
if not type -q fish_indent
make fish_indent
set PATH . $PATH
end
echo
echo ========================================
echo Running fish_indent
echo ========================================
for file in $f_files
cp $file $file.new # preserves mode bits
fish_indent <$file >$file.new
if cmp --quiet $file $file.new
rm $file.new
else
echo $file was NOT correctly formatted
mv $file.new $file
end
echo === Running "$green"fish_indent"$normal"
fish_indent -w -- $fish_files
end
if set -q python_files[1]
if not type -q black
echo
echo Please install "`black`" to style python
echo
else
echo === Running "$blue"black"$normal"
black $python_files
end
end

6
cmake/Benchmark.cmake Normal file
View File

@@ -0,0 +1,6 @@
# Support for benchmarking fish.
ADD_CUSTOM_TARGET(benchmark
COMMAND ${CMAKE_SOURCE_DIR}/benchmarks/driver.sh $<TARGET_FILE:fish>
USES_TERMINAL
)

View File

@@ -4,6 +4,7 @@
# `wcstod_l` is a GNU-extension, sometimes hidden behind GNU-related defines.
# This is the case for at least Cygwin and Newlib.
LIST(APPEND CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE=1)
IF(APPLE)
INCLUDE(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-Werror=unguarded-availability" REQUIRES_UNGUARDED_AVAILABILITY)
@@ -61,6 +62,7 @@ CHECK_CXX_SYMBOL_EXISTS(futimens sys/stat.h HAVE_FUTIMENS)
CHECK_CXX_SYMBOL_EXISTS(futimes sys/time.h HAVE_FUTIMES)
CHECK_CXX_SYMBOL_EXISTS(getifaddrs ifaddrs.h HAVE_GETIFADDRS)
CHECK_CXX_SYMBOL_EXISTS(getpwent pwd.h HAVE_GETPWENT)
CHECK_CXX_SYMBOL_EXISTS(getrusage sys/resource.h HAVE_GETRUSAGE)
CHECK_CXX_SYMBOL_EXISTS(gettext libintl.h HAVE_GETTEXT)
CHECK_CXX_SYMBOL_EXISTS(killpg "sys/types.h;signal.h" HAVE_KILLPG)
CHECK_CXX_SYMBOL_EXISTS(lrand48_r stdlib.h HAVE_LRAND48_R)
@@ -127,9 +129,6 @@ IF(STRUCT_WINSIZE GREATER -1 AND HAVE_TIOCGWINSZ EQUAL 1)
ENDIF()
CMAKE_POP_CHECK_STATE()
IF(EXISTS "/proc/self/stat")
SET(HAVE__PROC_SELF_STAT 1)
ENDIF()
CHECK_TYPE_SIZE("wchar_t[8]" WCHAR_T_BITS LANGUAGE CXX)
# Solaris, NetBSD and X/Open-conforming systems have a fixed-args tparm
@@ -178,6 +177,15 @@ int main () {
ENDIF()
CMAKE_POP_CHECK_STATE()
# Work around the fact that cmake does not propagate the language standard flag into
# the CHECK_CXX_SOURCE_COMPILES function. See CMake issue #16456.
# Ensure we do this after the FIND_PACKAGE calls which use C, and will error on a C++
# standards flag.
# Also see https://github.com/fish-shell/fish-shell/issues/5865
IF(NOT POLICY CMP0067)
LIST(APPEND CMAKE_REQUIRED_FLAGS "${CMAKE_CXX${CMAKE_CXX_STANDARD}_EXTENSION_COMPILE_OPTION}")
ENDIF()
CHECK_CXX_SOURCE_COMPILES("
#include <memory>
@@ -189,3 +197,15 @@ int main () {
)
FIND_PROGRAM(SED sed)
CHECK_CXX_SOURCE_COMPILES("
#include <atomic>
#include <cstdint>
std::atomic<uint64_t> x;
int main() {
return x;
}"
LIBATOMIC_NOT_NEEDED)
IF (NOT LIBATOMIC_NOT_NEEDED)
SET(ATOMIC_LIBRARY "atomic")
ENDIF()

View File

@@ -13,23 +13,33 @@ SET(SPHINX_CACHE_DIR "${SPHINX_ROOT_DIR}/doctrees")
SET(SPHINX_HTML_DIR "${SPHINX_ROOT_DIR}/html")
SET(SPHINX_MANPAGE_DIR "${SPHINX_ROOT_DIR}/man")
# sphinx-docs uses fish_indent for highlighting.
# Prepend the output dir of fish_indent to PATH.
ADD_CUSTOM_TARGET(sphinx-docs
${SPHINX_EXECUTABLE}
mkdir -p ${SPHINX_HTML_DIR}/_static/
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SPHINX_SRC_DIR}/_static/pygments.css ${SPHINX_HTML_DIR}/_static/
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SPHINX_SRC_DIR}/_static/custom.css ${SPHINX_HTML_DIR}/_static/
COMMAND env PATH="$<TARGET_FILE_DIR:fish_indent>:$$PATH"
${SPHINX_EXECUTABLE}
-q -b html
-c "${SPHINX_SRC_DIR}"
-d "${SPHINX_CACHE_DIR}"
"${SPHINX_SRC_DIR}"
"${SPHINX_HTML_DIR}"
DEPENDS sphinx_doc_src/fish_indent_lexer.py fish_indent
COMMENT "Building HTML documentation with Sphinx")
# sphinx-manpages needs the fish_indent binary for the version number
ADD_CUSTOM_TARGET(sphinx-manpages
${SPHINX_EXECUTABLE}
env PATH="$<TARGET_FILE_DIR:fish_indent>:$$PATH"
${SPHINX_EXECUTABLE}
-q -b man
-c "${SPHINX_SRC_DIR}"
-d "${SPHINX_CACHE_DIR}"
"${SPHINX_SRC_DIR}"
# TODO: This only works if we only have section 1 manpages.
"${SPHINX_MANPAGE_DIR}/man1"
DEPENDS fish_indent
COMMENT "Building man pages with Sphinx")
IF(SPHINX_EXECUTABLE)

View File

@@ -25,15 +25,15 @@ SET(configure_input
DO NOT MANUALLY EDIT THIS FILE!")
SET(extra_completionsdir
${datadir}/fish/vendor_completions.d
/usr/local/share/fish/vendor_completions.d
CACHE STRING "Path for extra completions")
SET(extra_functionsdir
${datadir}/fish/vendor_functions.d
CACHE STRING "Path for extra completions")
/usr/local/share/fish/vendor_functions.d
CACHE STRING "Path for extra functions")
SET(extra_confdir
${datadir}/fish/vendor_conf.d
/usr/local/share/fish/vendor_conf.d
CACHE STRING "Path for extra configuration")
# These are the man pages that go in system manpath; all manpages go in the fish-specific manpath.
@@ -44,18 +44,18 @@ SET(MANUALS ${CMAKE_CURRENT_BINARY_DIR}/user_doc/man/man1/fish.1
# Determine which man page we don't want to install.
# On OS X, don't install a man page for open, since we defeat fish's open
# function on OS X.
# On other operating systems, don't install a realpath man page, as they almost all have a realpath
# command, while macOS does not.
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(CONDEMNED_PAGE "open.1")
ELSE()
SET(CONDEMNED_PAGE "none")
SET(CONDEMNED_PAGE "realpath.1")
ENDIF()
# Define a function to help us create directories.
FUNCTION(FISH_CREATE_DIRS)
FOREACH(dir ${ARGV})
IF(NOT EXISTS ${CMAKE_INSTALL_PREFIX}/${dir})
INSTALL(DIRECTORY DESTINATION ${dir})
ENDIF()
INSTALL(DIRECTORY DESTINATION ${dir})
ENDFOREACH(dir)
ENDFUNCTION(FISH_CREATE_DIRS)
@@ -113,13 +113,13 @@ INSTALL(FILES share/config.fish
# -$v $(INSTALL) -m 755 -d $(DESTDIR)$(extra_completionsdir)
# -$v $(INSTALL) -m 755 -d $(DESTDIR)$(extra_functionsdir)
# -$v $(INSTALL) -m 755 -d $(DESTDIR)$(extra_confdir)
FISH_CREATE_DIRS(${rel_datadir}/pkgconfig)
# Don't try too hard to create these directories as they may be outside our writeable area
# https://github.com/Homebrew/homebrew-core/pull/2813
FISH_TRY_CREATE_DIRS(${extra_completionsdir} ${extra_functionsdir} ${extra_confdir})
# Create only the vendor directories inside the prefix (#5029 / #6508)
FISH_CREATE_DIRS(${rel_datadir}/fish/vendor_completions.d ${rel_datadir}/fish/vendor_functions.d
${rel_datadir}/fish/vendor_conf.d)
# @echo "Installing pkgconfig file"
# $v $(INSTALL) -m 644 fish.pc $(DESTDIR)$(datadir)/pkgconfig
FISH_TRY_CREATE_DIRS(${rel_datadir}/pkgconfig)
CONFIGURE_FILE(fish.pc.in fish.pc.noversion)
ADD_CUSTOM_COMMAND(OUTPUT fish.pc
@@ -216,9 +216,12 @@ IF(GETTEXT_FOUND)
ENDFOREACH()
ENDIF()
INSTALL(FILES fish.desktop DESTINATION ${rel_datadir}/applications)
INSTALL(FILES fish.png DESTINATION ${rel_datadir}/pixmaps)
# Group install targets into a InstallTargets folder
SET_PROPERTY(TARGET build_fish_pc CHECK-FISH-BUILD-VERSION-FILE
test_invocation test_fishscript
test_fishscript
test_prep tests_buildroot_target
PROPERTY FOLDER cmake/InstallTargets)

View File

@@ -26,32 +26,22 @@ IF(NOT FISH_IN_TREE_BUILD)
ADD_DEPENDENCIES(fish_tests tests_dir)
ENDIF()
# Create the 'test' target.
# Set a policy so CMake stops complaining about the name 'test'.
CMAKE_POLICY(PUSH)
IF(POLICY CMP0037)
CMAKE_POLICY(SET CMP0037 OLD)
ENDIF()
ADD_CUSTOM_TARGET(test)
CMAKE_POLICY(POP)
ADD_CUSTOM_TARGET(test_low_level
COMMAND env XDG_DATA_HOME=test/data XDG_CONFIG_HOME=test/home ./fish_tests
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS fish_tests
USES_TERMINAL)
ADD_DEPENDENCIES(test test_low_level tests_dir)
# Copy littlecheck.py
CONFIGURE_FILE(build_tools/littlecheck.py littlecheck.py COPYONLY)
# Make the directory in which to run tests.
# Also symlink fish to where the tests expect it to be.
# Lastly put fish_test_helper there too.
ADD_CUSTOM_TARGET(tests_buildroot_target
COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_INSTALL_DIR}
COMMAND DESTDIR=${TEST_INSTALL_DIR} ${CMAKE_COMMAND}
--build ${CMAKE_CURRENT_BINARY_DIR} --target install
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/fish_test_helper
${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}/bin
COMMAND ${CMAKE_COMMAND} -E create_symlink
${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}
${TEST_ROOT_DIR}
DEPENDS fish)
DEPENDS fish fish_test_helper)
IF(NOT FISH_IN_TREE_BUILD)
# We need to symlink share/functions for the tests.
@@ -65,67 +55,68 @@ ELSE()
ADD_CUSTOM_TARGET(symlink_functions)
ENDIF()
#
# Prep the environment for running the unit tests.
# test-prep: show-DESTDIR show-LN_S show-FISH_VERSION
# $v rm -rf test
# $v $(MKDIR_P) test/data test/home test/temp
# ifdef DESTDIR
# $v $(LN_S) $(DESTDIR) test/root
# else
# $v $(MKDIR_P) test/root
# endif
ADD_CUSTOM_TARGET(test_prep
COMMAND ${CMAKE_COMMAND} -E remove_directory ${TEST_DIR}/data
COMMAND ${CMAKE_COMMAND} -E remove_directory ${TEST_DIR}/home
COMMAND ${CMAKE_COMMAND} -E remove_directory ${TEST_DIR}/temp
COMMAND ${CMAKE_COMMAND} -E make_directory
${TEST_DIR}/data ${TEST_DIR}/home ${TEST_DIR}/temp
DEPENDS tests_buildroot_target
DEPENDS tests_buildroot_target tests_dir
USES_TERMINAL)
# test_high_level_test_deps = test_fishscript test_interactive test_invocation
# test_high_level: DESTDIR = $(PWD)/test/root/
# test_high_level: prefix = .
# test_high_level: test-prep install-force test_fishscript test_interactive test_invocation
# .PHONY: test_high_level
#
# test_invocation: $(call filter_up_to,test_invocation,$(active_test_goals))
# cd tests; ./invocation.sh
# .PHONY: test_invocation
ADD_CUSTOM_TARGET(test_invocation
COMMAND ./invocation.sh
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tests/
DEPENDS test_prep test_low_level
USES_TERMINAL)
#
# test_fishscript: $(call filter_up_to,test_fishscript,$(active_test_goals))
# cd tests; ../test/root/bin/fish test.fish
# .PHONY: test_fishscript
ADD_CUSTOM_TARGET(test_fishscript
COMMAND cd tests && ${TEST_ROOT_DIR}/bin/fish test.fish
DEPENDS test_prep test_invocation
USES_TERMINAL)
#
# test_interactive: $(call filter_up_to,test_interactive,$(active_test_goals))
# cd tests; ../test/root/bin/fish interactive.fish
# .PHONY: test_interactive
ADD_CUSTOM_TARGET(test_interactive
COMMAND cd tests && ${TEST_ROOT_DIR}/bin/fish interactive.fish
DEPENDS test_prep test_invocation test_fishscript
# Define our individual tests.
# Each test is conceptually independent.
# However when running all tests, we want to run them serially for sanity's sake.
# So define both a normal target, and a serial variant which enforces ordering.
FOREACH(TESTTYPE test serial_test)
ADD_CUSTOM_TARGET(${TESTTYPE}_low_level
COMMAND env XDG_DATA_HOME=test/data XDG_CONFIG_HOME=test/home ./fish_tests
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS fish_tests
USES_TERMINAL)
ADD_CUSTOM_TARGET(test_high_level
DEPENDS test_invocation test_fishscript test_interactive)
ADD_DEPENDENCIES(test test_high_level)
ADD_CUSTOM_TARGET(${TESTTYPE}_fishscript
COMMAND cd tests && ${TEST_ROOT_DIR}/bin/fish test.fish
DEPENDS test_prep
USES_TERMINAL)
ADD_CUSTOM_TARGET(${TESTTYPE}_interactive
COMMAND cd tests && ${TEST_ROOT_DIR}/bin/fish interactive.fish
DEPENDS test_prep
USES_TERMINAL)
ENDFOREACH(TESTTYPE)
# Now add a dependency chain between the serial versions.
# This ensures they run in order.
ADD_DEPENDENCIES(serial_test_fishscript serial_test_low_level)
ADD_DEPENDENCIES(serial_test_interactive serial_test_fishscript)
ADD_CUSTOM_TARGET(serial_test_high_level
DEPENDS serial_test_interactive serial_test_fishscript)
# Create the 'test' target.
# Set a policy so CMake stops complaining about the name 'test'.
CMAKE_POLICY(PUSH)
IF(${CMAKE_VERSION} VERSION_LESS 3.11.0 AND POLICY CMP0037)
CMAKE_POLICY(SET CMP0037 OLD)
ENDIF()
ADD_CUSTOM_TARGET(test)
CMAKE_POLICY(POP)
ADD_DEPENDENCIES(test serial_test_high_level)
# Group test targets into a TestTargets folder
SET_PROPERTY(TARGET test test_low_level test_high_level tests_dir
test_invocation test_fishscript test_prep
SET_PROPERTY(TARGET test tests_dir
test_low_level
test_fishscript
test_interactive
test_fishscript test_prep
tests_buildroot_target
serial_test_high_level
serial_test_low_level
serial_test_fishscript
serial_test_interactive
symlink_functions
PROPERTY FOLDER cmake/TestTargets)

View File

@@ -31,6 +31,9 @@
/* Define to 1 if you have the `getpwent' function. */
#cmakedefine HAVE_GETPWENT 1
/* Define to 1 if you have the 'getrusage' function. */
#cmakedefine HAVE_GETRUSAGE 1
/* Define to 1 if you have the `gettext' function. */
#cmakedefine HAVE_GETTEXT 1
@@ -124,8 +127,8 @@
/* Define to 1 if the _nl_msg_cat_cntr symbol is exported. */
#cmakedefine HAVE__NL_MSG_CAT_CNTR 1
/* Define to 1 if you have the file `/proc/self/stat'. */
#cmakedefine HAVE__PROC_SELF_STAT 1
/* Define to 1 if std::make_unique is available. */
#cmakedefine HAVE_STD__MAKE_UNIQUE 1
/* Define to 1 if the _sys_errs array is available. */
#cmakedefine HAVE__SYS__ERRS 1
@@ -142,7 +145,7 @@
/* Define to the full name of this package. */
#define PACKAGE_NAME "fish"
/* Define to 1 if tparm accepts a fixed amount of paramters. */
/* Define to 1 if tparm accepts a fixed amount of parameters. */
#cmakedefine TPARM_SOLARIS_KLUDGE 1
/* Enable GNU extensions on systems that have them. */
@@ -165,14 +168,6 @@
#ifndef __warn_unused
#define __warn_unused __attribute__ ((warn_unused_result))
#endif
#ifndef __sentinel
#define __sentinel __attribute__ ((sentinel))
#endif
#ifndef __packed
#define __packed __attribute__ ((packed))
#endif
#else
#define __warn_unused
#define __sentinel
#define __packed
#endif

9
debian/control vendored
View File

@@ -1,13 +1,13 @@
Source: fish
Section: shells
Priority: extra
Priority: optional
Maintainer: ridiculous_fish <corydoras@ridiculousfish.com>
Uploaders: David Adam <zanchey@ucc.gu.uwa.edu.au>
Build-Depends: debhelper (>= 9.0.0), libncurses5-dev, cmake3 (>= 3.2.0) | cmake (>= 3.2.0), gettext,
# Test dependencies
locales-all
locales-all, python3
# When libpcre2-dev is available on all supported Debian versions, add a dependency on that.
Standards-Version: 3.9.4
Standards-Version: 4.1.5
Homepage: https://fishshell.com/
Vcs-Git: https://github.com/fish-shell/fish-shell.git
Vcs-Browser: https://github.com/fish-shell/fish-shell
@@ -24,7 +24,7 @@ Description: friendly interactive shell
Package: fish-common
Architecture: all
Depends: ${misc:Depends}
Recommends: fish, python3 (>= 3.3) | python (>=2.7)
Recommends: fish, python3 (>= 3.5)
Suggests: xdg-utils
Replaces: fish (<= 2.1.1.dfsg-2)
Description: friendly interactive shell (architecture-independent files)
@@ -37,7 +37,6 @@ Description: friendly interactive shell (architecture-independent files)
Package: fish-dbg
Architecture: any
Section: debug
Priority: extra
Depends: fish (= ${binary:Version}), ${misc:Depends}
Description: debugging symbols for friendly interactive shell
Fish is a command-line shell for modern systems, focusing on user-friendliness,

2
debian/menu vendored
View File

@@ -1,2 +0,0 @@
?package(fish):needs="text" section="Applications/Shells"\
title="fish" command="/usr/bin/fish"

12
fish.desktop Normal file
View File

@@ -0,0 +1,12 @@
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=true
# This file is for use in appimages, which rewrite the path.
# Other uses would have to replace these with the correct path.
Exec=fish
Name=fish
Icon=fish
# "Shell" would be the proper category, but it's reserved so we can't use it.
Categories=ConsoleOnly;System;

BIN
fish.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@@ -14,22 +14,27 @@ BuildRequires: ncurses-devel gettext gcc-c++ autoconf
%if 0%{?rhel} && 0%{?rhel} < 8
BuildRequires: cmake3
%else
BuildRequires: cmake
BuildRequires: cmake pcre2-devel
%endif
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif
%if 0%{?opensuse_bs} && 0%{?rhel} && 0%{?rhel} < 7
BuildRequires: gcc48 gcc48-c++
%endif
%if 0%{?is_opensuse} || 0%{?fedora}
BuildRequires: pcre2-devel
BuildRequires: gcc48 gcc48-c++ python-argparse
%endif
# for tests
%if 0%{?fedora}
%if 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 7 )
# Need the en_US.utf-8 locale at a minimum
BuildRequires: glibc-langpack-en
%endif
%if 0%{?rhel} && 0%{?rhel} < 8
BuildRequires: python
%else
BuildRequires: python3
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -74,6 +79,10 @@ make %{?_smp_mflags}
%make_install
%endif
%find_lang %{name}
# OpenSUSE has strong opinions about categories which do not apply to other systems
%if 0%{?suse_version}
%suse_update_desktop_file fish "System;TerminalEmulator"
%endif
%check
# OpenSUSE does out-of-tree builds and defines __builddir
@@ -122,3 +131,7 @@ fi
# pkgconfig
%{_datadir}/pkgconfig/fish.pc
# FreeDesktop entry
%{_datadir}/applications/fish.desktop
%{_datadir}/pixmaps/fish.png

View File

@@ -24,6 +24,8 @@
<string>public.app-category.productivity</string>
<key>LSMinimumSystemVersion</key>
<string>10.6</string>
<key>NSAppleEventsUsageDescription</key>
<string>A Terminal window with the fish shell running in it will be opened.</string>
<key>LSUIElement</key>
<true/>
<key>NSHumanReadableCopyright</key>

View File

@@ -4,8 +4,8 @@
set -e
# Make sure we're run as root
scriptname=`basename "$0"`
if [[ $UID -ne 0 ]]; then
scriptname=$(basename "$0")
if [ "$UID" -ne 0 ]; then
echo "${scriptname} must be run as root"
exit 1
fi

15614
po/de.po

File diff suppressed because it is too large Load Diff

13497
po/en.po

File diff suppressed because it is too large Load Diff

2180
po/fr.po

File diff suppressed because it is too large Load Diff

382
po/nb.po
View File

@@ -1543,13 +1543,10 @@ msgid "There are still jobs active:\n"
msgstr ""
#: src/reader.cpp:2161
#, fuzzy
msgid ""
"\n"
" PID Command\n"
msgstr ""
"\n"
" PID Command\n"
#: src/reader.cpp:2170
msgid "A second attempt to exit will terminate them.\n"
@@ -3272,9 +3269,8 @@ msgid "%s %s: Abbreviation %s cannot have spaces in the word\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr.fish:4
#, fuzzy
msgid "%s %s: Expected one argument\\n"
msgstr "%s %s: Expected one argument\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr.fish:6
#: /tmp/fish/explicit/share/functions/abbr.fish:10
@@ -3294,40 +3290,6 @@ msgstr ""
msgid "%s %s: Unexpected argument -- '%s'\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:1
msgid "%s: invalid option -- %s\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:2
msgid "%s: %s cannot be specified along with %s\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:3
msgid "%s: option requires an argument -- %s\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:4
msgid "%s: Unexpected argument -- %s\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:5
#: /tmp/fish/explicit/share/functions/abbr_old.fish:8
msgid "%s: abbreviation cannot have spaces in the key\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:6
msgid "%s: abbreviation must have a value\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:7
msgid "%s: abbreviation '%s' already exists, cannot rename\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:9
#: /tmp/fish/explicit/share/functions/abbr_old.fish:10
msgid "%s: no such abbreviation '%s'\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/alias.fish:1
msgid "%s: Name cannot be empty\\n"
msgstr ""
@@ -3377,14 +3339,6 @@ msgstr ""
msgid "or the file was empty"
msgstr ""
#: /tmp/fish/explicit/share/functions/__fish_complete_tar.fish:1
#: /tmp/fish/explicit/share/functions/__fish_complete_tar.fish:2
#: /tmp/fish/explicit/share/functions/__fish_complete_tar.fish:3
#: /tmp/fish/explicit/share/functions/__fish_complete_tar.fish:4
#: /tmp/fish/explicit/share/functions/__fish_complete_unrar.fish:1
msgid "%s\\tArchived file\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/__fish_complete_zfs_ro_properties.fish:3
msgid "Achieved compression ratio"
msgstr ""
@@ -4217,7 +4171,6 @@ msgstr ""
#: /tmp/fish/implicit/share/completions/echo.fish:5
#: /tmp/fish/implicit/share/completions/entr.fish:3
#: /tmp/fish/implicit/share/completions/env.fish:5
#: /tmp/fish/implicit/share/completions/eval.fish:1
#: /tmp/fish/implicit/share/completions/exec.fish:1
#: /tmp/fish/implicit/share/completions/exit.fish:1
#: /tmp/fish/implicit/share/completions/fg.fish:1
@@ -4799,7 +4752,6 @@ msgstr ""
#: /tmp/fish/implicit/share/completions/mkvextract.fish:2
#: /tmp/fish/implicit/share/completions/mocha.fish:1
#: /tmp/fish/implicit/share/completions/modinfo.fish:11
#: /tmp/fish/implicit/share/completions/netcat.fish:7
#: /tmp/fish/implicit/share/completions/netctl-auto.fish:1
#: /tmp/fish/implicit/share/completions/poweroff.fish:1
#: /tmp/fish/implicit/share/completions/terraform.fish:2
@@ -12594,82 +12546,6 @@ msgstr ""
msgid "Enhance or reduce the image contrast"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:1
msgid "Show output in a more script friendly format"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:2
msgid "Download [twice to fetch dependencies]"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:3
msgid "Show info for target [twice for more details]"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:4
msgid "Search for packages by maintainer"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:5
msgid "Search for packages by name"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:6
msgid "Check AUR packages for updates"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:7
msgid "Use colored output"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:8
msgid "Show debug output"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:9
msgid "Overwrite existing files when downloading"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:10
msgid "Print formatted"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:11
msgid "Display help and quit"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:12
msgid "Ignore a package upgrade"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:13
msgid "Ignore a binary repo when checking for updates"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:14
msgid "Specify a delimiter for list formatters"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:15
msgid "Output less"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:16
msgid "Download targets to DIR"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:17
msgid "Limit the number of threads created [10]"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:18
msgid "Curl timeout in seconds"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:19
msgid "Output more"
msgstr ""
#: /tmp/fish/implicit/share/completions/cowsay.fish:1
#: /tmp/fish/implicit/share/completions/cowthink.fish:1
msgid "Specify eye string"
@@ -42865,90 +42741,6 @@ msgstr ""
msgid "Exclude files that match any pattern in file"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:1
msgid "Remote hostname"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:2
msgid "Same as -e, but use /bin/sh"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:3
msgid "Program to execute after connection"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:4
msgid "Allow broadcasts"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:5
msgid "Source-routing hop points"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:6
msgid "Source-routing pointer"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:8
msgid "Delay interval for lines sent, ports scaned"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:9
msgid "Set keepalive option"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:10
msgid "Listen mode, acts as a server"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:11
msgid "Numeric-only IP addresses, no DNS"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:12
msgid "Hex dump of traffic"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:13
msgid "Local port number"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:14
msgid "Randomize local and remote ports"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:15
msgid "Quit after EOF on stdin and delay of secs"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:16
msgid "Local source address"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:17
msgid "Answer Telnet negotiation"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:18
msgid "UDP Mode"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:19
msgid "Verbose, use twice to be more verbose"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:20
msgid "Timeout for connects and final net reads"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:21
msgid "Set Type of Service"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:22
msgid "No I/O - used for scanning"
msgstr ""
#: /tmp/fish/implicit/share/completions/netctl-auto.fish:3
msgid "List all available profiles for automatic selection"
msgstr ""
@@ -48452,22 +48244,6 @@ msgstr ""
msgid "Show the full path for the given Ruby command"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc.d.fish:1
msgid "Filter started daemons"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc.d.fish:2
msgid "Filter stopped daemons"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc.d.fish:3
msgid "Filter auto started daemons"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc.d.fish:4
msgid "Filter manually started daemons"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc-service.fish:1
msgid "Tests if the service exists or not"
msgstr ""
@@ -61531,10 +61307,6 @@ msgstr ""
msgid "Manage abbreviations using new fish 3.0 scheme."
msgstr ""
#: /tmp/fish/implicit/share/functions/abbr_old.fish:1
msgid "Manage abbreviations using old fish 2.x scheme."
msgstr ""
#: /tmp/fish/implicit/share/functions/alias.fish:1
msgid "Creates a function wrapping a command"
msgstr ""
@@ -61565,10 +61337,6 @@ msgstr ""
msgid "Edit the command buffer in an external editor"
msgstr ""
#: /tmp/fish/implicit/share/functions/eval.fish:1
msgid "Evaluate parameters as a command"
msgstr ""
#: /tmp/fish/implicit/share/functions/_.fish:1
msgid "Alias for the gettext command"
msgstr ""
@@ -61585,14 +61353,6 @@ msgstr ""
msgid "Return 0 if the current token has an open single-quote"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_abook_formats.fish:1
msgid "Complete abook formats"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_ant_targets.fish:1
msgid "Print list of targets from build.xml and imported files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_atool_archive_contents.fish:1
msgid "List archive contents"
msgstr ""
@@ -61941,10 +61701,6 @@ msgstr ""
msgid "Complete by list of running processes"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_setxkbmap.fish:1
msgid "Complete setxkb options"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_ssh.fish:1
msgid "common completions for ssh commands"
msgstr ""
@@ -61985,25 +61741,10 @@ msgstr ""
msgid "Complete subcommand"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_subcommand_root.fish:1
msgid ""
"Run the __fish_complete_subcommand function using a PATH containing /sbin "
"and /usr/sbin"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_suffix.fish:1
msgid "Complete using files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_svn_diff.fish:1
msgid "Complete \"svn diff\" arguments"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_tar.fish:1
#: /tmp/fish/implicit/share/functions/__fish_complete_unrar.fish:1
msgid "Peek inside of archives and list all files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_user_at_hosts.fish:1
msgid "Print list host-names with user@"
msgstr ""
@@ -62012,10 +61753,6 @@ msgstr ""
msgid "Print a list of local users, with the real user name as a description"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_wvdial_peers.fish:1
msgid "Complete wvdial peers"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_zfs_mountpoint_properties.fish:1
msgid "Completes with ZFS mountpoint properties"
msgstr ""
@@ -62087,7 +61824,6 @@ msgid "Checks if a specific option has been given in the current commandline"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_crux_packages.fish:1
#: /tmp/fish/implicit/share/functions/__fish_prt_packages.fish:1
msgid "Obtain a list of installed packages"
msgstr ""
@@ -62115,57 +61851,47 @@ msgstr ""
msgid "Command used to find descriptions for commands"
msgstr ""
#: /tmp/fish/implicit/share/functions/fish_fallback_prompt.fish:1
msgid ""
"A simple fallback prompt without too much color or special characters for "
"linux VTs"
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:1
msgid "Helper function for fish_git_prompt"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_filter_ant_targets.fish:1
msgid "Display targets within an ant build.xml file"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:1
msgid "Helper function for __fish_git_prompt"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:2
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:2
msgid "Prompt function for Git"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:3
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:3
msgid ""
"__fish_git_prompt helper, tells whether or not the current branch has staged "
"fish_git_prompt helper, tells whether or not the current branch has staged "
"files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:4
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:4
msgid ""
"__fish_git_prompt helper, tells whether or not the current branch has "
"fish_git_prompt helper, tells whether or not the current branch has "
"tracked, modified files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:5
msgid "__fish_git_prompt helper, returns the current Git operation and branch"
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:5
msgid "fish_git_prompt helper, returns the current Git operation and branch"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:6
msgid "__fish_git_prompt helper, checks char variables"
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:6
msgid "fish_git_prompt helper, checks char variables"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:7
msgid "__fish_git_prompt helper, checks color variables"
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:7
msgid "fish_git_prompt helper, checks color variables"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:8
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:8
msgid "Event handler, repaints prompt when functionality changes"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:9
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:9
msgid "Event handler, repaints prompt when any color changes"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:10
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:10
msgid "Event handler, repaints prompt when any char changes"
msgstr ""
@@ -62239,30 +61965,14 @@ msgstr ""
msgid "Paginate the current command using the users default pager"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_ports_dirs.fish:1
msgid "Obtain a list of ports local collections"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_abook_emails.fish:1
msgid "Print email addresses (abook)"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_addresses.fish:1
msgid "Print a list of known network addresses"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_arch_daemons.fish:1
msgid "Print arch daemons"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_commands.fish:1
msgid "Print a list of documented fish commands"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_debian_services.fish:1
msgid "Prints services installed"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_encodings.fish:1
msgid "Complete using available character encodings"
msgstr ""
@@ -62271,12 +61981,6 @@ msgstr ""
msgid "Print a list of all known filesystem types"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_function_prototypes.fish:1
msgid ""
"Prints the names of all function prototypes found in the headers in the "
"current directory"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_groups.fish:1
msgid "Print a list of local groups"
msgstr ""
@@ -62301,10 +62005,6 @@ msgstr ""
msgid "Print lpr printers"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_lsblk_columns.fish:1
msgid "Print available lsblk columns"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_mounted.fish:1
msgid "Print mounted devices"
msgstr ""
@@ -62329,71 +62029,27 @@ msgstr ""
msgid "Print directories where desktop files are stored"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xdg_desktop_file_ids.fish:1
msgid "Print all available xdg desktop file IDs"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xdg_mimetypes.fish:1
msgid "Print XDG mime types"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xrandr_modes.fish:1
msgid "Print xrandr modes"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xrandr_outputs.fish:1
msgid "Print xrandr outputs"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xwindows.fish:1
msgid "Print X windows"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_zfs_bookmarks.fish:1
msgid "Lists ZFS bookmarks, if the feature is enabled"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_zfs_filesystems.fish:1
msgid "Lists ZFS filesystems"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_zfs_snapshots.fish:1
msgid "Lists ZFS snapshots"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_zfs_volumes.fish:1
msgid "Lists ZFS volumes"
msgstr ""
#: /tmp/fish/implicit/share/functions/fish_prompt.fish:1
msgid "Write out the prompt"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_prt_no_subcommand.fish:1
msgid "Test if prt-get has yet to be given the command"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_prt_ports.fish:1
msgid "Obtain a list of ports"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_prt_use_package.fish:1
msgid "Test if prt-get should have packages as potential completion"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_prt_use_port.fish:1
msgid "Test if prt-get should have ports as potential completion"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_pwd.fish:1
#: /tmp/fish/implicit/share/functions/__fish_pwd.fish:2
msgid "Show current path"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_sgrep.fish:1
msgid "Call grep without honoring GREP_OPTIONS settings"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_shared_key_bindings.fish:1
msgid "Bindings shared between emacs and vi mode"
msgstr ""
@@ -62414,10 +62070,6 @@ msgstr ""
msgid "Call systemctl with some options from the current commandline"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_test_arg.fish:1
msgid "Test if the token under the cursor matches the specified wildcard"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_toggle_comment_commandline.fish:1
msgid "Comment/uncomment the current command"
msgstr ""

381
po/nn.po
View File

@@ -1543,13 +1543,10 @@ msgid "There are still jobs active:\n"
msgstr ""
#: src/reader.cpp:2161
#, fuzzy
msgid ""
"\n"
" PID Command\n"
msgstr ""
"\n"
" PID Command\n"
#: src/reader.cpp:2170
msgid "A second attempt to exit will terminate them.\n"
@@ -3272,9 +3269,8 @@ msgid "%s %s: Abbreviation %s cannot have spaces in the word\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr.fish:4
#, fuzzy
msgid "%s %s: Expected one argument\\n"
msgstr "%s %s: Expected one argument\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr.fish:6
#: /tmp/fish/explicit/share/functions/abbr.fish:10
@@ -3294,40 +3290,6 @@ msgstr ""
msgid "%s %s: Unexpected argument -- '%s'\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:1
msgid "%s: invalid option -- %s\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:2
msgid "%s: %s cannot be specified along with %s\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:3
msgid "%s: option requires an argument -- %s\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:4
msgid "%s: Unexpected argument -- %s\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:5
#: /tmp/fish/explicit/share/functions/abbr_old.fish:8
msgid "%s: abbreviation cannot have spaces in the key\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:6
msgid "%s: abbreviation must have a value\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:7
msgid "%s: abbreviation '%s' already exists, cannot rename\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/abbr_old.fish:9
#: /tmp/fish/explicit/share/functions/abbr_old.fish:10
msgid "%s: no such abbreviation '%s'\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/alias.fish:1
msgid "%s: Name cannot be empty\\n"
msgstr ""
@@ -3377,14 +3339,6 @@ msgstr ""
msgid "or the file was empty"
msgstr ""
#: /tmp/fish/explicit/share/functions/__fish_complete_tar.fish:1
#: /tmp/fish/explicit/share/functions/__fish_complete_tar.fish:2
#: /tmp/fish/explicit/share/functions/__fish_complete_tar.fish:3
#: /tmp/fish/explicit/share/functions/__fish_complete_tar.fish:4
#: /tmp/fish/explicit/share/functions/__fish_complete_unrar.fish:1
msgid "%s\\tArchived file\\n"
msgstr ""
#: /tmp/fish/explicit/share/functions/__fish_complete_zfs_ro_properties.fish:3
msgid "Achieved compression ratio"
msgstr ""
@@ -4799,7 +4753,6 @@ msgstr ""
#: /tmp/fish/implicit/share/completions/mkvextract.fish:2
#: /tmp/fish/implicit/share/completions/mocha.fish:1
#: /tmp/fish/implicit/share/completions/modinfo.fish:11
#: /tmp/fish/implicit/share/completions/netcat.fish:7
#: /tmp/fish/implicit/share/completions/netctl-auto.fish:1
#: /tmp/fish/implicit/share/completions/poweroff.fish:1
#: /tmp/fish/implicit/share/completions/terraform.fish:2
@@ -12594,82 +12547,6 @@ msgstr ""
msgid "Enhance or reduce the image contrast"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:1
msgid "Show output in a more script friendly format"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:2
msgid "Download [twice to fetch dependencies]"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:3
msgid "Show info for target [twice for more details]"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:4
msgid "Search for packages by maintainer"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:5
msgid "Search for packages by name"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:6
msgid "Check AUR packages for updates"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:7
msgid "Use colored output"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:8
msgid "Show debug output"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:9
msgid "Overwrite existing files when downloading"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:10
msgid "Print formatted"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:11
msgid "Display help and quit"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:12
msgid "Ignore a package upgrade"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:13
msgid "Ignore a binary repo when checking for updates"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:14
msgid "Specify a delimiter for list formatters"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:15
msgid "Output less"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:16
msgid "Download targets to DIR"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:17
msgid "Limit the number of threads created [10]"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:18
msgid "Curl timeout in seconds"
msgstr ""
#: /tmp/fish/implicit/share/completions/cower.fish:19
msgid "Output more"
msgstr ""
#: /tmp/fish/implicit/share/completions/cowsay.fish:1
#: /tmp/fish/implicit/share/completions/cowthink.fish:1
msgid "Specify eye string"
@@ -42865,90 +42742,6 @@ msgstr ""
msgid "Exclude files that match any pattern in file"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:1
msgid "Remote hostname"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:2
msgid "Same as -e, but use /bin/sh"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:3
msgid "Program to execute after connection"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:4
msgid "Allow broadcasts"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:5
msgid "Source-routing hop points"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:6
msgid "Source-routing pointer"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:8
msgid "Delay interval for lines sent, ports scaned"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:9
msgid "Set keepalive option"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:10
msgid "Listen mode, acts as a server"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:11
msgid "Numeric-only IP addresses, no DNS"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:12
msgid "Hex dump of traffic"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:13
msgid "Local port number"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:14
msgid "Randomize local and remote ports"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:15
msgid "Quit after EOF on stdin and delay of secs"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:16
msgid "Local source address"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:17
msgid "Answer Telnet negotiation"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:18
msgid "UDP Mode"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:19
msgid "Verbose, use twice to be more verbose"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:20
msgid "Timeout for connects and final net reads"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:21
msgid "Set Type of Service"
msgstr ""
#: /tmp/fish/implicit/share/completions/netcat.fish:22
msgid "No I/O - used for scanning"
msgstr ""
#: /tmp/fish/implicit/share/completions/netctl-auto.fish:3
msgid "List all available profiles for automatic selection"
msgstr ""
@@ -48452,22 +48245,6 @@ msgstr ""
msgid "Show the full path for the given Ruby command"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc.d.fish:1
msgid "Filter started daemons"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc.d.fish:2
msgid "Filter stopped daemons"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc.d.fish:3
msgid "Filter auto started daemons"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc.d.fish:4
msgid "Filter manually started daemons"
msgstr ""
#: /tmp/fish/implicit/share/completions/rc-service.fish:1
msgid "Tests if the service exists or not"
msgstr ""
@@ -61531,10 +61308,6 @@ msgstr ""
msgid "Manage abbreviations using new fish 3.0 scheme."
msgstr ""
#: /tmp/fish/implicit/share/functions/abbr_old.fish:1
msgid "Manage abbreviations using old fish 2.x scheme."
msgstr ""
#: /tmp/fish/implicit/share/functions/alias.fish:1
msgid "Creates a function wrapping a command"
msgstr ""
@@ -61565,10 +61338,6 @@ msgstr ""
msgid "Edit the command buffer in an external editor"
msgstr ""
#: /tmp/fish/implicit/share/functions/eval.fish:1
msgid "Evaluate parameters as a command"
msgstr ""
#: /tmp/fish/implicit/share/functions/_.fish:1
msgid "Alias for the gettext command"
msgstr ""
@@ -61585,14 +61354,6 @@ msgstr ""
msgid "Return 0 if the current token has an open single-quote"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_abook_formats.fish:1
msgid "Complete abook formats"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_ant_targets.fish:1
msgid "Print list of targets from build.xml and imported files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_atool_archive_contents.fish:1
msgid "List archive contents"
msgstr ""
@@ -61941,10 +61702,6 @@ msgstr ""
msgid "Complete by list of running processes"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_setxkbmap.fish:1
msgid "Complete setxkb options"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_ssh.fish:1
msgid "common completions for ssh commands"
msgstr ""
@@ -61985,25 +61742,10 @@ msgstr ""
msgid "Complete subcommand"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_subcommand_root.fish:1
msgid ""
"Run the __fish_complete_subcommand function using a PATH containing /sbin "
"and /usr/sbin"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_suffix.fish:1
msgid "Complete using files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_svn_diff.fish:1
msgid "Complete \"svn diff\" arguments"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_tar.fish:1
#: /tmp/fish/implicit/share/functions/__fish_complete_unrar.fish:1
msgid "Peek inside of archives and list all files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_user_at_hosts.fish:1
msgid "Print list host-names with user@"
msgstr ""
@@ -62012,10 +61754,6 @@ msgstr ""
msgid "Print a list of local users, with the real user name as a description"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_wvdial_peers.fish:1
msgid "Complete wvdial peers"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_complete_zfs_mountpoint_properties.fish:1
msgid "Completes with ZFS mountpoint properties"
msgstr ""
@@ -62087,7 +61825,6 @@ msgid "Checks if a specific option has been given in the current commandline"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_crux_packages.fish:1
#: /tmp/fish/implicit/share/functions/__fish_prt_packages.fish:1
msgid "Obtain a list of installed packages"
msgstr ""
@@ -62115,57 +61852,47 @@ msgstr ""
msgid "Command used to find descriptions for commands"
msgstr ""
#: /tmp/fish/implicit/share/functions/fish_fallback_prompt.fish:1
msgid ""
"A simple fallback prompt without too much color or special characters for "
"linux VTs"
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:1
msgid "Helper function for fish_git_prompt"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_filter_ant_targets.fish:1
msgid "Display targets within an ant build.xml file"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:1
msgid "Helper function for __fish_git_prompt"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:2
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:2
msgid "Prompt function for Git"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:3
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:3
msgid ""
"__fish_git_prompt helper, tells whether or not the current branch has staged "
"fish_git_prompt helper, tells whether or not the current branch has staged "
"files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:4
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:4
msgid ""
"__fish_git_prompt helper, tells whether or not the current branch has "
"fish_git_prompt helper, tells whether or not the current branch has "
"tracked, modified files"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:5
msgid "__fish_git_prompt helper, returns the current Git operation and branch"
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:5
msgid "fish_git_prompt helper, returns the current Git operation and branch"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:6
msgid "__fish_git_prompt helper, checks char variables"
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:6
msgid "fish_git_prompt helper, checks char variables"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:7
msgid "__fish_git_prompt helper, checks color variables"
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:7
msgid "fish_git_prompt helper, checks color variables"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:8
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:8
msgid "Event handler, repaints prompt when functionality changes"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:9
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:9
msgid "Event handler, repaints prompt when any color changes"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_git_prompt.fish:10
#: /tmp/fish/implicit/share/functions/fish_git_prompt.fish:10
msgid "Event handler, repaints prompt when any char changes"
msgstr ""
@@ -62239,30 +61966,14 @@ msgstr ""
msgid "Paginate the current command using the users default pager"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_ports_dirs.fish:1
msgid "Obtain a list of ports local collections"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_abook_emails.fish:1
msgid "Print email addresses (abook)"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_addresses.fish:1
msgid "Print a list of known network addresses"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_arch_daemons.fish:1
msgid "Print arch daemons"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_commands.fish:1
msgid "Print a list of documented fish commands"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_debian_services.fish:1
msgid "Prints services installed"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_encodings.fish:1
msgid "Complete using available character encodings"
msgstr ""
@@ -62271,12 +61982,6 @@ msgstr ""
msgid "Print a list of all known filesystem types"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_function_prototypes.fish:1
msgid ""
"Prints the names of all function prototypes found in the headers in the "
"current directory"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_groups.fish:1
msgid "Print a list of local groups"
msgstr ""
@@ -62301,10 +62006,6 @@ msgstr ""
msgid "Print lpr printers"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_lsblk_columns.fish:1
msgid "Print available lsblk columns"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_mounted.fish:1
msgid "Print mounted devices"
msgstr ""
@@ -62329,71 +62030,27 @@ msgstr ""
msgid "Print directories where desktop files are stored"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xdg_desktop_file_ids.fish:1
msgid "Print all available xdg desktop file IDs"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xdg_mimetypes.fish:1
msgid "Print XDG mime types"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xrandr_modes.fish:1
msgid "Print xrandr modes"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xrandr_outputs.fish:1
msgid "Print xrandr outputs"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_xwindows.fish:1
msgid "Print X windows"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_zfs_bookmarks.fish:1
msgid "Lists ZFS bookmarks, if the feature is enabled"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_zfs_filesystems.fish:1
msgid "Lists ZFS filesystems"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_zfs_snapshots.fish:1
msgid "Lists ZFS snapshots"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_print_zfs_volumes.fish:1
msgid "Lists ZFS volumes"
msgstr ""
#: /tmp/fish/implicit/share/functions/fish_prompt.fish:1
msgid "Write out the prompt"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_prt_no_subcommand.fish:1
msgid "Test if prt-get has yet to be given the command"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_prt_ports.fish:1
msgid "Obtain a list of ports"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_prt_use_package.fish:1
msgid "Test if prt-get should have packages as potential completion"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_prt_use_port.fish:1
msgid "Test if prt-get should have ports as potential completion"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_pwd.fish:1
#: /tmp/fish/implicit/share/functions/__fish_pwd.fish:2
msgid "Show current path"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_sgrep.fish:1
msgid "Call grep without honoring GREP_OPTIONS settings"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_shared_key_bindings.fish:1
msgid "Bindings shared between emacs and vi mode"
msgstr ""
@@ -62414,10 +62071,6 @@ msgstr ""
msgid "Call systemctl with some options from the current commandline"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_test_arg.fish:1
msgid "Test if the token under the cursor matches the specified wildcard"
msgstr ""
#: /tmp/fish/implicit/share/functions/__fish_toggle_comment_commandline.fish:1
msgid "Comment/uncomment the current command"
msgstr ""

2228
po/pl.po

File diff suppressed because it is too large Load Diff

17142
po/pt_BR.po

File diff suppressed because it is too large Load Diff

16242
po/sv.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@ complete -c VBoxHeadless -l vrdeproperty -o vrdeproperty -s e -x -d "Set VRDE pr
complete -c VBoxHeadless -l settingspw -x -d "Specify settings password"
complete -c VBoxHeadless -l settingspwfile -f -d "Specify file containing setting password"
complete -c VBoxHeadless -l start-paused -o start-paused -d "Start VM in paused state"
complete -c VBoxHeadless -l capture -o capture -s c -x -d "Record VM screen ouput to file"
complete -c VBoxHeadless -l capture -o capture -s c -x -d "Record VM screen output to file"
complete -c VBoxHeadless -l width -s w -x -d "Frame width when recording"
complete -c VBoxHeadless -l height -s h -x -d "Frame height when recording"
complete -c VBoxHeadless -l bitrate -s r -x -d "Recording bit rate when recording"

View File

@@ -1,7 +1,7 @@
complete -c abbr -f -s a -l add -d 'Add abbreviation'
# Abbr keys can't contain spaces, so we can safely replace the first space with a tab
# `abbr -s` won't work here because that already escapes
complete -c abbr -s e -l erase -d 'Erase abbreviation' -xa '(string replace " " \t -- $fish_user_abbreviations)'
complete -c abbr -s e -l erase -d 'Erase abbreviation' -xa '(abbr --list)'
complete -c abbr -f -s s -l show -d 'Print all abbreviations'
complete -c abbr -f -s l -l list -d 'Print all abbreviation names'
complete -c abbr -f -s h -l help -d 'Help'

View File

@@ -1,16 +1,29 @@
function __fish_complete_abook_formats --description 'Complete abook formats'
set -l pat
switch $argv[1]
case in
set pat '/output:/,$d; /input:\|^$/d'
case out
set pat '/input:/,/output:/d; /^$/d'
case '*'
return 1
end
abook --formats | sed -e $pat -e 's/^\s\+//'
end
complete -c abook -s h -d 'Show usage'
complete -c abook -s C -l config -d 'Use an alternative configuration file' -r
complete -c abook -l datafile -d 'Use an alternative addressbook file' -r
complete -c abook -l mutt-query -d 'Make a query for mutt' -x
complete -c abook -l add-email -d 'Read email message from stdin and add the sender'
complete -c abook -l add-email-quiet -d 'Same as --add-email. Without confirmation'
complete -c abook -l convert -d 'Convert address book files'
complete -c abook -l datafile -d 'Use an alternative addressbook file' -r
complete -c abook -l mutt-query -d 'Make a query for mutt' -x
complete -c abook -l add-email -d 'Read email message from stdin and add the sender'
complete -c abook -l add-email-quiet -d 'Same as --add-email. Without confirmation'
complete -c abook -l convert -d 'Convert address book files'
set -l convert 'contains -- --convert (commandline -po)'
complete -c abook -l informat -d 'Input file format' -xa '(__fish_complete_abook_formats in)' -n $convert
complete -c abook -l outformat -d 'Output file format' -xa '(__fish_complete_abook_formats out)' -n $convert
complete -c abook -l infile -d 'Input file (default: stdin)' -r -n $convert
complete -c abook -l outfile -d 'Output file (default: stdout)' -r -n $convert
complete -c abook -l informat -d 'Input file format' -xa '(__fish_complete_abook_formats in)' -n $convert
complete -c abook -l outformat -d 'Output file format' -xa '(__fish_complete_abook_formats out)' -n $convert
complete -c abook -l infile -d 'Input file (default: stdin)' -r -n $convert
complete -c abook -l outfile -d 'Output file (default: stdout)' -r -n $convert
complete -c abook -l formats -d 'Print available formats'
complete -c abook -l formats -d 'Print available formats'

View File

@@ -83,9 +83,9 @@ complete -c ack -l thpppt -d 'Bill the Cat'
complete -c ack -l bar -d 'The warning admiral'
# File types
if type ack > /dev/null
for type in (ack --dump 2>/dev/null | perl -lne 'print $1 if /^\s+--type-add=([^:]+)/' | uniq)
complete -c ack -l $type -d "Allow $type file type"
complete -c ack -l no$type -l no-$type -d "Don't allow $type file type"
end
if type ack >/dev/null
for type in (ack --dump 2>/dev/null | perl -lne 'print $1 if /^\s+--type-add=([^:]+)/' | uniq)
complete -c ack -l $type -d "Allow $type file type"
complete -c ack -l no$type -l no-$type -d "Don't allow $type file type"
end
end

View File

@@ -14,7 +14,7 @@ complete -c acpi -s A -l without-ac-adapter -d 'Suppress ac-adapter information'
complete -c acpi -s V -l everything -d 'Show every device, overrides above options'
complete -c acpi -s s -l show-empty -d 'Show non-operational devices'
complete -c acpi -s S -l hide-empty -d 'Hide non-operational devices'
complete -c acpi -s c -l celcius -d 'Use celcius as the temperature unit'
complete -c acpi -s c -l celcius -d 'Use celsius as the temperature unit'
complete -c acpi -s f -l fahrenheit -d 'Use fahrenheit as the temperature unit'
complete -c acpi -s k -l kelvin -d 'Use kelvin as the temperature unit'
complete -c acpi -s d -l directory -d '<dir> path to ACPI info (/proc/acpi)'

View File

@@ -59,17 +59,17 @@ function __fish_adb_list_uninstallable_packages
end
function __fish_adb_list_files
set -l token (commandline -ct)
set -l token (commandline -ct)
# Have tab complete show initial / if nothing on current token
if test -z "$token"
set token "/"
end
# Have tab complete show initial / if nothing on current token
if test -z "$token"
set token "/"
end
# Return list of directories suffixed with '/'
__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
# Return list of directories suffixed with '/'
__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

View File

@@ -2,13 +2,13 @@ set -l cmds 'scontrols scontents controls contents sget sset cset cget set get'
complete -c amixer -xa "$cmds" -n "not __fish_seen_subcommand_from $cmds"
complete -c amixer -n '__fish_seen_subcommand_from sset sget get set' -xa "(amixer scontrols | cut --delimiter \' --fields 2)"
complete -c amixer -s h -l help -d 'this help'
complete -c amixer -s c -l card -r -d 'select the card'
complete -c amixer -s D -l device -r -d 'select the device, default \'default\''
complete -c amixer -s d -l debug -d 'debug mode'
complete -c amixer -s n -l nocheck -d 'do not perform range checking'
complete -c amixer -s v -l version -d 'print version of this program'
complete -c amixer -s q -l quiet -d 'be quiet'
complete -c amixer -s i -l inactive -d 'show also inactive controls'
complete -c amixer -s a -l abstract -d 'select abstraction level' -xa 'none basic'
complete -c amixer -s s -l stdin -d 'Read and execute commands from stdin sequentially'
complete -c amixer -s h -l help -d 'this help'
complete -c amixer -s c -l card -r -d 'select the card'
complete -c amixer -s D -l device -r -d 'select the device, default \'default\''
complete -c amixer -s d -l debug -d 'debug mode'
complete -c amixer -s n -l nocheck -d 'do not perform range checking'
complete -c amixer -s v -l version -d 'print version of this program'
complete -c amixer -s q -l quiet -d 'be quiet'
complete -c amixer -s i -l inactive -d 'show also inactive controls'
complete -c amixer -s a -l abstract -d 'select abstraction level' -xa 'none basic'
complete -c amixer -s s -l stdin -d 'Read and execute commands from stdin sequentially'

View File

@@ -1,3 +1,3 @@
complete -c and -s h -l help -d 'Display help and exit'
complete -c and -xa '( __fish_complete_subcommand )'
complete -c and -xa '(__fish_complete_subcommand --allow-functions-and-builtins)'

View File

@@ -1,65 +1,65 @@
complete -c animate -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(animate -list alpha)'
complete -c animate -o authenticate -d 'Decipher image with this password [password]'
complete -c animate -o backdrop -d 'Display image centered on a backdrop'
complete -c animate -o channel -d 'Apply option to select image channels [type]' -xa '(animate -list channel)'
complete -c animate -o colormap -d 'Shared or Private [type]' -x
complete -c animate -o colorspace -d 'Alternate image colorspace [type]' -xa '(animate -list colorspace)'
complete -c animate -o decipher -d 'Convert cipher pixels to plain pixels [filename]' -r
complete -c animate -o define -d 'Define one or more image format options [format:option]'
complete -c animate -o delay -d 'Display the next image after pausing [value]'
complete -c animate -o density -d 'Horizontal and vertical density of the image [geometry]'
complete -c animate -o depth -d 'Image depth [value]'
complete -c animate -o display -d 'Display image to this X server [server]'
complete -c animate -o dispose -d 'Layer disposal method [method]' -xa '(animate -list dispose)'
complete -c animate -o dither -d 'Apply error diffusion to image [method]' -xa '(animate -list dither)'
complete -c animate -o filter -d 'Use this filter when resizing an image [type]' -xa '(animate -list filter)'
complete -c animate -o format -d 'Output formatted image characteristics ["string"]'
complete -c animate -o gamma -d 'Level of gamma correction [value]'
complete -c animate -o geometry -d 'Preferred size and location of the Image window [geometry]'
complete -c animate -o gravity -d 'Horizontal and vertical backdrop placement [type]' -xa '(animate -list gravity)'
complete -c animate -o identify -d 'Identify the format and characteristics of the image'
complete -c animate -o immutable -d 'Displayed image cannot be modified'
complete -c animate -o interlace -d 'Type of image interlacing scheme [type]' -xa '(animate -list interlace)'
complete -c animate -o interpolate -d 'Pixel color interpolation method [method]' -xa '(animate -list interpolate)'
complete -c animate -o limit -d 'Pixel cache resource limit [type value]' -x
complete -c animate -o loop -d 'Loop images then exit [iterations]'
complete -c animate -o map -d 'Display image using this Standard Colormap [type]' -x
complete -c animate -o monitor -d 'Monitor progress '
complete -c animate -o pause -d 'Seconds to pause before reanimating'
complete -c animate -o page -d 'Size and location of an image canvas (setting) [geometry]'
complete -c animate -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(animate -list colorspace)'
complete -c animate -o quiet -d 'Suppress all warning messages'
complete -c animate -o regard-warnings -d 'Pay attention to warning messages'
complete -c animate -o remote -d 'Command execute a command in an remote display process'
complete -c animate -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
complete -c animate -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
complete -c animate -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
complete -c animate -o set -d 'Attribute set an image attribute [ value]'
complete -c animate -o size -d 'Width and height of image [geometry]'
complete -c animate -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
complete -c animate -o treedepth -d 'Color tree depth [value]'
complete -c animate -o verbose -d 'Print detailed information about the image'
complete -c animate -o visual -d 'Display image using this visual type [type]' -x
complete -c animate -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(animate -list virtual-pixel)'
complete -c animate -o window -d 'Display image to background of this window [id]' -xa 'root (__fish_print_xwindows)'
complete -c animate -o colors -d 'Preferred number of colors in the image [value]'
complete -c animate -o crop -d 'Preferred size and location of the cropped image [geometry]'
complete -c animate -o extract -d 'Extract area from image [geometry]'
complete -c animate -o monochrome -d 'Transform image to black and white'
complete -c animate -o repage -d 'Size and location of an image canvas (operator) [geometry]'
complete -c animate -o resample -d 'Change the resolution of an image [geometry]'
complete -c animate -o resize -d 'Resize the image [geometry]'
complete -c animate -o rotate -d 'Apply Paeth rotation to the image [degrees]'
complete -c animate -o strip -d 'Strip image of all profiles and comments'
complete -c animate -o thumbnail -d 'Create a thumbnail of the image [geometry]'
complete -c animate -o trim -d 'Trim image edges'
complete -c animate -o coalesce -d 'Merge a sequence of images'
complete -c animate -o flatten -d 'Flatten a sequence of images'
complete -c animate -o debug -d 'Display copious debugging information [events]' -xa '(animate -list debug)'
complete -c animate -o help -d 'Print program options'
complete -c animate -o list -d 'Print a list of supported option arguments [type]' -xa '(animate -list list)'
complete -c animate -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
complete -c animate -o version -d 'Print version information Press any button to map or unmap the Command widget'
complete -c animate -o matte -d 'Store matte channel if the image has one'
complete -c animate -o scenes -d 'Range image scene range'
complete -c animate -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'
complete -c animate -o alpha -d 'On, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape [option]' -xa '(animate -list alpha)'
complete -c animate -o authenticate -d 'Decipher image with this password [password]'
complete -c animate -o backdrop -d 'Display image centered on a backdrop'
complete -c animate -o channel -d 'Apply option to select image channels [type]' -xa '(animate -list channel)'
complete -c animate -o colormap -d 'Shared or Private [type]' -x
complete -c animate -o colorspace -d 'Alternate image colorspace [type]' -xa '(animate -list colorspace)'
complete -c animate -o decipher -d 'Convert cipher pixels to plain pixels [filename]' -r
complete -c animate -o define -d 'Define one or more image format options [format:option]'
complete -c animate -o delay -d 'Display the next image after pausing [value]'
complete -c animate -o density -d 'Horizontal and vertical density of the image [geometry]'
complete -c animate -o depth -d 'Image depth [value]'
complete -c animate -o display -d 'Display image to this X server [server]'
complete -c animate -o dispose -d 'Layer disposal method [method]' -xa '(animate -list dispose)'
complete -c animate -o dither -d 'Apply error diffusion to image [method]' -xa '(animate -list dither)'
complete -c animate -o filter -d 'Use this filter when resizing an image [type]' -xa '(animate -list filter)'
complete -c animate -o format -d 'Output formatted image characteristics ["string"]'
complete -c animate -o gamma -d 'Level of gamma correction [value]'
complete -c animate -o geometry -d 'Preferred size and location of the Image window [geometry]'
complete -c animate -o gravity -d 'Horizontal and vertical backdrop placement [type]' -xa '(animate -list gravity)'
complete -c animate -o identify -d 'Identify the format and characteristics of the image'
complete -c animate -o immutable -d 'Displayed image cannot be modified'
complete -c animate -o interlace -d 'Type of image interlacing scheme [type]' -xa '(animate -list interlace)'
complete -c animate -o interpolate -d 'Pixel color interpolation method [method]' -xa '(animate -list interpolate)'
complete -c animate -o limit -d 'Pixel cache resource limit [type value]' -x
complete -c animate -o loop -d 'Loop images then exit [iterations]'
complete -c animate -o map -d 'Display image using this Standard Colormap [type]' -x
complete -c animate -o monitor -d 'Monitor progress '
complete -c animate -o pause -d 'Seconds to pause before reanimating'
complete -c animate -o page -d 'Size and location of an image canvas (setting) [geometry]'
complete -c animate -o quantize -d 'Reduce colors in this colorspace [colorspace]' -xa '(animate -list colorspace)'
complete -c animate -o quiet -d 'Suppress all warning messages'
complete -c animate -o regard-warnings -d 'Pay attention to warning messages'
complete -c animate -o remote -d 'Command execute a command in an remote display process'
complete -c animate -o respect-parentheses -d 'Settings remain in effect until parenthesis boundary'
complete -c animate -o sampling-factor -d 'Horizontal and vertical sampling factor [geometry]'
complete -c animate -o seed -d 'Seed a new sequence of pseudo-random numbers [value]'
complete -c animate -o set -d 'Attribute set an image attribute [ value]'
complete -c animate -o size -d 'Width and height of image [geometry]'
complete -c animate -o transparent-color -d 'Transparent color [color]' -xa '(__fish_complete_convert_options color)'
complete -c animate -o treedepth -d 'Color tree depth [value]'
complete -c animate -o verbose -d 'Print detailed information about the image'
complete -c animate -o visual -d 'Display image using this visual type [type]' -x
complete -c animate -o virtual-pixel -d 'Virtual pixel access method [method]' -xa '(animate -list virtual-pixel)'
complete -c animate -o window -d 'Display image to background of this window [id]' -xa 'root (__fish_print_xwindows)'
complete -c animate -o colors -d 'Preferred number of colors in the image [value]'
complete -c animate -o crop -d 'Preferred size and location of the cropped image [geometry]'
complete -c animate -o extract -d 'Extract area from image [geometry]'
complete -c animate -o monochrome -d 'Transform image to black and white'
complete -c animate -o repage -d 'Size and location of an image canvas (operator) [geometry]'
complete -c animate -o resample -d 'Change the resolution of an image [geometry]'
complete -c animate -o resize -d 'Resize the image [geometry]'
complete -c animate -o rotate -d 'Apply Paeth rotation to the image [degrees]'
complete -c animate -o strip -d 'Strip image of all profiles and comments'
complete -c animate -o thumbnail -d 'Create a thumbnail of the image [geometry]'
complete -c animate -o trim -d 'Trim image edges'
complete -c animate -o coalesce -d 'Merge a sequence of images'
complete -c animate -o flatten -d 'Flatten a sequence of images'
complete -c animate -o debug -d 'Display copious debugging information [events]' -xa '(animate -list debug)'
complete -c animate -o help -d 'Print program options'
complete -c animate -o list -d 'Print a list of supported option arguments [type]' -xa '(animate -list list)'
complete -c animate -o log -d 'Format of debugging information [format]' -xa '(__fish_complete_convert_options format)'
complete -c animate -o version -d 'Print version information Press any button to map or unmap the Command widget'
complete -c animate -o matte -d 'Store matte channel if the image has one'
complete -c animate -o scenes -d 'Range image scene range'
complete -c animate -o support -d 'Resize support: > 1.0 is blurry, < 1.0 is sharp [factor]'

View File

@@ -1,7 +1,40 @@
complete -c ansible-vault -l ask-vault-pass -f -d "Ask for vault password"
complete -c ansible-vault -s h -l help -f -d "Show this help message and exit"
complete -c ansible-vault -l new-vault-password-file -r -d "New vault password file for rekey"
complete -c ansible-vault -l output -r -d "Output file name for encrypt or decrypt; use - for stdout"
complete -c ansible-vault -l vault-password-file -r -d "Vault password file"
complete -c ansible-vault -s v -l verbose -d "Verbose mode (-vvv for more, -vvvv to enable connection debugging)"
function __fish_ansible_vault_no_subcommand -d 'Test if ansible-vault has yet to be given the subcommand'
commandline -pc | not string match --regex '[^-]\b(?:create|decrypt|edit|encrypt|encrypt_string|rekey|view)\b'
end
function __fish_ansible_vault_using_command
set -l cmd (string trim (__fish_ansible_vault_no_subcommand))
test -z "$cmd"
and return 1
contains -- "$cmd" $argv
end
# generic options
complete -c ansible-vault -l version -d "Display version and exit"
complete -c ansible-vault -s h -l help -f -d "Show help message and exit"
complete -c ansible-vault -s v -l verbose -d "Verbose mode (-vvv for more, -vvvv to enable connection debugging)"
complete -c ansible-vault -l ask-vault-pass -f -d "Ask for vault password"
complete -c ansible-vault -l new-vault-id -r -d "the new vault identity to use for rekey"
complete -c ansible-vault -l new-vault-password-file -r -d "New vault password file for rekey"
complete -c ansible-vault -l vault-id -r -d "the vault identity to use"
complete -c ansible-vault -l vault-password-file -r -d "Vault password file"
# subcommands
complete -c ansible-vault -n '__fish_ansible_vault_no_subcommand' -a decrypt -d 'Decrypt encrypted file or stdin'
complete -c ansible-vault -n '__fish_ansible_vault_no_subcommand' -a encrypt -d 'Encrypt a file or stdin'
complete -c ansible-vault -n '__fish_ansible_vault_no_subcommand' -ra create -d 'Create encrypted file'
complete -c ansible-vault -n '__fish_ansible_vault_no_subcommand' -ra edit -d 'Edit encrypted file'
complete -c ansible-vault -n '__fish_ansible_vault_no_subcommand' -ra rekey -d 'Rekey encrypted file'
complete -c ansible-vault -n '__fish_ansible_vault_no_subcommand' -ra view -d 'View contents of something encrypted'
complete -f -c ansible-vault -n '__fish_ansible_vault_no_subcommand' -a encrypt_string -d 'Encrypt string'
# encrypt_string options
complete -c ansible-vault -n '__fish_ansible_vault_using_command encrypt encrypt_string' -r -l stdin-name -f -d 'Specify the variable name for stdin'
complete -c ansible-vault -n '__fish_ansible_vault_using_command encrypt encrypt_string' -r -s n -l name -f -d 'Specify the variable name'
complete -c ansible-vault -n '__fish_ansible_vault_using_command encrypt encrypt_string' -s p -l prompt -d 'Prompt for the string to encrypt'
# shared options
complete -c ansible-vault -n '__fish_ansible_vault_using_command encrypt encrypt_string rekey edit create' -l encrypt-vault-id -r -d "the vault id used to encrypt (required if more than vault-id is provided)"
complete -c ansible-vault -n '__fish_ansible_vault_using_command encrypt encrypt_string decrypt' -l output -r -d "Output file name for encrypt or decrypt; use - for stdout"

View File

@@ -1,7 +1,63 @@
# Apache Ant (1.9.5) completion for Fish Shell.
function __fish_complete_ant_targets -d "Print list of targets from build.xml and imported files"
function __get_buildfile -d "Get a buildfile that will be used by ant"
set -l tokens $argv # tokens from 'commandline -co'
set -l prev $tokens[1]
set -l buildfile "build.xml"
for token in $argv[2..-1]
switch $prev
case -buildfile -file -f
set buildfile (eval echo $token)
end
set prev $token
end
# return last one
echo $buildfile
end
function __parse_ant_targets_from_projecthelp -d "Parse ant targets from projecthelp"
set -l buildfile $argv[1] # full path to buildfile
set -l targets (ant -p -debug -f $buildfile 2> /dev/null | string match -r '^\s[[:graph:]].*$')
for target in $targets
# Use [[:graph:]] and [[:print:]] to ignore ANSI escape code
set -l tokens (string match -r '^\s([[:graph:]]+)(?:\s+([[:print:]]+))?' "$target")
if [ (count $tokens) -ge 3 ]
echo $tokens[2]\t$tokens[3]
else if [ (count $tokens) -ge 2 ]
echo $tokens[2]
end
end
end
function __get_ant_targets_from_projecthelp -d "Get ant targets from projecthelp"
set -l buildfile $argv[1] # full path to buildfile
if [ \( -z "$XDG_CACHE_HOME" \) -o \( ! -d "$XDG_CACHE_HOME" \) ]
set XDG_CACHE_HOME "$HOME/.cache"
end
set -l cache_dir "$XDG_CACHE_HOME/fish/ant_completions"
mkdir -p $cache_dir
set -l cache_file $cache_dir/(fish_md5 -s $buildfile)
if [ ! -s "$cache_file" ]
# generate cache file if empty
__parse_ant_targets_from_projecthelp $buildfile >$cache_file
end
cat $cache_file
end
set -l tokens $argv
set -l buildfile (realpath -eq $buildfile (__get_buildfile $tokens))
if [ $status -ne 0 ]
return 1 # return nothing if buildfile does not exist
end
__get_ant_targets_from_projecthelp $buildfile
end
# completion for ant targets
complete -x -c ant -a "(__fish_complete_ant_targets)"
complete -x -c ant -a "(__fish_complete_ant_targets (commandline -co))"
# Script Options:
complete -f -c ant -l help -l h -d 'print help message and ant help'

View File

@@ -178,7 +178,7 @@ atom.io registry"
complete -x -c apm -n "__fish_apm_using_command login" -l token -d "Specify API token"
# outdated & upgrade & update
set -l upgrade_commands "outdated upgrade update"
set -l upgrade_commands "outdated upgrade update"
complete -f -c apm -n '__fish_apm_needs_command' -a $upgrade_commands -d "Upgrade out of date packages"
complete -f -c apm -n "__fish_apm_using_command $upgrade_commands" -l json -d "Output outdated packages as JSON array"
complete -x -c apm -n "__fish_apm_using_command $upgrade_commands" -l compatible -d "Only install packages/themes compatible with specified Atom version"

View File

@@ -1,9 +1,9 @@
function __fish_complete_apropos
if test (commandline -ct)
set str (commandline -ct)
apropos $str 2>/dev/null |sed -e "s/^\(.*$str\([^ ]*\).*\)\$/$str\2"\t"\1/"
end
if test (commandline -ct)
set str (commandline -ct)
apropos $str 2>/dev/null | sed -e "s/^\(.*$str\([^ ]*\).*\)\$/$str\2"\t"\1/"
end
end
complete -xc apropos -a '(__fish_complete_apropos)' -d "whatis entry"

View File

@@ -30,12 +30,12 @@ complete -r -c apt-cache -s c -l config-file -d "Specify config file"
complete -x -c apt-cache -s o -l option -d "Specify options"
function __fish_apt-cache_use_package -d 'Test if apt command should have packages as potential completion'
for i in (commandline -opc)
if contains -- $i contains show showpkg showsrc depends rdepends dotty policy
return 0
end
end
return 1
for i in (commandline -opc)
if contains -- $i contains show showpkg showsrc depends rdepends dotty policy
return 0
end
end
return 1
end
complete -c apt-cache -n '__fish_apt-cache_use_package' -a '(__fish_print_packages)' -d 'Package'

View File

@@ -2,6 +2,6 @@
#apt-extracttemplates
complete -c apt-extracttemplates -s h -l help -d "Display help and exit"
complete -r -c apt-extracttemplates -s t -d "Set temp dir"
complete -r -c apt-extracttemplates -s c -d "Specifiy config file"
complete -r -c apt-extracttemplates -s c -d "Specify config file"
complete -r -c apt-extracttemplates -s o -d "Specify options"

View File

@@ -11,7 +11,7 @@ complete -f -c apt-file -s i -l ignore-case -d "Do not expand pattern"
complete -f -c apt-file -s x -l regexp -d "Pattern is regexp"
complete -f -c apt-file -s V -l version -d "Display version and exit"
complete -f -c apt-file -s a -l architecture -d "Set arch"
complete -r -c apt-file -s s -l sources-list -a "(ls /etc/apt)" -d "Set sources.list file"
complete -r -c apt-file -s s -l sources-list -a '(set -l files /etc/apt/*; string replace /etc/apt/ "" -- $files)' -d "Set sources.list file"
complete -f -c apt-file -s l -l package-only -d "Only display package name"
complete -f -c apt-file -s F -l fixed-string -d "Do not expand pattern"
complete -f -c apt-file -s y -l dummy -d "Run in dummy mode"

View File

@@ -1,21 +1,21 @@
#completion for apt-get
function __fish_apt_no_subcommand -d 'Test if apt has yet to be given the subcommand'
for i in (commandline -opc)
if contains -- $i update upgrade dselect-upgrade dist-upgrade install remove purge source build-dep check clean autoclean changelog
return 1
end
end
return 0
for i in (commandline -opc)
if contains -- $i update upgrade dselect-upgrade dist-upgrade install remove purge source build-dep check clean autoclean changelog
return 1
end
end
return 0
end
function __fish_apt_use_package -d 'Test if apt command should have packages as potential completion'
for i in (commandline -opc)
if contains -- $i contains install remove purge build-dep changelog
return 0
end
end
return 1
for i in (commandline -opc)
if contains -- $i contains install remove purge build-dep changelog
return 0
end
end
return 1
end
complete -c apt-get -n '__fish_apt_use_package' -a '(__fish_print_packages)' -d 'Package'

View File

@@ -1,6 +1,6 @@
#apt-listbugs
complete -c apt-listbugs -s h -l help -d "Display help and exit"
complete -f -c apt-listbugs -s s -l severity -a "critical grave" -d "Set severity"
complete -f -c apt-listbugs -s s -l severity -a "critical grave" -d "Set severity"
complete -f -c apt-listbugs -s T -l tag -d "Tags you want to see"
complete -f -c apt-listbugs -s S -l stats -a "outstanding 'pending upload' resolved done open" -d "Bug-status you want to see"
complete -f -c apt-listbugs -s l -l showless -d "Ignore bugs in your system"

View File

@@ -1,21 +1,21 @@
#completion for apt-mark
function __fish_apt_no_subcommand -d 'Test if apt has yet to be given the subcommand'
for i in (commandline -opc)
if contains -- $i auto manual hold unhold showauto showmanual showhold
return 1
end
end
return 0
for i in (commandline -opc)
if contains -- $i auto manual hold unhold showauto showmanual showhold
return 1
end
end
return 0
end
function __fish_apt_use_package -d 'Test if apt command should have packages as potential completion'
for i in (commandline -opc)
if contains -- $i contains auto manual hold unhold
return 0
end
end
return 1
for i in (commandline -opc)
if contains -- $i contains auto manual hold unhold
return 0
end
end
return 1
end
complete -c apt-mark -n '__fish_apt_use_package' -a '(__fish_print_packages)' -d 'Package'

View File

@@ -1,5 +1,5 @@
#apt-show-versions
complete -c apt-show-source -s h -l help -d 'Display help and exit'
complete -c apt-show-versions -s h -l help -d 'Display help and exit'
complete -r -c apt-show-versions -s p -l packages -a '(apt-cache pkgnames)' -d 'Print PKG versions'
complete -f -c apt-show-versions -s r -l regex -d 'Using regex'
complete -f -c apt-show-versions -s u -l upgradeable -d 'Print only upgradeable packages'

View File

@@ -3,8 +3,9 @@
set -l all_subcmds update upgrade full-upgrade search list install show remove edit-sources purge changelog autoremove depends rdepends
set -l pkg_subcmds install upgrade full-upgrade show search purge changelog policy depends rdepends
set -l installed_pkg_subcmds remove
set -l handle_file_pkg_subcmds install
function __fish_apt_subcommand
function __fish_apt_subcommand --no-scope-shadowing
set subcommand $argv[1]
set -e argv[1]
complete -f -c apt -n "not __fish_seen_subcommand_from $all_subcmds" -a $subcommand $argv
@@ -16,62 +17,68 @@ function __fish_apt_option
complete -f -c apt -n "__fish_seen_subcommand_from $subcommand" $argv
end
complete -c apt -n "__fish_seen_subcommand_from $pkg_subcmds" -a '(__fish_print_packages | head -n 250)'
complete -c apt -f
complete -k -c apt -n "__fish_seen_subcommand_from $pkg_subcmds" -a '(__fish_print_packages | head -n 250 | sort)'
complete -c apt -n "__fish_seen_subcommand_from $installed_pkg_subcmds" -a '(__fish_print_packages --installed | string match -re -- "(?:\\b|_)"(commandline -ct | string escape --style=regex) | head -n 250)' -d 'Package'
complete -k -c apt -n "__fish_seen_subcommand_from $handle_file_pkg_subcmds" -a '(__fish_complete_suffix .deb)'
# Support flags
complete -x -f -c apt -s h -l help -d 'Display help'
complete -x -f -c apt -s v -l version -d 'Display version and exit'
complete -f -c apt -s h -l help -d 'Display help'
complete -f -c apt -s v -l version -d 'Display version and exit'
# General options
complete -f -c apt -s o -l option -d 'Set a configuration option'
complete -f -c apt -s c -l config-file -d 'Configuration file'
complete -f -c apt -s t -d 'Target release'
complete -x -c apt -s o -l option -d 'Set a configuration option'
complete -r -c apt -s c -l config-file -d 'Configuration file'
complete -x -c apt -s t -d 'Target release'
# List
__fish_apt_subcommand list -d 'List packages'
__fish_apt_option list -l installed -d 'Installed packages'
__fish_apt_option list -l upgradable -d 'Upgradable packages'
__fish_apt_option list -l all-versions -d 'Show all versions of any package'
__fish_apt_subcommand list -d 'List packages'
__fish_apt_option list -l installed -d 'Installed packages'
__fish_apt_option list -l upgradable -d 'Upgradable packages'
__fish_apt_option list -l all-versions -d 'Show all versions of any package'
# Search
__fish_apt_subcommand search -r -d 'Search for packages'
__fish_apt_subcommand search -r -d 'Search for packages'
# Search
__fish_apt_subcommand show -r -d 'Show package information'
__fish_apt_subcommand show -r -d 'Show package information'
# Install
__fish_apt_subcommand install -r -d 'Install packages'
__fish_apt_subcommand install -r -d 'Install packages'
__fish_apt_option install -l reinstall -d 'Reinstall package'
# Remove
__fish_apt_subcommand remove -r -d 'Remove packages'
__fish_apt_subcommand remove -r -d 'Remove packages'
# Edit sources
__fish_apt_subcommand edit-sources -d 'Edit sources list'
__fish_apt_subcommand edit-sources -d 'Edit sources list'
# Update
__fish_apt_subcommand update -x -d 'Update package list'
__fish_apt_subcommand update -x -d 'Update package list'
# Upgrade
__fish_apt_subcommand upgrade -r -d 'Upgrade packages'
__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 full-upgrade -r -d 'Upgrade packages, removing others when needed'
# Purge
__fish_apt_subcommand purge -x -d 'Remove packages and delete their config files'
__fish_apt_subcommand purge -x -d 'Remove packages and delete their config files'
# Changelog
__fish_apt_subcommand changelog -r -d 'Download and display package changelog'
__fish_apt_subcommand changelog -r -d 'Download and display package changelog'
# Autoremove
__fish_apt_subcommand autoremove -d 'Remove packages no longer needed as dependencies'
__fish_apt_subcommand autoremove -d 'Remove packages no longer needed as dependencies'
# Policy
__fish_apt_subcommand policy -x -d 'Display source or package priorities'
__fish_apt_subcommand policy -x -d 'Display source or package priorities'
# Depends
__fish_apt_subcommand depends -r -d 'List package dependencies'
__fish_apt_subcommand depends -r -d 'List package dependencies'
# Rdepends
__fish_apt_subcommand rdepends -r -d 'List package reverse dependencies'
__fish_apt_subcommand rdepends -r -d 'List package reverse dependencies'
functions -e __fish_apt_subcommand __fish_apt_option

View File

@@ -1,68 +1,68 @@
#completion for aptitude
function __fish_apt_no_subcommand -d 'Test if aptitude has yet to be given the subcommand'
for i in (commandline -opc)
if contains -- $i autoclean clean forget-new keep-all update safe-upgrade changelog full-upgrade download forbid-version hold install keep markauto purge reinstall remove show unhold unmarkauto search help
return 1
end
end
return 0
function __fish_apt_no_subcommand -d 'Test if aptitude has yet to be given the subcommand'
for i in (commandline -opc)
if contains -- $i autoclean clean forget-new keep-all update safe-upgrade changelog full-upgrade download forbid-version hold install keep markauto purge reinstall remove show unhold unmarkauto search help
return 1
end
end
return 0
end
function __fish_apt_use_package -d 'Test if aptitude command should have packages as potential completion'
for i in (commandline -opc)
if contains -- $i changelog full-upgrade download forbid-version hold install keep-all markauto purge reinstall remove show unhold unmarkauto
return 0
end
end
return 1
function __fish_apt_use_package -d 'Test if aptitude command should have packages as potential completion'
for i in (commandline -opc)
if contains -- $i changelog full-upgrade download forbid-version hold install keep-all markauto purge reinstall remove show unhold unmarkauto
return 0
end
end
return 1
end
complete -c aptitude -n '__fish_apt_use_package' -a '(__fish_print_packages)' -d 'Package'
complete -c aptitude -n '__fish_apt_use_package' -a '(__fish_print_packages)' -d 'Package'
complete -c aptitude -s h -l help -d 'Display a brief help message. Identical to the help action'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'autoclean' -d 'Remove any cached packages which can no longer be downloaded'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'clean' -d 'Remove all downloaded .deb files from the package cache directory'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'forget-new' -d 'Forget all internal information about what packages are \'new\''
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'keep-all' -d 'Cancel all scheduled actions on all packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'update' -d 'Update the list of available packages from the apt sources'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'safe-upgrade' -d 'Upgrade installed packages to their most recent version'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'changelog' -d 'Download and displays the Debian changelog for the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'full-upgrade' -d 'Upgrade, removing or installing packages as necessary'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'download' -d 'Download the packages to the current directory'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'forbid-version' -d 'Forbid the upgrade to a particular version'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'hold' -d 'Ignore the packages by future upgrade commands'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'install' -d 'Install the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'keep' -d 'Cancel any scheduled actions on the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'markauto' -d 'Mark packages as automatically installed'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'purge' -d 'Remove and delete all associated configuration and data files'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'reinstall' -d 'Reinstall the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'remove' -d 'Remove the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'show' -d 'Display detailed information about the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'unhold' -d 'Consider the packages by future upgrade commands'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'unmarkauto' -d 'Mark packages as manually installed'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'search' -d 'Search for packages matching one of the patterns'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'help' -d 'Display brief summary of the available commands and options'
complete -c aptitude -s h -l help -d 'Display a brief help message. Identical to the help action'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'autoclean' -d 'Remove any cached packages which can no longer be downloaded'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'clean' -d 'Remove all downloaded .deb files from the package cache directory'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'forget-new' -d 'Forget all internal information about what packages are \'new\''
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'keep-all' -d 'Cancel all scheduled actions on all packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'update' -d 'Update the list of available packages from the apt sources'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'safe-upgrade' -d 'Upgrade installed packages to their most recent version'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'changelog' -d 'Download and displays the Debian changelog for the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'full-upgrade' -d 'Upgrade, removing or installing packages as necessary'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'download' -d 'Download the packages to the current directory'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'forbid-version' -d 'Forbid the upgrade to a particular version'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'hold' -d 'Ignore the packages by future upgrade commands'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'install' -d 'Install the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'keep' -d 'Cancel any scheduled actions on the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'markauto' -d 'Mark packages as automatically installed'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'purge' -d 'Remove and delete all associated configuration and data files'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'reinstall' -d 'Reinstall the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'remove' -d 'Remove the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'show' -d 'Display detailed information about the packages'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'unhold' -d 'Consider the packages by future upgrade commands'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'unmarkauto' -d 'Mark packages as manually installed'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'search' -d 'Search for packages matching one of the patterns'
complete -f -n '__fish_apt_no_subcommand' -c aptitude -a 'help' -d 'Display brief summary of the available commands and options'
complete -c aptitude -s D -l show-deps -d 'Show explanations of automatic installations and removals'
complete -c aptitude -s d -l download-only -d 'Download Only'
complete -c aptitude -s f -l fix-broken -d 'Correct broken dependencies'
complete -c aptitude -l purge-unused -d 'Purge packages that are not required by any installed package'
complete -c aptitude -s P -l prompt -d 'Always display a prompt'
complete -c aptitude -s R -l without-recommends -d 'Do not treat recommendations as dependencies'
complete -c aptitude -s r -l with-recommends -d 'Treat recommendations as dependencies'
complete -c aptitude -s s -l simulate -d 'Don\'t perform the actions. Just show them'
complete -c aptitude -l schedule-only -d 'Schedule operations to be performed in the future'
complete -c aptitude -s q -l quiet -d 'Suppress incremental progress indicators'
complete -c aptitude -s V -l show-versions -d 'Show which versions of packages will be installed'
complete -c aptitude -s v -l verbose -d 'Display extra information'
complete -c aptitude -l version -d 'Display the version of aptitude and compile information'
complete -c aptitude -l visual-preview -d 'Start up the visual interface and display its preview screen'
complete -c aptitude -s y -l assume-yes -d 'Assume the answer yes for all question prompts'
complete -c aptitude -s Z -d 'Show how much disk space will be used or freed'
complete -r -c aptitude -s F -l display-format -d 'Specify the format to be used by the search command'
complete -r -c aptitude -s t -l target-release -d 'Set the release from which packages should be installed'
complete -r -c aptitude -s O -l sort -d 'Specify the order for the output from the search command'
complete -r -c aptitude -s o -d 'Set a configuration file option directly'
complete -r -c aptitude -s w -l width -d 'Specify the display width for the output from the search command'
complete -c aptitude -s D -l show-deps -d 'Show explanations of automatic installations and removals'
complete -c aptitude -s d -l download-only -d 'Download Only'
complete -c aptitude -s f -l fix-broken -d 'Correct broken dependencies'
complete -c aptitude -l purge-unused -d 'Purge packages that are not required by any installed package'
complete -c aptitude -s P -l prompt -d 'Always display a prompt'
complete -c aptitude -s R -l without-recommends -d 'Do not treat recommendations as dependencies'
complete -c aptitude -s r -l with-recommends -d 'Treat recommendations as dependencies'
complete -c aptitude -s s -l simulate -d 'Don\'t perform the actions. Just show them'
complete -c aptitude -l schedule-only -d 'Schedule operations to be performed in the future'
complete -c aptitude -s q -l quiet -d 'Suppress incremental progress indicators'
complete -c aptitude -s V -l show-versions -d 'Show which versions of packages will be installed'
complete -c aptitude -s v -l verbose -d 'Display extra information'
complete -c aptitude -l version -d 'Display the version of aptitude and compile information'
complete -c aptitude -l visual-preview -d 'Start up the visual interface and display its preview screen'
complete -c aptitude -s y -l assume-yes -d 'Assume the answer yes for all question prompts'
complete -c aptitude -s Z -d 'Show how much disk space will be used or freed'
complete -r -c aptitude -s F -l display-format -d 'Specify the format to be used by the search command'
complete -r -c aptitude -s t -l target-release -d 'Set the release from which packages should be installed'
complete -r -c aptitude -s O -l sort -d 'Specify the order for the output from the search command'
complete -r -c aptitude -s o -d 'Set a configuration file option directly'
complete -r -c aptitude -s w -l width -d 'Specify the display width for the output from the search command'

View File

@@ -41,7 +41,7 @@ complete -f -c arc -n '__fish_arc_needs_command' -l conduit-token -d 'Specify th
complete -f -c arc -n '__fish_arc_needs_command' -l conduit-version -d 'Force a version'
complete -f -c arc -n '__fish_arc_needs_command' -l conduit-timeout -d 'Sets the timeout'
complete -f -c arc -n '__fish_arc_needs_command' -l config -d 'Sets a config'
complete -f -c arc -n '__fish_arc_needs_command' -l skip-arcconfig -d 'Skip the working copy configuration file'
complete -f -c arc -n '__fish_arc_needs_command' -l skip-arcconfig -d 'Skip the working copy configuration file'
complete -c arc -n '__fish_arc_needs_command' -l arcrc-file -d 'Use provided file instead of ~/.arcrc'
### shell-complete

View File

@@ -22,5 +22,5 @@ complete -c asp -n "not __fish_seen_subcommand_from $commands" -a untrack -d "Re
# This will run into the description race.
complete -c asp -n "__fish_seen_subcommand_from checkout {diff,short,}log export list-{arches,repos} show update" -a "(asp list-all | string replace -r '.*/' '')" -f
complete -c asp -n "__fish_seen_subcommand_from checkout {diff,short,}log export list-{arches,repos} show update untrack" -a "(asp list-local | string replace -r '.*/' '')" -f \
-d "Locally tracked package"
-d "Locally tracked package"

273
share/completions/aws.fish Normal file
View File

@@ -0,0 +1,273 @@
# These are very much incomplete completions for the aws-cli suite.
# In addition to a complete list of services, the `aws s3` completions are mostly complete
# (and are the primary reason this file exists). The automatically generated completions
# for `aws` via `fish_update_completions` are pretty useless due to non-standard formatting.
function __s3_is_maybe_bucket
commandline -ct | string match -qr -- '^(|s|s3|s3:?/?/?[^/]*)$'
end
function __s3_is_bucket
commandline -ct | string match -q -r -- '^s3:/?/?[^/]*$'
end
function __s3_is_remote_path
commandline -ct | string match -q -r -- "^s3://.+/.*"
end
function __s3_ls_buckets
aws s3 ls | string replace -rf '.* (\S+)$' 's3://$1/'
end
function __s3_ls_dir
set -l dir (commandline -ct | string replace -rf '(s3://.*/).*' '$1')
printf "$dir%s\n" (aws s3 ls $dir 2>/dev/null | string replace -fr '^(:?\S+ +\S+ +\S+ |^.*PRE )(.*)' '$2')
end
# Determines whether the first non-switch argument to `aws s3` was in $argv
# This accounts for things like `aws --debug s3 foo ... s3://...`
function __s3_cmd_in
set -l is_s3 0
set -l tokens (commandline -co)
for token in $tokens[2..-1]
# Ignore switches everywhere
if string match -qr -- "^--" $token
continue
end
# Check if `aws` command is `s3`
if test $is_s3 -eq 0
if string match -q -- "s3" $token
set is_s3 1
continue
else
return 1
end
end
# Check if `aws s3` sub-sub-command is in $argv
if contains $token $argv
return 0
else
return 1
end
end
return 1
end
# Determines whether the first non-switch argument to `aws` was in $argv
function __aws_cmd_in
set -l tokens (commandline -co)
for token in $tokens[2..-1]
if string match -qr "^--" -- $token
# Ignore switches everywhere
continue
else if contains $token $argv
return 0
else
return 1
end
end
return 1
end
# S3 completions
complete -c 'aws' -n "__fish_prev_arg_in s3" -xa "cp mv rm help sync ls mb mv presign rb website"
# When completing a remote path, complete the bucket name first, then based off
# the bucket name, we can complete the path itself.
# Commands that take only remote parameters (cannot operate on local files).
complete -c 'aws' -n "__s3_is_maybe_bucket && __s3_cmd_in ls rb rm" -xa "(__s3_ls_buckets)"
# Commands that can operate on local or remote files. To prevent the shell
# locking up unnecessarily, only complete if no argument was specified or if the
# argument being specified could be an S3 path.
complete -c 'aws' -n "__s3_is_maybe_bucket && __s3_cmd_in mv cp presign mb sync" -a "(__s3_ls_buckets)"
# Complete the paths themselves
complete -c 'aws' -n "__s3_is_remote_path" -xa "(__s3_ls_dir)"
complete -c 'aws' -n "__s3_is_bucket" -xa "(__s3_ls_buckets)"
# This list is extracted from the output of `aws help`, which can't be ingested directly,
# as it emits considerable ANSI output and other terminal control characters.
set -l aws_services \
acm \
acm-pca \
alexaforbusiness \
amplify \
apigateway \
apigatewaymanagementapi \
apigatewayv2 \
application-autoscaling \
appmesh \
appstream \
appsync \
athena \
autoscaling \
autoscaling-plans \
backup \
batch \
budgets \
ce \
chime \
cloud9 \
clouddirectory \
cloudformation \
cloudfront \
cloudhsm \
cloudhsmv2 \
cloudsearch \
cloudsearchdomain \
cloudtrail \
cloudwatch \
codebuild \
codecommit \
codepipeline \
codestar \
cognito-identity \
cognito-idp \
cognito-sync \
comprehend \
comprehendmedical \
configservice \
configure \
connect \
cur \
datapipeline \
datasync \
dax \
deploy \
devicefarm \
directconnect \
discovery \
dlm \
dms \
docdb \
ds \
dynamodb \
dynamodbstreams \
ec2 \
ecr \
ecs \
efs \
eks \
elasticache \
elasticbeanstalk \
elastictranscoder \
elb \
elbv2 \
emr \
es \
events \
firehose \
fms \
fsx \
gamelift \
glacier \
globalaccelerator \
glue \
greengrass \
guardduty \
health \
help \
history \
iam \
importexport \
inspector \
iot \
iot-data \
iot-jobs-data \
iot1click-devices \
iot1click-projects \
iotanalytics \
kafka \
kinesis \
kinesis-video-archived-media \
kinesis-video-media \
kinesisanalytics \
kinesisanalyticsv2 \
kinesisvideo \
kms \
lambda \
lex-models \
lex-runtime \
license-manager \
lightsail \
logs \
machinelearning \
macie \
marketplace-entitlement \
marketplacecommerceanalytics \
mediaconnect \
mediaconvert \
medialive \
mediapackage \
mediastore \
mediastore-data \
mediatailor \
meteringmarketplace \
mgh \
mobile \
mq \
mturk \
neptune \
opsworks \
opsworks-cm \
organizations \
pi \
pinpoint \
pinpoint-email \
pinpoint-sms-voice \
polly \
pricing \
quicksight \
ram \
rds \
rds-data \
redshift \
rekognition \
resource-groups \
resourcegroupstaggingapi \
robomaker \
route53 \
route53domains \
route53resolver \
s3 \
s3api \
s3control \
sagemaker \
sagemaker-runtime \
sdb \
secretsmanager \
securityhub \
serverlessrepo \
servicecatalog \
servicediscovery \
ses \
shield \
signer \
sms \
snowball \
sns \
sqs \
ssm \
stepfunctions \
storagegateway \
sts \
support \
swf \
textract \
transcribe \
transfer \
translate \
waf \
waf-regional \
workdocs \
worklink \
workmail \
workspaces \
xray
complete -c aws -n '__fish_is_first_token' -xa "$aws_services"

View File

@@ -0,0 +1,88 @@
# Generated by hand against bat 0.12.0.
# bat is at <https://github.com/sharkdp/bat>.
# TODO: Have --map-syntax properly suggest from- and to-languages.
# NOTE: The completion for --style wont help the user write anything in the comma-separated-list form.
function __bat_complete_languages_and_extensions -d 'All languages and their filenames/extensions, one per line'
command bat --list-languages | string split : | string split ,
end
function __bat_complete_language_extensions -d 'All language extensions/names, one per line'
command bat --list-languages | cut -d : -f 2 | string split ,
end
function __bat_complete_themes -d 'All themes, one per line'
command bat --list-themes
end
set -l style_opts '
auto\tdefault
full\t
plain\t
changes\t
header\t
grid\t
numbers\t
'
set -l color_opts '
auto\tdefault
never\t
always\t
'
set -l italic_text_opts '
always\t
never\tdefault
'
set -l decorations_opts "$color_opts"
set -l paging_opts "$color_opts"
set -l wrap_opts '
auto\tdefault
never\t
character\t
'
# While --tabs theoretically takes any number, most people should be OK with these. Specifying a list lets me explain what 0 does.
set -l tabs_opts '
0\tpasses tabs through directly
1\t
2\t
4\t
8\t
'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -s l -l language -a '(__bat_complete_languages_and_extensions)' -d 'Set language for syntax highlighting'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -f -s L -l list-language -d 'List supported languages for syntax highlighting'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -s m -l map-syntax -d 'Map file name/extension to existing syntax'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l theme -a '(__bat_complete_themes)' -d 'Set theme for syntax highlighting'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -f -l list-themes -d 'List syntax-highlighting themes'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l style -a "$style_opts" -d 'Choose what to add to the file contents'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -s p -l plain -d 'Show no decorations; -pp disables paging too'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -s n -l number -d 'Only show line numbers and no other decorations'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -s A -l show-all -d 'Show non-printable characters'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -s r -l line-range -d 'Only print lines from [M]:[N] (either optional)'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -s H -l highlight-line -d 'Highlight the given line'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l color -ka "$color_opts" -d 'Specify when to use colors'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l italic-text -ka "$italic_text_opts" -d 'Specify when to use ANSI italic-text sequences'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l decorations -ka "$decorations_opts" -d 'Specify when to use --style decorations'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l paging -ka "$paging_opts" -d 'Specify when to use a pager'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l pager -d 'Specify what pager to use'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l wrap -ka "$wrap_opts" -d 'Specify text-wrapping mode'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l tabs -a "$tabs_opts" -d 'Sets tab width to N spaces'
# Dont suggest the always-ignored added-only-for-POSIX-compliance -u/--unbuffered. Output is always unbuffered.
complete -c bat -n 'not __fish_seen_subcommand_from cache' -x -l terminal-width -d 'Explicitly set terminal width, optionally prefixed with +/-'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -s h -l help -d 'Print help'
complete -c bat -n 'not __fish_seen_subcommand_from cache' -s V -l version -d 'Show version information'
# cache things
complete -c bat -n '__fish_use_subcommand' -a cache -d 'Manage syntax-definition and theme cache'
complete -c bat -n '__fish_seen_subcommand_from cache' -f -s b -l build -d 'Initialize/update cache from the source directory'
complete -c bat -n '__fish_seen_subcommand_from cache' -f -s c -l clear -d 'Remove cached definitions and themes'
complete -c bat -n '__fish_seen_subcommand_from cache' -r -l source -d 'Specify directory to load syntaxes/themes from'
complete -c bat -n '__fish_seen_subcommand_from cache' -r -l target -d 'Specify directory to store cached syntaxes/themes'
complete -c bat -n '__fish_seen_subcommand_from cache' -f -l blank -d 'Create completely new syntax/theme sets instead of appending to the defaults'
complete -c bat -n '__fish_seen_subcommand_from cache' -f -s h -l help -d 'Print help about cache management'

View File

@@ -7,9 +7,9 @@
complete -c bd -A -f
complete -c bd -s c -d "Classic mode: goes back to the first directory named as the string"
complete -c bd -s s -d "Seems mode: goes back to the first directory containing string"
complete -c bd -s i -d "Case insensitive move (implies seems mode)"
complete -c bd -s c -d "Classic mode: goes back to the first directory named as the string"
complete -c bd -s s -d "Seems mode: goes back to the first directory containing string"
complete -c bd -s i -d "Case insensitive move (implies seems mode)"
complete -c bd -s h -x -d "Display help and exit"
function __fish_bd_complete_dirs

View File

@@ -0,0 +1,2 @@
complete -c begin -s h -l help -d 'Display help and exit'
complete -c begin -xa '(__fish_complete_subcommand --allow-functions-and-builtins)'

View File

@@ -43,14 +43,16 @@ function __fish_bind_test2
end
complete -c bind -f
complete -c bind -s a -l all -d 'Show unavailable key bindings/erase all bindings'
complete -c bind -s e -l erase -d 'Erase mode'
complete -c bind -s f -l function-names -d 'Print names of available functions'
complete -c bind -s h -l help -d "Display help and exit"
complete -c bind -s k -l key -d 'Specify key name, not sequence'
complete -c bind -s K -l key-names -d 'Print names of available keys'
complete -c bind -s m -l mode -d 'Add to named bind mode'
complete -c bind -s M -l new-mode -d 'Change current bind mode to named mode'
complete -c bind -s M -l mode -d 'Specify the bind mode that the bind is used in' -xa '(bind -L)'
complete -c bind -s m -l sets-mode -d 'Change current mode after bind is executed' -xa '(bind -L)'
complete -c bind -s L -l list-modes -d 'Display a list of defined bind modes'
complete -c bind -n __fish_bind_test1 -a '(bind --key-names)' -d 'Key name' -x
complete -c bind -n __fish_bind_test2 -a '(bind --function-names)' -d 'Function name' -x

View File

@@ -1,92 +1,92 @@
set -l subcommands add-blob alias-env attach-disk blobs cancel-task clean-up \
cloud-check cloud-config config configs cpi-config create-env create-release \
delete-config delete-deployment delete-disk delete-env delete-release \
delete-snapshot delete-snapshots delete-stemcell delete-vm deploy deployment \
deployments diff-config disks environment environments errands event events \
export-release finalize-release generate-job generate-package help ignore \
init-release inspect-release instances interpolate locks log-in log-out logs \
manifest orphan-disk recreate releases remove-blob repack-stemcell \
reset-release restart run-errand runtime-config scp snapshots ssh start \
stemcells stop sync-blobs take-snapshot task tasks unignore \
update-cloud-config update-config update-cpi-config update-resurrection \
update-runtime-config upload-blobs upload-release upload-stemcell variables \
vendor-package vms
cloud-check cloud-config config configs cpi-config create-env create-release \
delete-config delete-deployment delete-disk delete-env delete-release \
delete-snapshot delete-snapshots delete-stemcell delete-vm deploy deployment \
deployments diff-config disks environment environments errands event events \
export-release finalize-release generate-job generate-package help ignore \
init-release inspect-release instances interpolate locks log-in log-out logs \
manifest orphan-disk recreate releases remove-blob repack-stemcell \
reset-release restart run-errand runtime-config scp snapshots ssh start \
stemcells stop sync-blobs take-snapshot task tasks unignore \
update-cloud-config update-config update-cpi-config update-resurrection \
update-runtime-config upload-blobs upload-release upload-stemcell variables \
vendor-package vms
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'add-blob' --description "Add blob"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'alias-env' --description "Alias environment to save URL and CA certificate"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'attach-disk' --description "Attaches disk to an instance"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'blobs' --description "List blobs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'cancel-task' --description "Cancel task at its next checkpoint"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'clean-up' --description "Clean up releases, stemcells, disks, etc."
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'cloud-check' --description "Cloud consistency check and interactive repair"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'cloud-config' --description "Show current cloud config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'config' --description "Show current config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'configs' --description "List configs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'cpi-config' --description "Show current CPI config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'create-env' --description "Create or update BOSH environment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'create-release' --description "Create release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-config' --description "Delete config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-deployment' --description "Delete deployment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-disk' --description "Delete disk"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-env' --description "Delete BOSH environment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-release' --description "Delete release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-snapshot' --description "Delete snapshot"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-snapshots' --description "Delete all snapshots in a deployment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-stemcell' --description "Delete stemcell"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-vm' --description "Delete VM"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'deploy' --description "Update deployment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'deployment' --description "Show deployment information"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'deployments' --description "List deployments"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'diff-config' --description "Diff two configs by ID"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'disks' --description "List disks"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'environment' --description "Show environment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'environments' --description "List environments"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'errands' --description "List errands"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'event' --description "Show event details"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'events' --description "List events"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'export-release' --description "Export the compiled release to a tarball"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'finalize-release' --description "Create final release from dev release tarball"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'generate-job' --description "Generate job"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'generate-package' --description "Generate package"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'help' --description "Show this help message"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'ignore' --description "Ignore an instance"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'init-release' --description "Initialize release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'inspect-release' --description "List release contents such as jobs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'instances' --description "List all instances in a deployment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'interpolate' --description "Interpolates variables into a manifest"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'locks' --description "List current locks"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'log-in' --description "Log in"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'log-out' --description "Log out"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'logs' --description "Fetch logs from instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'manifest' --description "Show deployment manifest"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'orphan-disk' --description "Orphan disk"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'recreate' --description "Recreate instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'releases' --description "List releases"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'remove-blob' --description "Remove blob"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'repack-stemcell' --description "Repack stemcell"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'reset-release' --description "Reset release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'restart' --description "Restart instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'run-errand' --description "Run errand"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'runtime-config' --description "Show current runtime config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'scp' --description "SCP to/from instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'snapshots' --description "List snapshots"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'ssh' --description "SSH into instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'start' --description "Start instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'stemcells' --description "List stemcells"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'stop' --description "Stop instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'sync-blobs' --description "Sync blobs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'take-snapshot' --description "Take snapshot"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'task' --description "Show task status and start tracking its output"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'tasks' --description "List running or recent tasks"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'unignore' --description "Unignore an instance"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-cloud-config' --description "Update current cloud config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-config' --description "Update config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-cpi-config' --description "Update current CPI config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-resurrection' --description "Enable/disable resurrection"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-runtime-config' --description "Update current runtime config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'upload-blobs' --description "Upload blobs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'upload-release' --description "Upload release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'upload-stemcell' --description "Upload stemcell"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'variables' --description "List variables"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'vendor-package' --description "Vendor package"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'vms' --description "List all VMs in all deployments"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'add-blob' --description "Add blob"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'alias-env' --description "Alias environment to save URL and CA certificate"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'attach-disk' --description "Attaches disk to an instance"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'blobs' --description "List blobs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'cancel-task' --description "Cancel task at its next checkpoint"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'clean-up' --description "Clean up releases, stemcells, disks, etc."
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'cloud-check' --description "Cloud consistency check and interactive repair"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'cloud-config' --description "Show current cloud config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'config' --description "Show current config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'configs' --description "List configs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'cpi-config' --description "Show current CPI config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'create-env' --description "Create or update BOSH environment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'create-release' --description "Create release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-config' --description "Delete config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-deployment' --description "Delete deployment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-disk' --description "Delete disk"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-env' --description "Delete BOSH environment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-release' --description "Delete release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-snapshot' --description "Delete snapshot"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-snapshots' --description "Delete all snapshots in a deployment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-stemcell' --description "Delete stemcell"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'delete-vm' --description "Delete VM"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'deploy' --description "Update deployment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'deployment' --description "Show deployment information"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'deployments' --description "List deployments"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'diff-config' --description "Diff two configs by ID"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'disks' --description "List disks"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'environment' --description "Show environment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'environments' --description "List environments"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'errands' --description "List errands"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'event' --description "Show event details"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'events' --description "List events"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'export-release' --description "Export the compiled release to a tarball"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'finalize-release' --description "Create final release from dev release tarball"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'generate-job' --description "Generate job"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'generate-package' --description "Generate package"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'help' --description "Show this help message"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'ignore' --description "Ignore an instance"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'init-release' --description "Initialize release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'inspect-release' --description "List release contents such as jobs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'instances' --description "List all instances in a deployment"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'interpolate' --description "Interpolates variables into a manifest"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'locks' --description "List current locks"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'log-in' --description "Log in"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'log-out' --description "Log out"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'logs' --description "Fetch logs from instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'manifest' --description "Show deployment manifest"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'orphan-disk' --description "Orphan disk"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'recreate' --description "Recreate instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'releases' --description "List releases"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'remove-blob' --description "Remove blob"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'repack-stemcell' --description "Repack stemcell"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'reset-release' --description "Reset release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'restart' --description "Restart instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'run-errand' --description "Run errand"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'runtime-config' --description "Show current runtime config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'scp' --description "SCP to/from instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'snapshots' --description "List snapshots"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'ssh' --description "SSH into instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'start' --description "Start instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'stemcells' --description "List stemcells"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'stop' --description "Stop instance(s)"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'sync-blobs' --description "Sync blobs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'take-snapshot' --description "Take snapshot"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'task' --description "Show task status and start tracking its output"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'tasks' --description "List running or recent tasks"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'unignore' --description "Unignore an instance"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-cloud-config' --description "Update current cloud config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-config' --description "Update config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-cpi-config' --description "Update current CPI config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-resurrection' --description "Enable/disable resurrection"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'update-runtime-config' --description "Update current runtime config"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'upload-blobs' --description "Upload blobs"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'upload-release' --description "Upload release"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'upload-stemcell' --description "Upload stemcell"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'variables' --description "List variables"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'vendor-package' --description "Vendor package"
complete -f -n "__fish_use_subcommand $subcommands" -c bosh -a 'vms' --description "List all VMs in all deployments"

View File

@@ -1,5 +1,5 @@
function __bower_cmds
echo -en "cache\tManage bower cache
echo -en "cache\tManage bower cache
help\tDisplay help information about Bower
home\tOpens a package homepage into your favorite browser
info\tInfo of a particular package
@@ -20,7 +20,7 @@ version\tBump a package version
end
function __bower_args
echo -en "-f\tMakes various commands more forceful
echo -en "-f\tMakes various commands more forceful
--force\tMakes various commands more forceful
-j\tOutput consumable JSON
--json\tOutput consumable JSON
@@ -41,20 +41,27 @@ function __bower_args
end
function __bower_matching_pkgs
bower search (commandline -ct) | string match -r "\S+[^\s]" | string match -v "Search"
bower search (commandline -ct) | string match -r "\S+[^\s]" | string match -v "Search"
end
# Output of `bower list` is a) slow, b) convoluted. Use `jq` instead.
# Output of `bower list` is a) slow, b) convoluted. Use `python` or `jq` instead.
function __bower_list_installed
if not type -q jq
return 1
end
if not test -e bower.json
return 1
end
if not test -e bower.json
return 1
end
if set -l python (__fish_anypython)
# Warning: That weird indentation is necessary, because python.
$python -c 'import json, sys; data = json.load(sys.stdin);
for k,v in data["dependencies"].items(): print(k + "\t" + v[:18])' bower.json 2>/dev/null
return
end
jq -r '.dependencies | to_entries[] | .key' bower.json
if not type -q jq
return 1
end
jq -r '.dependencies | to_entries[] | .key' bower.json
end
complete -c bower -n "__fish_is_first_token" -x -a '(__bower_cmds)'

View File

@@ -1,507 +1,3 @@
function __fish_brew_get_cmd
for c in (commandline -opc)
if not string match -q -- '-*' $c
echo $c
end
end
end
function __fish_brew_needs_command
set cmd (__fish_brew_get_cmd)
if not set -q cmd[2]
return 0
end
return 1
end
function __fish_brew_using_command
set index 2
if set -q argv[2]
set index $argv[2]
end
set cmd (__fish_brew_get_cmd)
if set -q cmd[$index]
if [ $argv[1] = $cmd[$index] ]
return 0
end
end
return 1
end
function __fish_brew_formulae
# list all local formula, do not use `brew search some_text` against searching online
# TODO fix the problem with `tap-pin`, tap-pin will modify the priority
# If you pin your custom tap for VIM, you should
# `brew install homebrew/core/vim` to install VIM from `core` repo
# `brew install vim` to install VIM from more prior repo
# but `brew search` won't change display for custom VIM and core VIM
# 'vim' for core VIM
# 'custUser/custRepo/vim' for more prior VIM
# more info: https://github.com/Homebrew/brew/blob/master/share/doc/homebrew/brew-tap.md#formula-duplicate-names
brew search
end
function __fish_brew_installed_formulas
brew list
end
function __fish_brew_leaves
brew leaves
end
function __fish_brew_outdated_formulas
brew outdated
end
function __fish_brew_pinned_formulas
brew list --pinned
end
function __fish_brew_taps
brew tap
end
###########################
# subcommand initializing #
###########################
########
# cask #
########
function __fish_brew_is_subcommand_cask
if __fish_brew_using_command cask
for action in $argv
if __fish_brew_using_command $action 3
return 0
end
end
end
return 1
end
function __fish_brew_needs_cask_action
if __fish_brew_using_command cask
set cmd (__fish_brew_get_cmd)
if not set -q cmd[3]
return 0
end
end
return 1
end
function __fish_brew_casks
brew search --casks
end
function __fish_brew_casks_installed
brew cask list
end
############
# services #
############
function __fish_brew_is_subcommand_services
if __fish_brew_using_command services
for action in $argv
if __fish_brew_using_command $action 3
return 0
end
end
end
return 1
end
function __fish_brew_needs_services_action
if __fish_brew_using_command services
set cmd (__fish_brew_get_cmd)
if not set -q cmd[3]
return 0
end
end
return 1
end
function __fish_brew_services
brew services list | awk '{if (NR>1) print $1}'
end
#####################
# brew commands #
# (brew cask below) #
#####################
# audit
complete -f -c brew -n '__fish_brew_needs_command' -a audit -d 'Check formula'
complete -f -c brew -n '__fish_brew_using_command audit' -a '(__fish_brew_formulae)'
# bottle
complete -f -c brew -n '__fish_brew_needs_command' -a bottle -d 'Create a binary package'
complete -f -c brew -n '__fish_brew_using_command bottle' -l 'homebrew-developer' -d 'Output developer debug information'
complete -f -c brew -n '__fish_brew_using_command bottle' -l 'no-revision' -d 'Do not bump the bottle revision number'
complete -f -c brew -n '__fish_brew_using_command bottle' -l 'rb' -d 'Write bottle block to a Ruby source file'
complete -f -c brew -n '__fish_brew_using_command bottle' -l 'write' -d 'Write bottle block to formula file'
complete -f -c brew -n '__fish_brew_using_command bottle' -l 'merge' -d 'Merge multiple bottle outputs'
# cask
complete -f -c brew -n '__fish_brew_needs_command' -a cask -d 'Manage installed casks'
# cat
complete -f -c brew -n '__fish_brew_needs_command' -a cat -d 'Display formula'
complete -f -c brew -n '__fish_brew_using_command cat' -a '(__fish_brew_formulae)'
# cleanup
complete -f -c brew -n '__fish_brew_needs_command' -a cleanup -d 'Remove old installed versions'
complete -f -c brew -n '__fish_brew_using_command cleanup' -l force -d 'Remove out-of-date keg-only brews as well'
complete -f -c brew -n '__fish_brew_using_command cleanup' -l dry-run -d 'Show what files would be removed'
complete -f -c brew -n '__fish_brew_using_command cleanup' -s n -d 'Show what files would be removed'
complete -f -c brew -n '__fish_brew_using_command cleanup' -s s -d 'Scrub the cache'
complete -f -c brew -n '__fish_brew_using_command cleanup' -a '(__fish_brew_installed_formulas)'
# create
complete -f -c brew -n '__fish_brew_needs_command' -a create -d 'Create new formula from URL'
complete -f -c brew -n '__fish_brew_using_command create' -l cmake -d 'Use template for CMake-style build'
complete -f -c brew -n '__fish_brew_using_command create' -l autotools -d 'Use template for Autotools-style build'
complete -f -c brew -n '__fish_brew_using_command create' -l no-fetch -d 'Don\'t download URL'
complete -f -c brew -n '__fish_brew_using_command create' -l set-name -d 'Override name autodetection'
complete -f -c brew -n '__fish_brew_using_command create' -l set-version -d 'Override version autodetection'
# desc
complete -f -c brew -n '__fish_brew_needs_command' -a desc -d "Summarize specified formulae in one line"
complete -f -c brew -n '__fish_brew_using_command desc' -l search -d 'Search names and descriptions'
complete -f -c brew -n '__fish_brew_using_command desc' -l name -d 'Search only names'
complete -f -c brew -n '__fish_brew_using_command desc' -l description -d 'Search only descriptions'
complete -f -c brew -n '__fish_brew_using_command desc' -a '(__fish_brew_formulae)'
# deps
complete -f -c brew -n '__fish_brew_needs_command' -a deps -d 'Show a formula\'s dependencies'
complete -f -c brew -n '__fish_brew_using_command deps' -l 1 -d 'Show only 1 level down'
complete -f -c brew -n '__fish_brew_using_command deps' -s n -d 'Show in topological order'
complete -f -c brew -n '__fish_brew_using_command deps' -l tree -d 'Show dependencies as tree'
complete -f -c brew -n '__fish_brew_using_command deps' -l all -d 'Show dependencies for all formulae'
complete -f -c brew -n '__fish_brew_using_command deps' -l installed -d 'Show dependencies for installed formulae'
complete -f -c brew -n '__fish_brew_using_command deps' -a '(__fish_brew_formulae)'
# diy
complete -f -c brew -n '__fish_brew_needs_command' -a 'diy configure' -d 'Determine installation prefix for non-brew software'
complete -f -c brew -n '__fish_brew_using_command diy' -l set-name -d 'Set name of package'
complete -f -c brew -n '__fish_brew_using_command diy' -l set-version -d 'Set version of package'
complete -f -c brew -n '__fish_brew_needs_command' -a 'doctor' -d 'Check your system for problems'
# edit
complete -f -c brew -n '__fish_brew_needs_command' -a 'edit' -d 'Open brew/formula for editing'
complete -f -c brew -n '__fish_brew_using_command edit' -a '(__fish_brew_formulae)'
# fetch
complete -f -c brew -n '__fish_brew_needs_command' -a fetch -d 'Download source for formula'
complete -f -c brew -n '__fish_brew_using_command fetch' -l force -d 'Remove a previously cached version and re-fetch'
complete -f -c brew -n '__fish_brew_using_command fetch' -l HEAD -d 'Download the HEAD version from a VCS'
complete -f -c brew -n '__fish_brew_using_command fetch' -l deps -d 'Also download dependencies'
complete -f -c brew -n '__fish_brew_using_command fetch' -s v -d 'Make HEAD checkout verbose'
complete -f -c brew -n '__fish_brew_using_command fetch' -l build-from-source -d 'Fetch source package instead of bottle'
complete -f -c brew -n '__fish_brew_using_command fetch' -a '(__fish_brew_formulae)'
complete -f -c brew -n '__fish_brew_needs_command' -a 'help' -d 'Display help'
# home
complete -f -c brew -n '__fish_brew_needs_command' -a home -d 'Open brew/formula\'s homepage'
complete -c brew -n '__fish_brew_using_command home' -a '(__fish_brew_formulae)'
# info
complete -f -c brew -n '__fish_brew_needs_command' -a 'info abv' -d 'Display information about formula'
complete -f -c brew -n '__fish_brew_using_command info' -l all -d 'Display info for all formulae'
complete -f -c brew -n '__fish_brew_using_command info' -l github -d 'Open the GitHub History page for formula'
complete -c brew -n '__fish_brew_using_command info' -a '(__fish_brew_formulae)'
# install
complete -f -c brew -n '__fish_brew_needs_command' -a 'install' -d 'Install formula'
complete -f -c brew -n '__fish_brew_using_command install' -l force -d 'Force install'
complete -f -c brew -n '__fish_brew_using_command install' -l debug -d 'If install fails, open shell in temp directory'
complete -f -c brew -n '__fish_brew_using_command install' -l ignore-dependencies -d 'skip installing any dependencies of any kind'
complete -f -c brew -n '__fish_brew_using_command install' -l cc -a "clang gcc-4.0 gcc-4.2 gcc-4.3 gcc-4.4 gcc-4.5 gcc-4.6 gcc-4.7 gcc-4.8 gcc-4.9 llvm-gcc" -d 'Attempt to compile using the specified compiler'
complete -f -c brew -n '__fish_brew_using_command install' -l build-from-source -d 'Compile from source even if a bottle is provided'
complete -f -c brew -n '__fish_brew_using_command install' -l devel -d 'Install the development version of formula'
complete -f -c brew -n '__fish_brew_using_command install' -l HEAD -d 'Install the HEAD version from VCS'
complete -f -c brew -n '__fish_brew_using_command install' -l interactive -d 'Download and patch formula, then open a shell'
complete -f -c brew -n '__fish_brew_using_command install' -l env -a "std super" -d 'Force the specified build environment'
complete -f -c brew -n '__fish_brew_using_command install' -l build-bottle -d 'Optimize for a generic CPU architecture'
complete -f -c brew -n '__fish_brew_using_command install' -l bottle-arch -a 'core core2 penryn g3 g4 g4e g5' -d 'Optimize for the specified CPU architecture'
complete -c brew -n '__fish_brew_using_command install' -a '(__fish_brew_formulae)'
# leaves
complete -f -c brew -n '__fish_brew_needs_command' -a 'leaves' -d 'List installed top level formulae'
complete -f -c brew -n '__fish_brew_using_command leaves' -a '(__fish_brew_leaves)'
# link
complete -f -c brew -n '__fish_brew_needs_command' -a 'link ln' -d 'Symlink installed formula'
complete -f -c brew -n '__fish_brew_using_command link' -l overwrite -d 'Overwrite existing files'
complete -f -c brew -n '__fish_brew_using_command ln' -l overwrite -d 'Overwrite existing files'
complete -f -c brew -n '__fish_brew_using_command link' -l dry-run -d 'Show what files would be linked or overwritten'
complete -f -c brew -n '__fish_brew_using_command ln' -l dry-run -d 'Show what files would be linked or overwritten'
complete -f -c brew -n '__fish_brew_using_command link' -l force -d 'Allow keg-only formulae to be linked'
complete -f -c brew -n '__fish_brew_using_command ln' -l force -d 'Allow keg-only formulae to be linked'
complete -f -c brew -n '__fish_brew_using_command link' -a '(__fish_brew_installed_formulas)'
complete -f -c brew -n '__fish_brew_using_command ln' -a '(__fish_brew_installed_formulas)'
# linkapps
complete -f -c brew -n '__fish_brew_needs_command' -a linkapps -d 'Symlink .app bundles into /Applications'
complete -f -c brew -n '__fish_brew_using_command linkapps' -l local -d 'Link .app bundles into ~/Applications instead'
# list
complete -f -c brew -n '__fish_brew_needs_command' -a 'list ls' -d 'List all installed formula'
complete -f -c brew -n '__fish_brew_using_command list' -l unbrewed -d 'List all files in the Homebrew prefix not installed by brew'
complete -f -c brew -n '__fish_brew_using_command list' -l versions -d 'Show the version number'
complete -f -c brew -n '__fish_brew_using_command list' -l pinned -d 'Show the versions of pinned formulae'
complete -c brew -n '__fish_brew_using_command list' -a '(__fish_brew_formulae)'
# ls
complete -f -c brew -n '__fish_brew_using_command ls' -l unbrewed -d 'List all files in the Homebrew prefix not installed by brew'
complete -f -c brew -n '__fish_brew_using_command ls' -l versions -d 'Show the version number'
complete -f -c brew -n '__fish_brew_using_command ls' -l pinned -d 'Show the versions of pinned formulae'
complete -c brew -n '__fish_brew_using_command ls' -a '(__fish_brew_formulae)'
# log
complete -f -c brew -n '__fish_brew_needs_command' -a log -d 'Show log for formula'
complete -c brew -n '__fish_brew_using_command log' -a '(__fish_brew_formulae)' -d 'formula'
# missing
complete -f -c brew -n '__fish_brew_needs_command' -a missing -d 'Check formula for missing dependencies'
complete -c brew -n '__fish_brew_using_command missing' -a '(__fish_brew_formulae)' -d 'formula'
# options
complete -f -c brew -n '__fish_brew_needs_command' -a options -d 'Display install options for formula'
complete -f -c brew -n '__fish_brew_using_command options' -l compact -d 'Show all options as a space-delimited list'
complete -f -c brew -n '__fish_brew_using_command options' -l all -d 'Show options for all formulae'
complete -f -c brew -n '__fish_brew_using_command options' -l installed -d 'Show options for all installed formulae'
complete -c brew -n '__fish_brew_using_command options' -a '(__fish_brew_formulae)' -d 'formula'
# outdated
complete -f -c brew -n '__fish_brew_needs_command' -a outdated -d 'Show formula that have updated versions'
complete -f -c brew -n '__fish_brew_using_command outdated' -l quiet -d 'Display only names'
# pin
complete -f -c brew -n '__fish_brew_needs_command' -a pin -d 'Pin the specified formulae to their current versions'
complete -f -c brew -n '__fish_brew_using_command pin' -a '(__fish_brew_installed_formulas)' -d 'formula'
# prune
complete -f -c brew -n '__fish_brew_needs_command' -a prune -d 'Remove dead symlinks'
# search
complete -f -c brew -n '__fish_brew_needs_command' -a 'search -S' -d 'Search for formula by name'
complete -f -c brew -n '__fish_brew_using_command search' -l macports -d 'Search on MacPorts'
complete -f -c brew -n '__fish_brew_using_command search' -l fink -d 'Search on Fink'
complete -f -c brew -n '__fish_brew_using_command -S' -l macports -d 'Search on MacPorts'
complete -f -c brew -n '__fish_brew_using_command -S' -l fink -d 'Search on Fink'
# services
complete -f -c brew -n '__fish_brew_needs_command' -a services -d 'Manage Homebrew services'
complete -f -c brew -n '__fish_brew_needs_services_action' -a cleanup -d 'Get rid of stale services and unused plist'
complete -f -c brew -n '__fish_brew_needs_services_action' -a list -d 'List all services managed by Homebrew'
complete -f -c brew -n '__fish_brew_needs_services_action' -a restart -d 'Gracefully restart a service'
complete -f -c brew -n '__fish_brew_needs_services_action' -a start -d 'Start a service'
complete -f -c brew -n '__fish_brew_needs_services_action' -a stop -d 'Stop a service'
complete -f -c brew -n '__fish_brew_is_subcommand_services restart start stop' -a '(__fish_brew_services)' -d 'formula'
complete -f -c brew -n '__fish_brew_is_subcommand_services restart start stop' -l all -d 'All Services'
# sh
complete -f -c brew -n '__fish_brew_needs_command' -a sh -d 'Instantiate a Homebrew build enviornment'
complete -f -c brew -n '__fish_brew_using_command sh' -l env=std -d 'Use stdenv instead of superenv'
# tap
complete -f -c brew -n '__fish_brew_needs_command' -a tap -d 'Tap a new formula repository on GitHub'
complete -f -c brew -n '__fish_brew_using_command tap' -l repair -d 'Create and prune tap symlinks as appropriate'
# test
complete -f -c brew -n '__fish_brew_needs_command' -a test -d 'Run tests for formula'
complete -f -c brew -n '__fish_brew_using_command test' -a '(__fish_brew_installed_formulas)' -d 'formula'
# uninstall
complete -f -c brew -n '__fish_brew_needs_command' -a 'uninstall remove rm' -d 'Uninstall formula'
complete -f -c brew -n '__fish_brew_using_command uninstall' -a '(__fish_brew_installed_formulas)'
complete -f -c brew -n '__fish_brew_using_command remove' -a '(__fish_brew_installed_formulas)'
complete -f -c brew -n '__fish_brew_using_command rm' -a '(__fish_brew_installed_formulas)'
complete -f -c brew -n '__fish_brew_using_command uninstall' -l force -d 'Delete all installed versions'
complete -f -c brew -n '__fish_brew_using_command remove' -l force -d 'Delete all installed versions'
complete -f -c brew -n '__fish_brew_using_command rm' -l force -d 'Delete all installed versions'
# unlink
complete -f -c brew -n '__fish_brew_needs_command' -a unlink -d 'Unlink formula'
complete -f -c brew -n '__fish_brew_using_command unlink' -a '(__fish_brew_installed_formulas)'
# unlinkapps
complete -f -c brew -n '__fish_brew_needs_command' -a unlinkapps -d 'Remove links created by brew linkapps'
complete -f -c brew -n '__fish_brew_using_command unlinkapps' -l local -d 'Remove links from ~/Applications created by brew linkapps'
# unpack
complete -f -c brew -n '__fish_brew_needs_command' -a unpack -d 'Extract source code'
complete -c brew -n '__fish_brew_using_command unpack' -a '(__fish_brew_formulae)'
# unpin
complete -f -c brew -n '__fish_brew_needs_command' -a unpin -d 'Unpin specified formulae'
complete -f -c brew -n '__fish_brew_using_command unpin' -a '(__fish_brew_pinned_formulas)'
# untap
complete -f -c brew -n '__fish_brew_needs_command' -a untap -d 'Remove a tapped repository'
complete -f -c brew -n '__fish_brew_using_command untap' -a '(__fish_brew_taps)'
# update
complete -f -c brew -n '__fish_brew_needs_command' -a update -d 'Fetch newest version of Homebrew and formulas'
complete -f -c brew -n '__fish_brew_using_command update' -l rebase -d 'Use git pull --rebase'
# update-reset
complete -f -c brew -n '__fish_brew_needs_command' -a update-reset -d 'Reset all Homebrew taps to upstream state'
# upgrade
complete -f -c brew -n '__fish_brew_needs_command' -a upgrade -d 'Upgrade outdated brews'
complete -f -c brew -n '__fish_brew_using_command upgrade' -a '(__fish_brew_outdated_formulas)'
# uses
complete -f -c brew -n '__fish_brew_needs_command' -a uses -d 'Show formulas that depend on specified formula'
complete -f -c brew -n '__fish_brew_using_command uses' -l installed -d 'List only installed formulae'
complete -f -c brew -n '__fish_brew_using_command uses' -l recursive -d 'Resolve more than one level of dependencies'
complete -c brew -n '__fish_brew_using_command uses' -a '(__fish_brew_formulae)'
#################
# brew switches #
#################
complete -f -c brew -n '__fish_brew_needs_command' -a '-v --version' -d 'Print version number of brew'
complete -f -c brew -n '__fish_brew_needs_command' -l env -x -d 'Show Homebrew a summary of the build environment'
complete -f -c brew -n '__fish_brew_needs_command' -l repository -x -d 'Display where Homebrew\'s .git directory is located'
complete -f -c brew -n '__fish_brew_needs_command' -l config -x -d 'Show Homebrew and system configuration'
# --prefix
complete -f -c brew -n '__fish_brew_needs_command' -l prefix -d 'Display Homebrew\'s install path'
complete -f -c brew -n '__fish_brew_using_command --prefix' -a '(__fish_brew_formulae)' -d 'Display formula\'s install path'
# --cache
complete -f -c brew -n '__fish_brew_needs_command' -l cache -d 'Display Homebrew\'s download cache'
complete -f -c brew -n '__fish_brew_needs_command' -n '__fish_brew_using_command --cache' -a '(__fish_brew_formulae)' -d 'Display the file or directory used to cache formula'
# --cellar
complete -f -c brew -n '__fish_brew_needs_command' -l cellar -d 'Display Homebrew\'s Cellar path'
complete -f -c brew -n '__fish_brew_using_command --cellar' -a '(__fish_brew_formulae)' -d 'Display formula\'s install path in Cellar'
######################
# brew cask commands #
#####################
# audit
complete -f -c brew -n '__fish_brew_needs_cask_action' -a audit -d 'Audit casks, add token to audit specific cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask audit' -a '(__fish_brew_casks)'
# cat
complete -f -c brew -n '__fish_brew_needs_cask_action' -a cat -d 'Display cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask cat' -a '(__fish_brew_casks)'
# cleanup
complete -f -c brew -n '__fish_brew_needs_cask_action' -a cleanup -d 'Cleans up cached downloads and tracker symlinks'
complete -f -c brew -n '__fish_brew_is_subcommand_cask cleanup' -l outdated -d 'Only clean cached downloads older than 10 days'
# create
complete -f -c brew -n '__fish_brew_needs_cask_action' -a create -d 'Create a new cask'
# doctor/dr
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'doctor dr' -d 'Checks for configuration issues'
# edit
complete -f -c brew -n '__fish_brew_needs_cask_action' -a edit -d 'Edit cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask edit' -a '(__fish_brew_casks)'
# fetch
complete -f -c brew -n '__fish_brew_needs_cask_action' -a fetch -d 'Fetch cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask fetch' -l force -d 'Force a redownload of cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask fetch' -a '(__fish_brew_casks)'
# home
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'home homepage' -d 'Open cask/cask\'s homepage'
complete -f -c brew -n '__fish_brew_is_subcommand_cask home' -a '(__fish_brew_casks)'
# homepage
complete -f -c brew -n '__fish_brew_is_subcommand_cask homepage' -a '(__fish_brew_casks_installed)'
# info
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'info abv' -d 'Dislay info about cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask info' -a '(__fish_brew_casks)'
# adv
complete -f -c brew -n '__fish_brew_is_subcommand_cask abv' -a '(__fish_brew_casks)'
# install
complete -f -c brew -n '__fish_brew_needs_cask_action' -a install -d 'Install cask indentified by token'
complete -f -c brew -n '__fish_brew_is_subcommand_cask install' -l force -d 'Force install of cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask install' -l require-sha -d 'Require SHA, fails otherwise'
complete -f -c brew -n '__fish_brew_is_subcommand_cask install' -l skip-cask-deps -d 'Skip any cask dependencies'
complete -c brew -n '__fish_brew_is_subcommand_cask install' -a '(__fish_brew_casks)'
# list
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'list ls' -d 'List installed casks'
complete -f -c brew -n '__fish_brew_is_subcommand_cask list' -s 1 -d 'Format output as a single column'
complete -f -c brew -n '__fish_brew_is_subcommand_cask list' -l versions -d 'Show all installed versions'
complete -f -c brew -n '__fish_brew_is_subcommand_cask list' -a '(__fish_brew_casks_installed)' -d 'List staged files'
# ls
complete -f -c brew -n '__fish_brew_is_subcommand_cask ls' -s 1 -d 'Format output as a single column'
complete -f -c brew -n '__fish_brew_is_subcommand_cask ls' -l versions -d 'Show all installed versions'
complete -f -c brew -n '__fish_brew_is_subcommand_cask ls' -a '(__fish_brew_casks_installed)' -d 'List staged files'
# outdated
complete -f -c brew -n '__fish_brew_needs_cask_action' -a outdated -d 'List outdated casks'
complete -f -c brew -n '__fish_brew_is_subcommand_cask outdated' -l greedy -d 'Include casks having auto_updates true or version :latest'
complete -f -c brew -n '__fish_brew_is_subcommand_cask outdated' -l quiet -d 'Suppresses the display of versions'
complete -f -c brew -n '__fish_brew_is_subcommand_cask outdated' -l verbose -d 'Forces the display of the outdated and latest version'
complete -f -c brew -n '__fish_brew_is_subcommand_cask outdated' -a '(__fish_brew_casks_installed)'
# reinstall
complete -f -c brew -n '__fish_brew_needs_cask_action' -a reinstall -d 'Reinstall cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask reinstall' -a '(__fish_brew_casks_installed)'
# search
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'search -S' -d 'Search all known casks. RexEx by delimiting using /regex/'
# style
complete -f -c brew -n '__fish_brew_needs_cask_action' -a style -d 'Check all or the given casks for correct style using RuboCop'
complete -f -c brew -n '__fish_brew_is_subcommand_cask style' -l fix -d 'Auto-correct any style errors if possible'
complete -f -c brew -n '__fish_brew_is_subcommand_cask style' -a '(__fish_brew_casks)'
# uninstall
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'remove rm uninstall' -d 'Uninstall cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask uninstall' -l force -d 'Force the uninstall'
complete -f -c brew -n '__fish_brew_is_subcommand_cask uninstall' -a '(__fish_brew_casks_installed)'
# remove
complete -f -c brew -n '__fish_brew_is_subcommand_cask remove' -l force -d 'Force the uninstall'
complete -f -c brew -n '__fish_brew_is_subcommand_cask remove' -a '(__fish_brew_casks_installed)'
# rm
complete -f -c brew -n '__fish_brew_is_subcommand_cask rm' -l force -d 'Force the uninstall'
complete -f -c brew -n '__fish_brew_is_subcommand_cask rm' -a '(__fish_brew_casks_installed)'
# upgrade
complete -f -c brew -n '__fish_brew_needs_cask_action' -a upgrade -d 'Upgrade all or given cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask upgrade' -l force -d 'Force upgrade'
complete -f -c brew -n '__fish_brew_is_subcommand_cask upgrade' -l greedy -d 'Include casks having auto_updates true or version :latest'
complete -f -c brew -n '__fish_brew_is_subcommand_cask upgrade' -a '(__fish_brew_casks_installed)'
# zap
complete -f -c brew -n '__fish_brew_needs_cask_action' -a zap -d 'Unconditionally remove all files associated with the given Cask'
complete -f -c brew -n '__fish_brew_is_subcommand_cask zap' -a '(__fish_brew_casks_installed)'
######################
# brew cask switches #
######################
# version
complete -f -c brew -n '__fish_brew_needs_cask_action' -a --version -d 'Print version number of Caskroom'
# Completions for brew are maintained upstream.
# They should be installed with brew,
# and PRs should be directed to https://github.com/Homebrew/brew/blob/master/completions/fish/brew.fish.

View File

@@ -0,0 +1,428 @@
# Completions for btrfs-progs
# Todo:
# - (Done) Detailed options per command
# - Simplified duplicate options completion with `for`
# - Simplified descriptions
# Filter the completions per primary command
function __btrfs_commands
if not set -q argv[1]
return 1
end
set -l cmd (commandline -cp)
if string match -qr -- "btrfs\s+$argv[1]\s+\S*" $cmd
return 0
end
return 1
end
# Filter the completions per command group
function __btrfs_command_groups
if not set -q argv[1]
return 1
end
set -l cmd (commandline -cp)
if set -q argv[2]
if string match -qr -- "btrfs\s+$argv[1]\s+$argv[2]\s+\S*" $cmd
return 0
end
return 1
end
if string match -qr -- "btrfs\s+$argv[1]\s+\S*\$" $cmd
return 0
end
return 1
end
set -l check '__btrfs_commands check'
set -l restore '__btrfs_commands restore'
set -l send '__btrfs_commands send'
set -l receive '__btrfs_commands receive'
set -l help '__btrfs_commands help'
set -l subvolume '__btrfs_command_groups subvolume'
set -l filesystem '__btrfs_command_groups filesystem'
set -l balance '__btrfs_command_groups balance'
set -l device '__btrfs_command_groups device'
set -l scrub '__btrfs_command_groups scrub'
set -l rescue '__btrfs_command_groups rescue'
set -l inspect_internal '__btrfs_command_groups inspect-internal'
set -l property '__btrfs_command_groups property'
set -l quota '__btrfs_command_groups quota'
set -l qgroup '__btrfs_command_groups qgroup'
set -l replace '__btrfs_command_groups replace'
# Global command
complete -f -c btrfs -l help -d 'Display help information'
# Primary command
complete -f -c btrfs -n '__fish_is_first_arg' -a check -d 'Check structural integrity of a filesystem (unmounted).'
complete -f -c btrfs -n '__fish_is_first_arg' -a restore -d 'Try to restore files from a damaged filesystem (unmounted)'
complete -f -c btrfs -n '__fish_is_first_arg' -a send -d 'Send the subvolume(s) to stdout.'
complete -f -c btrfs -n '__fish_is_first_arg' -a receive -d 'Receive subvolumes from a stream'
complete -f -c btrfs -n '__fish_is_first_arg' -a help -d 'Display help information'
complete -f -c btrfs -n '__fish_is_first_arg' -a version -d 'Display btrfs-progs version'
# Primary command groups
complete -f -c btrfs -n '__fish_is_first_arg' -a subvolume -d 'manage subvolumes: create, delete, list, etc'
complete -f -c btrfs -n '__fish_is_first_arg' -a filesystem -d 'overall filesystem tasks and information'
complete -f -c btrfs -n '__fish_is_first_arg' -a balance -d 'balance data across devices, or change block groups using filters'
complete -f -c btrfs -n '__fish_is_first_arg' -a device -d 'manage and query devices in the filesystem'
complete -f -c btrfs -n '__fish_is_first_arg' -a scrub -d 'verify checksums of data and metadata'
complete -f -c btrfs -n '__fish_is_first_arg' -a rescue -d 'toolbox for specific rescue operations'
complete -f -c btrfs -n '__fish_is_first_arg' -a inspect-internal -d 'query various internal information'
complete -f -c btrfs -n '__fish_is_first_arg' -a property -d 'modify properties of filesystem objects'
complete -f -c btrfs -n '__fish_is_first_arg' -a quota -d 'manage filesystem quota settings'
complete -f -c btrfs -n '__fish_is_first_arg' -a qgroup -d 'manage quota groups'
complete -f -c btrfs -n '__fish_is_first_arg' -a replace -d 'replace a device in the filesystem'
# btrfs check
complete -f -c btrfs -n $check -s s -l super -d 'Use this SUPERBLOCK copy'
complete -f -c btrfs -n $check -s b -l backup -d 'Use the first valid BACKUP root copy'
complete -f -c btrfs -n $check -s r -l tree-root -d 'Use the given bytenr for the TREE root'
complete -f -c btrfs -n $check -l chunk-root -d 'Use the given bytenr for the CHUNK-TREE root'
complete -f -c btrfs -n $check -l readonly -d 'Run in read-only mode'
complete -f -c btrfs -n $check -l repair -d 'Try to repair the filesystem'
complete -f -c btrfs -n $check -l force -d 'Skip mount checks, repair is not possible'
complete -f -c btrfs -n $check -l mode -d 'Allows choice of memory/IO trade-offs' -ra '{original,lowmem}'
complete -f -c btrfs -n $check -l init-csum-tree -d 'Create a new CRC tree (repair only)'
complete -f -c btrfs -n $check -l init-extent-tree -d 'Create a new extent tree (repair only)'
complete -f -c btrfs -n $check -l clear-space-cache -d 'clear space cache (repair only)' -ra '{v1,v2}'
complete -f -c btrfs -n $check -l check-data-csum -d 'Verify checksums of data blocks'
complete -f -c btrfs -n $check -s Q -l qgroup-report -d 'Print a report on qgroup consistency'
complete -f -c btrfs -n $check -s E -l subvol-extents -d 'Print subvolume extents and sharing state'
complete -f -c btrfs -n $check -s p -l progress -d 'Indicate progress'
# btrfs restore
complete -f -c btrfs -n $restore -s s -l snapshots -d 'Get snapshots'
complete -f -c btrfs -n $restore -s x -l xattr -d 'Restore extended attributes'
complete -f -c btrfs -n $restore -s m -l metadata -d 'Restore owner, mode and times'
complete -f -c btrfs -n $restore -s S -l symlink -d 'Restore symbolic links'
complete -f -c btrfs -n $restore -s v -l verbose -d 'Verbose'
complete -f -c btrfs -n $restore -s i -l ignore-errors -d 'Ignore errors'
complete -f -c btrfs -n $restore -s o -l overwrite -d 'Overwrite'
complete -f -c btrfs -n $restore -s t -d 'Tree location'
complete -f -c btrfs -n $restore -s f -d 'Filesystem location'
complete -f -c btrfs -n $restore -s u -l super -d 'Super mirror'
complete -f -c btrfs -n $restore -s r -l root -d 'Root objectid'
complete -f -c btrfs -n $restore -s d -d 'Find dir'
complete -f -c btrfs -n $restore -s l -l list-roots -d 'List tree roots'
complete -f -c btrfs -n $restore -s D -l dry-run -d 'Only list files that would be recovered'
complete -f -c btrfs -n $restore -l path-regex -d 'Restore only filenames matching regex'
complete -f -c btrfs -n $restore -s c -d 'Ignore case (--path-regex only)'
# btrfs send
complete -f -c btrfs -n $send -s e -d ''
complete -f -c btrfs -n $send -s p -d 'Send an incremental stream from <parent> to <subvol>'
complete -f -c btrfs -n $send -s c -d 'Use this snapshot as a clone source for an incremental send'
complete -f -c btrfs -n $send -s f -d 'Output is normally written to stdout'
complete -f -c btrfs -n $send -l no-data -d 'send in NO_FILE_DATA mode'
complete -f -c btrfs -n $send -s v -l verbose -d 'Enable verbose output to stderr'
complete -f -c btrfs -n $send -s q -l quiet -d 'Suppress all messages, except errors'
# btrfs receive
complete -f -c btrfs -n $receive -s v -d 'Increase verbosity about performed actions'
complete -f -c btrfs -n $receive -s q -l quiet -d 'Suppress all messages, except errors'
complete -f -c btrfs -n $receive -s f -d 'Read the stream from FILE instead of stdin'
complete -f -c btrfs -n $receive -s e -d 'Terminate after receiving an <end cmd> marker in the stream'
complete -f -c btrfs -n $receive -s C -l chroot -d 'Confine the process to <mount> using chroot'
complete -f -c btrfs -n $receive -s E -l max-errors -d 'Terminate when NUMBER errors occur'
complete -f -c btrfs -n $receive -s m -d 'The root mount point of the destination filesystem'
complete -f -c btrfs -n $receive -l dump -d 'Dump stream metadata'
# btrfs help
complete -f -c btrfs -n $help -l full -d 'Display detailed help on every command'
complete -f -c btrfs -n $help -l box -d 'Show list of built-in tools (busybox style)'
# btrfs subvolume
complete -f -c btrfs -n $subvolume -a create -d 'Create a subvolume'
complete -f -c btrfs -n $subvolume -a delete -d 'Delete subvolume(s)'
complete -f -c btrfs -n $subvolume -a list -d 'List subvolumes and snapshots in the filesystem.'
complete -f -c btrfs -n $subvolume -a snapshot -d 'Create a snapshot of the subvolume'
complete -f -c btrfs -n $subvolume -a get-default -d 'Get the default subvolume of a filesystem'
complete -f -c btrfs -n $subvolume -a set-default -d 'Set the default subvolume of the filesystem mounted as default.'
complete -f -c btrfs -n $subvolume -a find-new -d 'List the recently modified files in a filesystem'
complete -f -c btrfs -n $subvolume -a show -d 'Show more information about the subvolume'
complete -f -c btrfs -n $subvolume -a sync -d 'Wait until given subvolume(s) are completely removed from the filesystem.'
# btrfs subvolume create
complete -f -c btrfs -n '__btrfs_command_groups subvolume create' -s i -d 'Add subvolume to a qgroup (can be given multiple times)'
# btrfs subvolume delete
complete -f -c btrfs -n '__btrfs_command_groups subvolume delete' -s c -l commit-after -d 'Wait for transaction commit at the end of the operation'
complete -f -c btrfs -n '__btrfs_command_groups subvolume delete' -s C -l commit-each -d 'Wait for transaction commit after deleting each subvolume'
complete -f -c btrfs -n '__btrfs_command_groups subvolume delete' -s v -l verbose -d 'Verbose output of operations'
# btrfs subvolume list
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s o -d 'Print only subvolumes below specified path'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s a -d 'Print all the subvolumes and absolute and relative path'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s p -d 'Print parent ID'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s c -d 'Print the ogeneration of the subvolume'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s g -d 'Print the generation of the subvolume'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s u -d 'Print the uuid of subvolumes (and snapshots)'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s q -d 'Print the parent uuid of the snapshots'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s R -d 'Print the uuid of the received snapshots'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s s -d 'List only snapshots'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s r -d 'List readonly subvolumes (including snapshots)'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s d -d 'List deleted subvolumes that are not yet cleaned'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s t -d 'Print the result as a table'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s G -d 'Filter the subvolumes by generation'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -s C -d 'Filter the subvolumes by ogeneration'
complete -f -c btrfs -n '__btrfs_command_groups subvolume list' -l sort -d 'List the subvolume in order' -a '{gen,ogen,rootid,path}'
# btrfs subvolume snapshot
complete -f -c btrfs -n '__btrfs_command_groups subvolume snapshot' -s r -d 'Create a readonly snapshot'
complete -f -c btrfs -n '__btrfs_command_groups subvolume snapshot' -s i -d 'Add snapshot to a qgroup (can be given multiple times)'
# btrfs subvolume show
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -s r -l rootid -d 'Show rootid of the subvolume'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -s u -l uuid -d 'Show uuid of the subvolume'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -s b -l raw -d 'Show raw numbers in bytes'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -s h -l human-readable -d 'Show human friendly numbers, base 1024'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -s H -d 'Show human friendly numbers, base 1000'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -l iec -d 'Use 1024 as a base (KiB, MiB, GiB, TiB)'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -l si -d 'Use 1000 as a base (kB, MB, GB, TB)'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -s k -l kbytes -d 'Show sizes in KiB, or kB with --si'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -s m -l mbytes -d 'Show sizes in MiB, or MB with --si'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -s g -l gbytes -d 'Show sizes in GiB, or GB with --si'
complete -f -c btrfs -n '__btrfs_command_groups subvolume show' -s t -l tbytes -d 'Show sizes in TiB, or TB with --si'
# btrfs subvolume sync
complete -f -c btrfs -n '__btrfs_command_groups subvolume sync' -s s -d 'Sleep NUMBER seconds between checks'
# btrfs filesystem
complete -f -c btrfs -n $filesystem -a df -d 'Show space usage information for a mount point'
complete -f -c btrfs -n $filesystem -a du -d 'Summarize disk usage of each file.'
complete -f -c btrfs -n $filesystem -a show -d 'Show the structure of a filesystem'
complete -f -c btrfs -n $filesystem -a sync -d 'Force a sync on a filesystem'
complete -f -c btrfs -n $filesystem -a defragment -d 'Defragment a file or a directory'
complete -f -c btrfs -n $filesystem -a resize -d 'Resize a filesystem'
complete -f -c btrfs -n $filesystem -a label -d 'Get or change the label of a filesystem'
complete -f -c btrfs -n $filesystem -a usage -d 'Show detailed information about internal filesystem usage.'
# btrfs filesystem df
complete -f -c btrfs -n '__btrfs_command_groups filesystem df' -s b -l raw -d 'Show raw numbers in bytes'
complete -f -c btrfs -n '__btrfs_command_groups filesystem df' -s h -l human-readable -d 'Show human friendly numbers, base 1024'
complete -f -c btrfs -n '__btrfs_command_groups filesystem df' -s H -d 'Show human friendly numbers, base 1000'
complete -f -c btrfs -n '__btrfs_command_groups filesystem df' -l iec -d 'Use 1024 as a base (KiB, MiB, GiB, TiB)'
complete -f -c btrfs -n '__btrfs_command_groups filesystem df' -l si -d 'Use 1000 as a base (kB, MB, GB, TB)'
complete -f -c btrfs -n '__btrfs_command_groups filesystem df' -s k -l kbytes -d 'Show sizes in KiB, or kB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem df' -s m -l mbytes -d 'Show sizes in MiB, or MB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem df' -s g -l gbytes -d 'Show sizes in GiB, or GB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem df' -s t -l tbytes -d 'Show sizes in TiB, or TB with --si'
# btrfs filesystem du
complete -f -c btrfs -n '__btrfs_command_groups filesystem du' -s s -l summarize -d 'Display only a total for each argument'
complete -f -c btrfs -n '__btrfs_command_groups filesystem du' -l raw -d 'Show raw numbers in bytes'
complete -f -c btrfs -n '__btrfs_command_groups filesystem du' -l human-readable -d 'Show human friendly numbers, base 1024'
complete -f -c btrfs -n '__btrfs_command_groups filesystem du' -l iec -d 'Use 1024 as a base (KiB, MiB, GiB, TiB)'
complete -f -c btrfs -n '__btrfs_command_groups filesystem du' -l si -d 'Use 1000 as a base (kB, MB, GB, TB)'
complete -f -c btrfs -n '__btrfs_command_groups filesystem du' -l kbytes -d 'Show sizes in KiB, or kB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem du' -l mbytes -d 'Show sizes in MiB, or MB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem du' -l gbytes -d 'Show sizes in GiB, or GB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem du' -l tbytes -d 'Show sizes in TiB, or TB with --si'
# btrfs filesystem show
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -s d -l all-devices -d 'Show only disks under /dev containing btrfs filesystem'
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -s m -l mounted -d 'Show only mounted btrfs'
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -l raw -d 'Show raw numbers in bytes'
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -l human-readable -d 'Show human friendly numbers, base 1024'
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -l iec -d 'Use 1024 as a base (KiB, MiB, GiB, TiB)'
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -l si -d 'Use 1000 as a base (kB, MB, GB, TB)'
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -l kbytes -d 'Show sizes in KiB, or kB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -l mbytes -d 'Show sizes in MiB, or MB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -l gbytes -d 'Show sizes in GiB, or GB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem show' -l tbytes -d 'Show sizes in TiB, or TB with --si'
# btrfs filesystem defragment
complete -f -c btrfs -n '__btrfs_command_groups filesystem defragment' -s v -d 'Be verbose'
complete -f -c btrfs -n '__btrfs_command_groups filesystem defragment' -s r -d 'Defragment files recursively'
complete -f -c btrfs -n '__btrfs_command_groups filesystem defragment' -s c -d 'Compress the file while defragmenting' -ra '{zlib,lzo,zstd}'
complete -f -c btrfs -n '__btrfs_command_groups filesystem defragment' -s f -d 'Flush data to disk immediately after defragmenting'
complete -f -c btrfs -n '__btrfs_command_groups filesystem defragment' -s s -d 'Defragment only from NUMBER byte onward'
complete -f -c btrfs -n '__btrfs_command_groups filesystem defragment' -s l -d 'Defragment only up to LEN bytes'
complete -f -c btrfs -n '__btrfs_command_groups filesystem defragment' -s t -d 'Target extent SIZE hint'
# btrfs filesystem usage
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -s b -l raw -d 'Show raw numbers in bytes'
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -s h -l human-readable -d 'Show human friendly numbers, base 1024'
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -s H -d 'Show human friendly numbers, base 1000'
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -l iec -d 'Use 1024 as a base (KiB, MiB, GiB, TiB)'
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -l si -d 'Use 1000 as a base (kB, MB, GB, TB)'
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -s k -l kbytes -d 'Show sizes in KiB, or kB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -s m -l mbytes -d 'Show sizes in MiB, or MB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -s g -l gbytes -d 'Show sizes in GiB, or GB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -s t -l tbytes -d 'Show sizes in TiB, or TB with --si'
complete -f -c btrfs -n '__btrfs_command_groups filesystem usage' -s T -d 'Show data in tabular format'
# btrfs balance
complete -f -c btrfs -n $balance -a start -d 'Balance chunks across the devices'
complete -f -c btrfs -n $balance -a pause -d 'Pause running balance'
complete -f -c btrfs -n $balance -a cancel -d 'Cancel running or paused balance'
complete -f -c btrfs -n $balance -a resume -d 'Resume interrupted balance'
complete -f -c btrfs -n $balance -a status -d 'Show status of running or paused balance'
# btrfs balance start
complete -f -c btrfs -n '__btrfs_command_groups balance start' -s d -d 'Act on data chunks with FILTERS'
complete -f -c btrfs -n '__btrfs_command_groups balance start' -s m -d 'Act on metadata chunks with FILTERS'
complete -f -c btrfs -n '__btrfs_command_groups balance start' -s s -d 'Act on system chunks with FILTERS (only under -f)'
complete -f -c btrfs -n '__btrfs_command_groups balance start' -s v -d 'Be verbose'
complete -f -c btrfs -n '__btrfs_command_groups balance start' -s f -d 'Force a reduction of metadata integrity'
complete -f -c btrfs -n '__btrfs_command_groups balance start' -l full-balance -d 'Do not print warning and do not delay start'
complete -f -c btrfs -n '__btrfs_command_groups balance start' -l background -l bg -d 'Run the balance as a background process'
# btrfs balance status
complete -f -c btrfs -n '__btrfs_command_groups balance status' -s v -d 'Be verbose'
# btrfs device
complete -f -c btrfs -n $device -a add -d 'Add one or more devices to a mounted filesystem.'
complete -f -c btrfs -n $device -a delete -d 'Remove a device from a filesystem'
complete -f -c btrfs -n $device -a remove -d 'Remove a device from a filesystem'
complete -f -c btrfs -n $device -a scan -d 'Scan or forget (unregister) devices of btrfs filesystems'
complete -f -c btrfs -n $device -a ready -d 'Check and wait until a group of devices of a filesystem is ready for mount'
complete -f -c btrfs -n $device -a stats -d 'Show device IO error statistics'
complete -f -c btrfs -n $device -a usage -d 'Show detailed information about internal allocations in devices.'
# btrfs device add
complete -f -c btrfs -n '__btrfs_command_groups device add' -s K -l nodiscard -d 'Do not perform TRIM on DEVICES'
complete -f -c btrfs -n '__btrfs_command_groups device add' -s f -l force -d 'Force overwrite existing filesystem on the disk'
# btrfs device scan
complete -f -c btrfs -n '__btrfs_command_groups device scan' -s d -l all-devices -d 'Enumerate and register all devices'
complete -f -c btrfs -n '__btrfs_command_groups device scan' -s u -l forget -d 'Unregister a given device or all stale devices'
# btrfs device stats
complete -f -c btrfs -n '__btrfs_command_groups device stats' -s c -l check -d 'Return non-zero if any stat counter is not zero'
complete -f -c btrfs -n '__btrfs_command_groups device stats' -s z -l reset -d 'Show current stats and reset values to zero'
# btrfs device usage
complete -f -c btrfs -n '__btrfs_command_groups device usage' -s b -l raw -d 'Show raw numbers in bytes'
complete -f -c btrfs -n '__btrfs_command_groups device usage' -s h -l human-readable -d 'Show human friendly numbers, base 1024'
complete -f -c btrfs -n '__btrfs_command_groups device usage' -s H -d 'Show human friendly numbers, base 1000'
complete -f -c btrfs -n '__btrfs_command_groups device usage' -l iec -d 'Use 1024 as a base (KiB, MiB, GiB, TiB)'
complete -f -c btrfs -n '__btrfs_command_groups device usage' -l si -d 'Use 1000 as a base (kB, MB, GB, TB)'
complete -f -c btrfs -n '__btrfs_command_groups device usage' -s k -l kbytes -d 'Show sizes in KiB, or kB with --si'
complete -f -c btrfs -n '__btrfs_command_groups device usage' -s m -l mbytes -d 'Show sizes in MiB, or MB with --si'
complete -f -c btrfs -n '__btrfs_command_groups device usage' -s g -l gbytes -d 'Show sizes in GiB, or GB with --si'
complete -f -c btrfs -n '__btrfs_command_groups device usage' -s t -l tbytes -d 'Show sizes in TiB, or TB with --si'
# btrfs scrub
complete -f -c btrfs -n $scrub -a start -d 'Start a new scrub. If a scrub is already running, the new one fails.'
complete -f -c btrfs -n $scrub -a cancel -d 'Cancel a running scrub'
complete -f -c btrfs -n $scrub -a resume -d 'Resume previously canceled or interrupted scrub'
complete -f -c btrfs -n $scrub -a status -d 'Show status of running or finished scrub'
# btrfs scrub start
complete -f -c btrfs -n '__btrfs_command_groups scrub start' -s B -d 'Do not background'
complete -f -c btrfs -n '__btrfs_command_groups scrub start' -s d -d 'Stats per device (-B only)'
complete -f -c btrfs -n '__btrfs_command_groups scrub start' -s q -d 'Be quiet'
complete -f -c btrfs -n '__btrfs_command_groups scrub start' -s r -d 'Read only mode'
complete -f -c btrfs -n '__btrfs_command_groups scrub start' -s R -d 'Raw print mode, print full data instead of summary'
complete -f -c btrfs -n '__btrfs_command_groups scrub start' -s c -d 'Set ioprio class (see ionice(1) manpage)'
complete -f -c btrfs -n '__btrfs_command_groups scrub start' -s n -d 'Set ioprio classdata (see ionice(1) manpage)'
complete -f -c btrfs -n '__btrfs_command_groups scrub start' -s f -d 'Force starting new scrub'
# btrfs scrub resume
complete -f -c btrfs -n '__btrfs_command_groups scrub resume' -s B -d 'Do not background'
complete -f -c btrfs -n '__btrfs_command_groups scrub resume' -s d -d 'Stats per device (-B only)'
complete -f -c btrfs -n '__btrfs_command_groups scrub resume' -s q -d 'Be quiet'
complete -f -c btrfs -n '__btrfs_command_groups scrub resume' -s r -d 'Read only mode'
complete -f -c btrfs -n '__btrfs_command_groups scrub resume' -s R -d 'Raw print mode, print full data instead of summary'
complete -f -c btrfs -n '__btrfs_command_groups scrub resume' -s c -d 'Set ioprio class (see ionice(1) manpage)'
complete -f -c btrfs -n '__btrfs_command_groups scrub resume' -s n -d 'Set ioprio classdata (see ionice(1) manpage)'
# btrfs scrub status
complete -f -c btrfs -n '__btrfs_command_groups scrub status' -s d -d 'Stats per DEVICE'
complete -f -c btrfs -n '__btrfs_command_groups scrub status' -s R -d 'Print raw stats'
# btrfs rescue
complete -f -c btrfs -n $rescue -a chunk-recover -d 'Recover the chunk tree by scanning the devices one by one.'
complete -f -c btrfs -n $rescue -a super-recover -d 'Recover bad superblocks from good copies'
complete -f -c btrfs -n $rescue -a zero-log -d 'Clear the tree log. Usable if it\'s corrupted and prevents mount.'
complete -f -c btrfs -n $rescue -a fix-device-size -d 'Re-align device and super block sizes. Usable if newer kernel refuse to mount it due to mismatch super size'
# btrfs rescue chunk-recover
complete -f -c btrfs -n '__btrfs_command_groups rescue chunk-recover' -s y -d 'Assume an answer of YES to all questions'
complete -f -c btrfs -n '__btrfs_command_groups rescue chunk-recover' -s v -d 'Verbose mode'
# btrfs rescue super-recover
complete -f -c btrfs -n '__btrfs_command_groups rescue super-recover' -s y -d 'Assume an answer of YES to all questions'
complete -f -c btrfs -n '__btrfs_command_groups rescue super-recover' -s v -d 'Verbose mode'
# btrfs inspect-internal
complete -f -c btrfs -n $inspect_internal -a inode-resolve -d 'Get file system paths for the given inode'
complete -f -c btrfs -n $inspect_internal -a logical-resolve -d 'Get file system paths for the given logical address'
complete -f -c btrfs -n $inspect_internal -a subvolid-resolve -d 'Get file system paths for the given subvolume ID.'
complete -f -c btrfs -n $inspect_internal -a rootid -d 'Get tree ID of the containing subvolume of path.'
complete -f -c btrfs -n $inspect_internal -a min-dev-size -d 'Get the minimum size the device can be shrunk to. The device id 1 is used by default.'
complete -f -c btrfs -n $inspect_internal -a dump-tree -d 'Dump tree structures from a given device'
complete -f -c btrfs -n $inspect_internal -a dump-super -d 'Dump superblock from a device in a textual form'
complete -f -c btrfs -n $inspect_internal -a tree-stats -d 'Print various stats for trees'
# btrfs inspect-internal inode-resolve
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal inode-resolve' -s v -d 'Verbose mode'
# btrfs inspect-internal logical-resolve
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal logical-resolve' -s P -d 'Skip the path resolving and print the inodes instead'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal logical-resolve' -s v -d 'Verbose mode'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal logical-resolve' -s s -d 'Set inode container\'s SIZE'
# btrfs inspect-internal min-dev-size
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal min-dev-size' -l id -d 'Specify the DEVICE-ID to query'
# btrfs inspect-internal dump-tree
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -s e -l extents -d 'Print only extent info: extent and device trees'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -s d -l device -d 'Print only device info: tree root, chunk and device trees'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -s r -l roots -d 'Print only short root node info'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -s R -l backups -d 'Print short root node info and backup root info'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -s u -l uuid -d 'Print only the uuid tree'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -s b -l block -d 'Print info from the specified BLOCK only'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -s t -l tree -d 'Print only tree with the given ID'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -l follow -d 'Use with -b, to show all children tree blocks of <block_num>'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -l noscan -d 'Do not scan the devices from the filesystem'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -l bfs -d 'Breadth-first traversal of the trees, print nodes, then leaves'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-tree' -l dfs -d 'Depth-first traversal of the trees'
# btrfs inspect-internal dump-super
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-super' -s f -l full -d 'Print full superblock information, backup roots etc.'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-super' -s a -l all -d 'Print information about all superblocks'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-super' -s s -l super -d 'Specify which SUPER-BLOCK copy to print out' -ra '{0,1,2}'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-super' -s F -l force -d 'Attempt to dump superblocks with bad magic'
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal dump-super' -l bytenr -d 'Specify alternate superblock OFFSET'
# btrfs inspect-internal tree-stats
complete -f -c btrfs -n '__btrfs_command_groups inspect-internal tree-stats' -s b -d 'Show raw numbers in bytes'
# btrfs property
complete -f -c btrfs -n $property -a get -d 'Get a property value of a btrfs object'
complete -f -c btrfs -n $property -a set -d 'Set a property on a btrfs object'
complete -f -c btrfs -n $property -a list -d 'Lists available properties with their descriptions for the given object'
# btrfs property get
complete -f -c btrfs -n '__btrfs_command_groups property get' -s t -d 'List properties for the given object type' -ra '{inode,subvol,filesystem,device}'
# btrfs property set
complete -f -c btrfs -n '__btrfs_command_groups property set' -s t -d 'List properties for the given object type' -ra '{inode,subvol,filesystem,device}'
# btrfs property list
complete -f -c btrfs -n '__btrfs_command_groups property list' -s t -d 'List properties for the given object type' -ra '{inode,subvol,filesystem,device}'
# btrfs quota
complete -f -c btrfs -n $quota -a enable -d 'Enable subvolume quota support for a filesystem.'
complete -f -c btrfs -n $quota -a disable -d 'Disable subvolume quota support for a filesystem.'
complete -f -c btrfs -n $quota -a rescan -d 'Trash all qgroup numbers and scan the metadata again with the current config.'
# btrfs quota rescan
complete -f -c btrfs -n '__btrfs_command_groups quota rescan' -s s -d 'Show status of a running rescan operation'
complete -f -c btrfs -n '__btrfs_command_groups quota rescan' -s w -d 'Wait for rescan operation to finish'
# btrfs qgroup
complete -f -c btrfs -n $qgroup -a assign -d 'Assign SRC as the child qgroup of DST'
complete -f -c btrfs -n $qgroup -a remove -d 'Remove a child qgroup SRC from DST.'
complete -f -c btrfs -n $qgroup -a create -d 'Create a subvolume quota group.'
complete -f -c btrfs -n $qgroup -a destroy -d 'Destroy a quota group.'
complete -f -c btrfs -n $qgroup -a show -d 'Show subvolume quota groups.'
complete -f -c btrfs -n $qgroup -a limit -d 'Set the limits a subvolume quota group.'
# btrfs qgroup assign
complete -f -c btrfs -n '__btrfs_command_groups qgroup assign' -l rescan -d 'Schedule qutoa rescan if needed'
complete -f -c btrfs -n '__btrfs_command_groups qgroup assign' -l no-rescan -d 'Don\'t schedule quota rescan'
# btrfs qgroup show
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -s p -d 'Print parent qgroup id'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -s c -d 'Print child qgroup id'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -s r -d 'Print limit of referenced size of qgroup'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -s e -d 'Print limit of exclusive size of qgroup'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -s F -d 'List all qgroups including ancestral qgroups'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -s f -d 'List all qgroups excluding ancestral qgroups'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l raw -d 'Show raw numbers in bytes'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l human-readable -d 'Show human friendly numbers, base 1024'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l iec -d 'Use 1024 as a base (KiB, MiB, GiB, TiB)'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l si -d 'Use 1000 as a base (kB, MB, GB, TB)'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l kbytes -d 'Show sizes in KiB, or kB with --si'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l mbytes -d 'Show sizes in MiB, or MB with --si'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l gbytes -d 'Show sizes in GiB, or GB with --si'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l tbytes -d 'Show sizes in TiB, or TB with --si'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l sort -d 'List qgroups sorted by specified items' -a '{qgroupid,rfer,excl,max_rfer,max_excl}'
complete -f -c btrfs -n '__btrfs_command_groups qgroup show' -l sync -d 'Force sync of the filesystem before getting info'
# btrfs qgroup limit
complete -f -c btrfs -n '__btrfs_command_groups qgroup limit' -s c -d 'Limit amount of data after compression'
complete -f -c btrfs -n '__btrfs_command_groups qgroup limit' -s e -d 'Limit space exclusively assigned to this qgroup'
# btrfs replace
complete -f -c btrfs -n $replace -a start -d 'Replace device of a btrfs filesystem.'
complete -f -c btrfs -n $replace -a status -d 'Print status and progress information of a running device replace'
complete -f -c btrfs -n $replace -a cancel -d 'Cancel a running device replace operation.'
# btrfs replace start
complete -f -c btrfs -n '__btrfs_command_groups replace start' -s r -d 'Only read from <srcdev> if no other zero-defect mirror exists'
complete -f -c btrfs -n '__btrfs_command_groups replace start' -s f -d 'Force using and overwriting <targetdev>'
complete -f -c btrfs -n '__btrfs_command_groups replace start' -s B -d 'Do not background'
# btrfs replace status
complete -f -c btrfs -n '__btrfs_command_groups replace status' -s 1 -d 'Only print once until the replace operation finishes'

View File

@@ -1,5 +1,4 @@
complete -c builtin -s h -l help -d 'Display help and exit'
complete -c builtin -s n -l names -d 'Print names of all existing builtins'
complete -c builtin -xa '(builtin -n)'
complete -c builtin -n '__fish_use_subcommand' -xa '__fish_complete_subcommand'
complete -c builtin -n 'test (count (commandline -opc)) -eq 1' -s h -l help -d 'Display help and exit'
complete -c builtin -n 'test (count (commandline -opc)) -eq 1' -s n -l names -d 'Print names of all existing builtins'
complete -c builtin -n 'test (count (commandline -opc)) -eq 1' -xa '(builtin -n)'
complete -c builtin -n 'test (count (commandline -opc)) -ge 2' -xa '(__fish_complete_subcommand)'

View File

@@ -1,25 +1,25 @@
# Completion for bundler
function __fish_bundle_no_command -d 'Test if bundle has been given no subcommand'
set cmd (commandline -opc)
if [ (count $cmd) -eq 1 ]
return 0
end
return 1
set cmd (commandline -opc)
if [ (count $cmd) -eq 1 ]
return 0
end
return 1
end
function __fish_bundle_using_command -d 'Test if bundle has been given a specific subcommand'
set cmd (commandline -opc)
if [ (count $cmd) -gt 1 ]
if [ $argv[1] = $cmd[2] ]
return 0
set cmd (commandline -opc)
if [ (count $cmd) -gt 1 ]
if [ $argv[1] = $cmd[2] ]
return 0
end
end
end
return 1
return 1
end
function __fish_bundled_gems
bundle list | sed '1 d' | sed -e 's/\*//g' -e 's/(.*)//g' -e 's/^ *//g' -e 's/ *$//g'
bundle list | sed '1 d' | sed -e 's/\*//g' -e 's/(.*)//g' -e 's/^ *//g' -e 's/ *$//g'
end
# Options for all commands
@@ -47,7 +47,7 @@ complete -f -n '__fish_bundle_using_command install' -c bundle -l binstubs -d 'C
complete -f -n '__fish_bundle_using_command install' -c bundle -l shebang -d 'Specify a ruby executable to use with generated binstubs'
complete -f -n '__fish_bundle_using_command install' -c bundle -l standalone -d 'Make a bundle that can work without RubyGems or Bundler at run-time'
complete -f -n '__fish_bundle_using_command install' -c bundle -s P -l trust-policy -d 'Apply a RubyGems security policy: {High,Medium,Low,No}Security'
complete -f -n '__fish_bundle_using_command install' -c bundle -s j -l jobs -d 'Install gems parallely by starting size number of parallel workers'
complete -f -n '__fish_bundle_using_command install' -c bundle -s j -l jobs -d 'Install gems parallelly by starting size number of parallel workers'
complete -f -n '__fish_bundle_using_command install' -c bundle -l no-cache -d 'Do not update the cache in vendor/cache with the newly bundled gems'
complete -f -n '__fish_bundle_using_command install' -c bundle -l quiet -d 'Do not print progress information to stdout'
complete -f -n '__fish_bundle_using_command install' -c bundle -l clean -d 'Run bundle clean automatically after install'
@@ -56,7 +56,7 @@ complete -f -n '__fish_bundle_using_command install' -c bundle -l no-prune -d 'D
complete -f -n '__fish_bundle_using_command install' -c bundle -l frozen -d 'Do not allow the Gemfile.lock to be updated after this install'
# Update
complete -f -n '__fish_bundle_no_command' -c bundle -a 'update' -d 'Update dependencies to their latest versions'
complete -f -n '__fish_bundle_no_command' -c bundle -a 'update' -d 'Update dependencies to their latest versions'
complete -f -n '__fish_bundle_using_command update' -c bundle -l source -d 'The name of a :git or :path source used in the Gemfile'
complete -f -n '__fish_bundle_using_command update' -c bundle -l local -d 'Do not attempt to fetch gems remotely and use the gem cache instead'
complete -f -n '__fish_bundle_using_command update' -c bundle -l quiet -d 'Only output warnings and errors'
@@ -75,7 +75,7 @@ complete -f -n '__fish_bundle_using_command binstubs' -c bundle -l force -d 'Ove
complete -f -n '__fish_bundle_using_command binstubs' -c bundle -a '(__fish_bundled_gems)'
# Exec
complete -f -n '__fish_bundle_no_command' -c bundle -a 'exec' -d 'Execute a script in the context of the current bundle'
complete -f -n '__fish_bundle_no_command' -c bundle -a exec -d 'Execute a script in the context of the current bundle'
complete -f -n '__fish_bundle_using_command exec' -c bundle -l keep-file-descriptors -d 'Exec runs a command, providing it access to the gems in the bundle'
# Help
@@ -83,7 +83,7 @@ complete -f -n '__fish_bundle_no_command' -c bundle -a 'help' -d 'Describe avail
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'install' -d 'Install the gems specified by the Gemfile or Gemfile.lock'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'update' -d 'Update dependencies to their latest versions'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'package' -d 'Package .gem files into the vendor/cache directory'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'exec' -d 'Execute a script in the context of the current bundle'
complete -f -n '__fish_bundle_using_command help' -c bundle -a exec -d 'Execute a script in the context of the current bundle'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'config' -d 'Specify and read configuration options for bundler'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'check' -d 'Check bundler requirements for your application'
complete -f -n '__fish_bundle_using_command help' -c bundle -a 'list' -d 'Show all of the gems in the current bundle'
@@ -145,7 +145,7 @@ complete -f -n '__fish_bundle_using_command init' -c bundle -l gemspec -d 'Use a
# Gem
complete -f -n '__fish_bundle_no_command' -c bundle -a 'gem' -d 'Create a simple gem, suitable for development with bundler'
complete -f -n '__fish_bundle_using_command gem' -c bundle -s b -l bin -d 'Generate a binary for your library'
complete -f -n '__fish_bundle_using_command gem' -c bundle -s b -l bin -d 'Generate a binary for your library'
complete -f -n '__fish_bundle_using_command gem' -c bundle -s t -l test -d 'Generate a test directory for your library (rspec or minitest)'
complete -f -n '__fish_bundle_using_command gem' -c bundle -s e -l edit -d 'Path to your editor'
complete -f -n '__fish_bundle_using_command gem' -c bundle -l ext -d 'Generate the boilerplate for C extension code'
@@ -155,7 +155,7 @@ complete -f -n '__fish_bundle_no_command' -c bundle -a 'platform' -d 'Displays p
complete -f -n '__fish_bundle_using_command platform' -c bundle -l ruby -d 'Only display Ruby directive information'
# Clean
complete -f -n '__fish_bundle_no_command' -c bundle -a 'clean' -d 'Cleans up unused gems in your bundler directory'
complete -f -n '__fish_bundle_no_command' -c bundle -a 'clean' -d 'Cleans up unused gems in your bundler directory'
complete -f -n '__fish_bundle_using_command clean' -c bundle -l dry-run -d 'Only print out changes, do not actually clean gems'
complete -f -n '__fish_bundle_using_command clean' -c bundle -l force -d 'Forces clean even if --path is not set'

View File

@@ -7,22 +7,22 @@
# A simple wrapper to call busctl with the correct mode and output
function __fish_busctl
# TODO: If there's a "--address" argument we need to pass that
# We also need to pass the _last_ of these (`busctl --user --system` operates on the system bus)
set -l mode
# TODO: If there's a "--address" argument we need to pass that
# We also need to pass the _last_ of these (`busctl --user --system` operates on the system bus)
set -l mode
if __fish_contains_opt user
set mode "--user"
else
set mode "--system"
end
set mode "--user"
else
set mode "--system"
end
command busctl $mode $argv --no-legend --no-pager 2>/dev/null
end
function _fish_busctl
set -l args a-address= s-show-machine u-unique A-acquired ä-activatable \
m-match= S-size= l-list q-quiet v-verbose e-expect-reply= Ä-auto-start= \
1-allow-interactive-authorization= t-timeout= 2-augment-creds= U-user 3-system \
H/host= M/machine= n-no-pager N-no-legend h/help V-version
m-match= S-size= l-list q-quiet v-verbose e-expect-reply= Ä-auto-start= \
1-allow-interactive-authorization= t-timeout= 2-augment-creds= U-user 3-system \
H/host= M/machine= n-no-pager N-no-legend h/help V-version
set -l cmdline (commandline -opc) (commandline -ct)
set -e cmdline[1]
argparse $args -- $cmdline 2>/dev/null
@@ -91,27 +91,29 @@ function _fish_busctl
end
function __fish_busctl_busnames
__fish_busctl list --acquired | string replace -r '\s+.*$' ''
# Describe unique names (":1.32") with their process (e.g. `:1.32\tsteam`)
__fish_busctl list --unique | string replace -r '\s+\S+\s+(\S+)\s+.*$' '\t$1'
__fish_busctl list --acquired | string replace -r '\s+.*$' ''
# Describe unique names (":1.32") with their process (e.g. `:1.32\tsteam`)
__fish_busctl list --unique | string replace -r '\s+\S+\s+(\S+)\s+.*$' '\t$1'
end
function __fish_busctl_objects -a busname
__fish_busctl tree --list $busname | string replace -r '\s+.*$' ''
__fish_busctl tree --list $busname | string replace -r '\s+.*$' ''
end
function __fish_busctl_interfaces -a busname -a object
__fish_busctl introspect --list $busname $object | string replace -r '\s+.*$' ''
__fish_busctl introspect --list $busname $object | string replace -r '\s+.*$' ''
end
function __fish_busctl_members -a type -a busname -a object -a interface
__fish_busctl introspect --list $busname $object $interface \
| string match -- "* $type *" | string replace -r '.(\S+) .*' '$1'
__fish_busctl introspect --list $busname $object $interface \
| string match -- "* $type *" | string replace -r '.(\S+) .*' '$1'
end
function __fish_busctl_signature -a busname -a object -a interface -a member
__fish_busctl introspect --list $busname $object $interface \
| string match ".$member *" | while read a b c d; echo $c; end
__fish_busctl introspect --list $busname $object $interface \
| string match ".$member *" | while read a b c d
echo $c
end
end
### Commands

View File

@@ -16,7 +16,7 @@ complete -c bzip2 -s t -l test -d "Check integrity"
complete -c bzip2 -s f -l force -d "Overwrite"
complete -c bzip2 -s k -l keep -d "Do not overwrite"
complete -c bzip2 -s s -l small -d "Reduce memory usage"
complete -c bzip2 -s q -l quiet -d "Supress errors"
complete -c bzip2 -s q -l quiet -d "Suppress errors"
complete -c bzip2 -s v -l verbose -d "Print compression ratios"
complete -c bzip2 -s L -l license -d "Print license"
complete -c bzip2 -s V -l version -d "Display version and exit"

View File

@@ -1,12 +1,12 @@
function __fish_complete_cabal
if type -q -f cabal
set cmd (commandline -poc)
if test (count $cmd) -gt 1
cabal $cmd[2..-1] --list-options
else
cabal --list-options
end
if type -q -f cabal
set cmd (commandline -poc)
if test (count $cmd) -gt 1
cabal $cmd[2..-1] --list-options
else
cabal --list-options
end
end
end
complete -c cabal -a '(__fish_complete_cabal)'

View File

@@ -1,27 +1,27 @@
# Caddy is a general-purpose HTTP/2 web server that serves HTTPS by default.
# https://caddyserver.com
complete -c caddy -o agree -d "Agree to the CA's Subscriber Agreement"
complete -c caddy -x -o ca -d "URL to certificate authority's ACME server directory"
complete -c caddy -x -o catimeout -d "Default ACME CA HTTP timeout"
complete -c caddy -r -o conf -a stdin -d "Caddyfile to load"
complete -c caddy -x -o cpu -d "CPU cap"
complete -c caddy -o disable-http-challenge -d "Disable the ACME HTTP challenge"
complete -c caddy -o disable-tls-sni-challenge -d "Disable the ACME TLS-SNI challenge"
complete -c caddy -x -o email -d "Default ACME CA account email address"
complete -c caddy -x -o grace -d "Maximum duration of graceful shutdown"
complete -c caddy -x -o host -d "Default host"
complete -c caddy -x -o http-port -d "Default port to use for HTTP"
complete -c caddy -o http2 -d "Use HTTP/2"
complete -c caddy -x -o https-port -d "Default port to use for HTTPS"
complete -c caddy -r -o log -d "Process log file"
complete -c caddy -r -o pidfile -d "Path to write pid file"
complete -c caddy -o plugins -d "List installed plugins"
complete -c caddy -x -o port -d "Default port"
complete -c caddy -o quic -d "Use experimental QUIC"
complete -c caddy -o quiet -d "Quiet mode (no initialization output)"
complete -c caddy -x -o revoke -d "Hostname for which to revoke the certificate"
complete -c caddy -r -o root -d "Root path of default site"
complete -c caddy -x -o type -d "Type of server to run"
complete -c caddy -o validate -d "Parse the Caddyfile but do not start the server"
complete -c caddy -o version -d "Show version"
complete -c caddy -o agree -d "Agree to the CA's Subscriber Agreement"
complete -c caddy -x -o ca -d "URL to certificate authority's ACME server directory"
complete -c caddy -x -o catimeout -d "Default ACME CA HTTP timeout"
complete -c caddy -r -o conf -a stdin -d "Caddyfile to load"
complete -c caddy -x -o cpu -d "CPU cap"
complete -c caddy -o disable-http-challenge -d "Disable the ACME HTTP challenge"
complete -c caddy -o disable-tls-sni-challenge -d "Disable the ACME TLS-SNI challenge"
complete -c caddy -x -o email -d "Default ACME CA account email address"
complete -c caddy -x -o grace -d "Maximum duration of graceful shutdown"
complete -c caddy -x -o host -d "Default host"
complete -c caddy -x -o http-port -d "Default port to use for HTTP"
complete -c caddy -o http2 -d "Use HTTP/2"
complete -c caddy -x -o https-port -d "Default port to use for HTTPS"
complete -c caddy -r -o log -d "Process log file"
complete -c caddy -r -o pidfile -d "Path to write pid file"
complete -c caddy -o plugins -d "List installed plugins"
complete -c caddy -x -o port -d "Default port"
complete -c caddy -o quic -d "Use experimental QUIC"
complete -c caddy -o quiet -d "Quiet mode (no initialization output)"
complete -c caddy -x -o revoke -d "Hostname for which to revoke the certificate"
complete -c caddy -r -o root -d "Root path of default site"
complete -c caddy -x -o type -d "Type of server to run"
complete -c caddy -o validate -d "Parse the Caddyfile but do not start the server"
complete -c caddy -o version -d "Show version"

View File

@@ -0,0 +1,5 @@
# The following lists are complete as of FreeBSD 12
set -l commands aam apm attrib cmd debug defects devlist eject epc format fwdownload help hpa identify idle inquiry load modepage negotiate opcodes periphlist persist readcap reportluns reprobe rescan reset sanitize security sleep smpcmd smpmaninfo smppc smpphylist smprg standby start stop tags timestamp tur zone
complete -c camcontrol -n '__fish_is_first_token' -xa "$commands"

View File

@@ -1,17 +1,17 @@
function __fish_canto_using_command
set cmd (commandline -opc)
if [ (count $cmd) -gt 1 ]
if [ $argv[1] = $cmd[2] ]
return 0
set cmd (commandline -opc)
if [ (count $cmd) -gt 1 ]
if [ $argv[1] = $cmd[2] ]
return 0
end
if [ count $argv -gt 2 ]
if [ $argv[2] = $cmd[2] ]
return 0
end
end
end
if [ count $argv -gt 2 ]
if [ $argv[2] = $cmd[2] ]
return 0
end
end
end
return 1
return 1
end
@@ -25,7 +25,7 @@ complete -f -c canto -s n -l checknew -d 'Show number of new items for feed'
complete -f -c canto -n '__fish_canto_using_command -l --checknew' -d 'Feed' -a '(command canto -l)'
complete -c canto -s o -l opml -d 'Print conf as OPML'
complete -c cnato -s i -l import -d 'Import from OPML'
complete -c canto -s i -l import -d 'Import from OPML'
complete -f -c canto -s r -l url -d 'Add feed'
complete -c canto -s D -l dir -d 'Set configuration directory'

View File

@@ -7,49 +7,49 @@ complete -c cargo -l list -d 'List installed commands'
complete -c cargo -s v -l verbose -d 'Use verbose output'
complete -c cargo -s q -l quiet -d 'No output printed to stdout'
set __fish_cargo_subcommands (cargo --list | tail -n +2 | string trim | string replace -r '\s+' '\t')
set __fish_cargo_subcommands (cargo --list 2>&1 | string replace -rf '^\s+([^\s]+)\s+(.*)' '$1\t$2')
complete -c cargo -f -c cargo -n '__fish_use_subcommand' -a '$__fish_cargo_subcommands'
complete -c cargo -x -c cargo -n '__fish_seen_subcommand_from help' -a '$__fish_cargo_subcommands'
for x in bench build clean doc fetch generate-lockfile \
locate-project package pkgid publish \
read-manifest run rustc test update \
verify-project;
complete -c cargo -r -n "__fish_seen_subcommand_from $x" -l manifest-path -d 'path to the manifest to compile'
locate-project package pkgid publish \
read-manifest run rustc test update \
verify-project
complete -c cargo -r -n "__fish_seen_subcommand_from $x" -l manifest-path -d 'path to the manifest to compile'
end
for x in bench build clean doc rustc test update;
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -s p -l spec -d 'Package to build'
for x in bench build clean doc rustc test update
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -s p -l spec -d 'Package to build'
end
for x in bench build clean doc run rustc test;
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l target -d 'Build for the target triple'
for x in bench build clean doc run rustc test
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l target -d 'Build for the target triple'
end
for x in bench build rustc test;
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l bench -d 'Only the specified benchmark'
complete -c cargo -n "__fish_seen_subcommand_from $x" -l lib -d 'Only this package\'s library'
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l test -d 'Only the specified test'
for x in bench build rustc test
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l bench -a "(cargo bench --bench 2>&1 | string replace -rf '^\s+' '')"
complete -c cargo -n "__fish_seen_subcommand_from $x" -l lib -d 'Only this package\'s library'
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l test -a "(cargo test --test 2>&1 | string replace -rf '^\s+' '')"
end
for x in bench build run rustc test;
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l bin -d 'Only the specified binary'
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l example -d 'Only the specified example'
for x in bench build run rustc test
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l bin -a "(cargo run --bin 2>&1 | string replace -rf '^\s+' '')"
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l example -a "(cargo run --example 2>&1 | string replace -rf '^\s+' '')"
end
for x in build run rustc test;
complete -c cargo -n "__fish_seen_subcommand_from $x" -l release -d 'Build artifacts in release mode, with optimizations'
for x in build run rustc test
complete -c cargo -n "__fish_seen_subcommand_from $x" -l release -d 'Build artifacts in release mode, with optimizations'
end
for x in bench test;
complete -c cargo -n "__fish_seen_subcommand_from $x" -l no-run -d 'Compile but do not run'
for x in bench test
complete -c cargo -n "__fish_seen_subcommand_from $x" -l no-run -d 'Compile but do not run'
end
for x in bench build doc run rustc test;
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -s j -l jobs -d 'Number of jobs to run in parallel'
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l features -d 'Space-separated list of features to also build'
complete -c cargo -n "__fish_seen_subcommand_from $x" -l no-default-features -d 'Do not build the `default` feature'
for x in bench build doc run rustc test
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -s j -l jobs -d 'Number of jobs to run in parallel'
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l features -d 'Space-separated list of features to also build'
complete -c cargo -n "__fish_seen_subcommand_from $x" -l no-default-features -d 'Do not build the `default` feature'
end
complete -c cargo -n '__fish_seen_subcommand_from doc' -l no-deps -d 'Don\'t build documentation for dependencies'
@@ -63,21 +63,21 @@ complete -c cargo -n '__fish_seen_subcommand_from new' -l bin
complete -c cargo -x -n '__fish_seen_subcommand_from git-checkout' -l url
complete -c cargo -x -n '__fish_seen_subcommand_from git-checkout' -l reference
for x in login publish search;
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l host -d 'The host to submit the request to'
for x in login publish search
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l host -d 'The host to submit the request to'
end
complete -c cargo -n '__fish_seen_subcommand_from doc' -l open -d 'Opens the docs in a browser after the operation'
complete -c cargo -r -n '__fish_seen_subcommand_from owner' -s a -l add -d 'Login of a user to add as an owner'
complete -c cargo -r -n '__fish_seen_subcommand_from owner' -s r -l remove -d 'Login of a user to remove as an owner'
complete -c cargo -r -n '__fish_seen_subcommand_from owner' -s r -l remove -d 'Login of a user to remove as an owner'
for x in owner yank;
complete -c cargo -r -n "__fish_seen_subcommand_from $x" -l index -d 'Registry index to use'
for x in owner yank
complete -c cargo -r -n "__fish_seen_subcommand_from $x" -l index -d 'Registry index to use'
end
for x in owner publish yank;
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l token -d 'API token to use when authenticating'
for x in owner publish yank
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l token -d 'API token to use when authenticating'
end
complete -c cargo -n '__fish_seen_subcommand_from package' -l no-verify -d 'Don\'t verify the contents by building them'

View File

@@ -1,21 +1,21 @@
if cat --version 2>/dev/null > /dev/null # GNU
complete -c cat -s A -l show-all -d "Escape all non-printing characters"
complete -c cat -s b -l number-nonblank -d "Number nonblank lines"
complete -c cat -s e -d "Escape non-printing characters except tab"
complete -c cat -s E -l show-ends -d "Display \$ at end of line"
complete -c cat -s n -l number -d "Number all lines"
complete -c cat -s s -l squeeze-blank -d "Never more than single blank line"
complete -c cat -s t -d "Escape non-printing characters except newline"
complete -c cat -s T -l show-tabs -d "Escape tab"
complete -c cat -s v -d "Escape non-printing except newline and tab"
complete -c cat -l help -d "Display help and exit"
complete -c cat -l version -d "Display version and exit"
if cat --version 2>/dev/null >/dev/null # GNU
complete -c cat -s A -l show-all -d "Escape all unprintables"
complete -c cat -s b -l number-nonblank -d "Number non-blank lines"
complete -c cat -s e -d "Escape unprintables except \\t"
complete -c cat -s E -l show-ends -d "Display \$ at line end"
complete -c cat -s n -l number -d "Enumerate lines"
complete -c cat -s s -l squeeze-blank -d "Never >1 blank line"
complete -c cat -s t -d "Escape unprintables except \\n"
complete -c cat -s T -l show-tabs -d "Escape tab"
complete -c cat -s v -d "Escape unprintables except '\\n' and \\t"
complete -c cat -l help -d "Display help and exit"
complete -c cat -l version -d "Display version and exit"
else # OS X
complete -c cat -s b -d "Number non-blank lines"
complete -c cat -s e -d "Display non-printing characters, and `\$' at the end of each line"
complete -c cat -s n -d "Number all lines"
complete -c cat -s s -d "Single spaced output by squeezing adjacent empty lines"
complete -c cat -s t -d "Display non-printing characters, and tab characters as `^I'"
complete -c cat -s u -d "Disable output buffering"
complete -c cat -s v -d "Display non-printing characters so they're visible."
complete -c cat -s b -d "Specify # of non-blank lines"
complete -c cat -s e -d "Show unprintables, end lines with \$"
complete -c cat -s n -d "Enumerate lines"
complete -c cat -s s -d "Squeeze away >1 blank lines"
complete -c cat -s t -d "Show unprintables; tab as '^I'"
complete -c cat -s u -d "Disable output buffering"
complete -c cat -s v -d "Escape non-printing chars"
end

View File

@@ -1,208 +1,208 @@
set -l subcommands help version login logout passwd target api auth apps app \
push scale delete rename start stop restart restage restart-app-instance \
run-task tasks terminate-task events files logs env set-env unset-env stacks \
stack copy-source create-app-manifest get-health-check set-health-check \
enable-ssh disable-ssh ssh-enabled ssh marketplace services service \
create-service update-service delete-service rename-service \
create-service-key service-keys service-key delete-service-key bind-service \
unbind-service bind-route-service unbind-route-service \
create-user-provided-service update-user-provided-service orgs org \
create-org delete-org rename-org spaces space create-space delete-space \
rename-space allow-space-ssh disallow-space-ssh space-ssh-allowed domains \
create-domain delete-domain create-shared-domain delete-shared-domain \
router-groups routes create-route check-route map-route unmap-route \
delete-route delete-orphaned-routes network-policies add-network-policy \
remove-network-policy buildpacks create-buildpack update-buildpack \
rename-buildpack delete-buildpack create-user delete-user org-users \
set-org-role unset-org-role space-users set-space-role unset-space-role \
quotas quota set-quota create-quota delete-quota update-quota \
share-private-domain unshare-private-domain space-quotas space-quota \
create-space-quota update-space-quota delete-space-quota set-space-quota \
unset-space-quota service-auth-tokens create-service-auth-token \
update-service-auth-token delete-service-auth-token service-brokers \
create-service-broker update-service-broker delete-service-broker \
rename-service-broker migrate-service-instances purge-service-offering \
purge-service-instance service-access enable-service-access \
disable-service-access security-group security-groups create-security-group \
update-security-group delete-security-group bind-security-group \
unbind-security-group bind-staging-security-group staging-security-groups \
unbind-staging-security-group bind-running-security-group \
running-security-groups unbind-running-security-group \
running-environment-variable-group staging-environment-variable-group \
set-staging-environment-variable-group set-running-environment-variable-group \
isolation-segments create-isolation-segment delete-isolation-segment \
enable-org-isolation disable-org-isolation set-org-default-isolation-segment \
reset-org-default-isolation-segment set-space-isolation-segment \
reset-space-isolation-segment feature-flags feature-flag enable-feature-flag \
disable-feature-flag curl config oauth-token ssh-code add-plugin-repo \
remove-plugin-repo list-plugin-repos repo-plugins plugins install-plugin \
uninstall-plugin
push scale delete rename start stop restart restage restart-app-instance \
run-task tasks terminate-task events files logs env set-env unset-env stacks \
stack copy-source create-app-manifest get-health-check set-health-check \
enable-ssh disable-ssh ssh-enabled ssh marketplace services service \
create-service update-service delete-service rename-service \
create-service-key service-keys service-key delete-service-key bind-service \
unbind-service bind-route-service unbind-route-service \
create-user-provided-service update-user-provided-service orgs org \
create-org delete-org rename-org spaces space create-space delete-space \
rename-space allow-space-ssh disallow-space-ssh space-ssh-allowed domains \
create-domain delete-domain create-shared-domain delete-shared-domain \
router-groups routes create-route check-route map-route unmap-route \
delete-route delete-orphaned-routes network-policies add-network-policy \
remove-network-policy buildpacks create-buildpack update-buildpack \
rename-buildpack delete-buildpack create-user delete-user org-users \
set-org-role unset-org-role space-users set-space-role unset-space-role \
quotas quota set-quota create-quota delete-quota update-quota \
share-private-domain unshare-private-domain space-quotas space-quota \
create-space-quota update-space-quota delete-space-quota set-space-quota \
unset-space-quota service-auth-tokens create-service-auth-token \
update-service-auth-token delete-service-auth-token service-brokers \
create-service-broker update-service-broker delete-service-broker \
rename-service-broker migrate-service-instances purge-service-offering \
purge-service-instance service-access enable-service-access \
disable-service-access security-group security-groups create-security-group \
update-security-group delete-security-group bind-security-group \
unbind-security-group bind-staging-security-group staging-security-groups \
unbind-staging-security-group bind-running-security-group \
running-security-groups unbind-running-security-group \
running-environment-variable-group staging-environment-variable-group \
set-staging-environment-variable-group set-running-environment-variable-group \
isolation-segments create-isolation-segment delete-isolation-segment \
enable-org-isolation disable-org-isolation set-org-default-isolation-segment \
reset-org-default-isolation-segment set-space-isolation-segment \
reset-space-isolation-segment feature-flags feature-flag enable-feature-flag \
disable-feature-flag curl config oauth-token ssh-code add-plugin-repo \
remove-plugin-repo list-plugin-repos repo-plugins plugins install-plugin \
uninstall-plugin
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'help' --description "Show help"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'version' --description "Print the version"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'login' --description "Log user in"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'logout' --description "Log user out"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'passwd' --description "Change user password"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'target' --description "Set or view the targeted org or space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'api' --description "Set or view target api url"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'auth' --description "Authenticate user non-interactively"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'apps' --description "List all apps in the target space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'app' --description "Display health and status for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'push' --description "Push a new app or sync changes to an existing app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'scale' --description "Change or view the instance count, disk space limit, and memory limit for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete' --description "Delete an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename' --description "Rename an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'start' --description "Start an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'stop' --description "Stop an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'restart' --description "Stop all instances of the app, then start them again. This causes downtime."
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'restage' --description "Recreate the app's executable artifact using the latest pushed app files and the latest environment (variables, service bindings, buildpack, stack, etc.)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'restart-app-instance' --description "Terminate, then restart an app instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'run-task' --description "Run a one-off task on an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'tasks' --description "List tasks of an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'terminate-task' --description "Terminate a running task of an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'events' --description "Show recent app events"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'files' --description "Print out a list of files in a directory or the contents of a specific file of an app running on the DEA backend"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'logs' --description "Tail or show recent logs for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'env' --description "Show all env variables for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-env' --description "Set an env variable for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unset-env' --description "Remove an env variable"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'stacks' --description "List all stacks (a stack is a pre-built file system, including an operating system, that can run apps)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'stack' --description "Show information for a stack (a stack is a pre-built file system, including an operating system, that can run apps)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'copy-source' --description "Copies the source code of an application to another existing application (and restarts that application)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-app-manifest' --description "Create an app manifest for an app that has been pushed successfully"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'get-health-check' --description "Show the type of health check performed on an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-health-check' --description "Change type of health check performed on an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'enable-ssh' --description "Enable ssh for the application"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disable-ssh' --description "Disable ssh for the application"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'ssh-enabled' --description "Reports whether SSH is enabled on an application container instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'ssh' --description "SSH to an application container instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'marketplace' --description "List available offerings in the marketplace"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'services' --description "List all service instances in the target space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service' --description "Show service instance info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-service' --description "Create a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-service' --description "Update a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-service' --description "Delete a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-service' --description "Rename a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-service-key' --description "Create key for a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-keys' --description "List keys for a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-key' --description "Show service key info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-service-key' --description "Delete a service key"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-service' --description "Bind a service instance to an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-service' --description "Unbind a service instance from an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-route-service' --description "Bind a service instance to an HTTP route"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-route-service' --description "Unbind a service instance from an HTTP route"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-user-provided-service' --description "Make a user-provided service instance available to CF apps"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-user-provided-service' --description "Update user-provided service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'orgs' --description "List all orgs"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'org' --description "Show org info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-org' --description "Create an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-org' --description "Delete an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-org' --description "Rename an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'spaces' --description "List all spaces in an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space' --description "Show space info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-space' --description "Create a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-space' --description "Delete a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-space' --description "Rename a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'allow-space-ssh' --description "Allow SSH access for the space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disallow-space-ssh' --description "Disallow SSH access for the space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space-ssh-allowed' --description "Reports whether SSH is allowed in a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'domains' --description "List domains in the target org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-domain' --description "Create a domain in an org for later use"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-domain' --description "Delete a domain"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-shared-domain' --description "Create a domain that can be used by all orgs (admin-only)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-shared-domain' --description "Delete a shared domain"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'router-groups' --description "List router groups"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'routes' --description "List all routes in the current space or the current organization"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-route' --description "Create a url route in a space for later use"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'check-route' --description "Perform a simple check to determine whether a route currently exists or not"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'map-route' --description "Add a url route to an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unmap-route' --description "Remove a url route from an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-route' --description "Delete a route"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-orphaned-routes' --description "Delete all orphaned routes (i.e. those that are not mapped to an app)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'network-policies' --description "List direct network traffic policies"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'add-network-policy' --description "Create policy to allow direct network traffic from one app to another"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'remove-network-policy' --description "Remove network traffic policy of an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'buildpacks' --description "List all buildpacks"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-buildpack' --description "Create a buildpack"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-buildpack' --description "Update a buildpack"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-buildpack' --description "Rename a buildpack"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-buildpack' --description "Delete a buildpack"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-user' --description "Create a new user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-user' --description "Delete a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'org-users' --description "Show org users by role"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-org-role' --description "Assign an org role to a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unset-org-role' --description "Remove an org role from a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space-users' --description "Show space users by role"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-space-role' --description "Assign a space role to a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unset-space-role' --description "Remove a space role from a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'quotas' --description "List available usage quotas"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'quota' --description "Show quota info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-quota' --description "Assign a quota to an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-quota' --description "Define a new resource quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-quota' --description "Delete a quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-quota' --description "Update an existing resource quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'share-private-domain' --description "Share a private domain with an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unshare-private-domain' --description "Unshare a private domain with an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space-quotas' --description "List available space resource quotas"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space-quota' --description "Show space quota info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-space-quota' --description "Define a new space resource quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-space-quota' --description "Update an existing space quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-space-quota' --description "Delete a space quota definition and unassign the space quota from all spaces"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-space-quota' --description "Assign a space quota definition to a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unset-space-quota' --description "Unassign a quota from a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-auth-tokens' --description "List service auth tokens"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-service-auth-token' --description "Create a service auth token"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-service-auth-token' --description "Update a service auth token"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-service-auth-token' --description "Delete a service auth token"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-brokers' --description "List service brokers"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-service-broker' --description "Create a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-service-broker' --description "Update a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-service-broker' --description "Delete a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-service-broker' --description "Rename a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'migrate-service-instances' --description "Migrate service instances from one service plan to another"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'purge-service-offering' --description "Recursively remove a service and child objects from Cloud Foundry database without making requests to a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'purge-service-instance' --description "Recursively remove a service instance and child objects from Cloud Foundry database without making requests to a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-access' --description "List service access settings"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'enable-service-access' --description "Enable access to a service or service plan for one or all orgs"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disable-service-access' --description "Disable access to a service or service plan for one or all orgs"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'security-group' --description "Show a single security group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'security-groups' --description "List all security groups"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-security-group' --description "Create a security group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-security-group' --description "Update a security group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-security-group' --description "Deletes a security group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-security-group' --description "Bind a security group to a particular space, or all existing spaces of an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-security-group' --description "Unbind a security group from a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-staging-security-group' --description "Bind a security group to the list of security groups to be used for staging applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'staging-security-groups' --description "List security groups in the staging set for applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-staging-security-group' --description "Unbind a security group from the set of security groups for staging applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-running-security-group' --description "Bind a security group to the list of security groups to be used for running applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'running-security-groups' --description "List security groups in the set of security groups for running applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-running-security-group' --description "Unbind a security group from the set of security groups for running applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'running-environment-variable-group' --description "Retrieve the contents of the running environment variable group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'staging-environment-variable-group' --description "Retrieve the contents of the staging environment variable group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'help' --description "Show help"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'version' --description "Print the version"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'login' --description "Log user in"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'logout' --description "Log user out"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'passwd' --description "Change user password"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'target' --description "Set or view the targeted org or space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'api' --description "Set or view target api url"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'auth' --description "Authenticate user non-interactively"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'apps' --description "List all apps in the target space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'app' --description "Display health and status for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'push' --description "Push a new app or sync changes to an existing app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'scale' --description "Change or view the instance count, disk space limit, and memory limit for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete' --description "Delete an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename' --description "Rename an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'start' --description "Start an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'stop' --description "Stop an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'restart' --description "Stop all instances of the app, then start them again. This causes downtime."
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'restage' --description "Recreate the app's executable artifact using the latest pushed app files and the latest environment (variables, service bindings, buildpack, stack, etc.)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'restart-app-instance' --description "Terminate, then restart an app instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'run-task' --description "Run a one-off task on an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'tasks' --description "List tasks of an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'terminate-task' --description "Terminate a running task of an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'events' --description "Show recent app events"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'files' --description "Print out a list of files in a directory or the contents of a specific file of an app running on the DEA backend"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'logs' --description "Tail or show recent logs for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'env' --description "Show all env variables for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-env' --description "Set an env variable for an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unset-env' --description "Remove an env variable"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'stacks' --description "List all stacks (a stack is a pre-built file system, including an operating system, that can run apps)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'stack' --description "Show information for a stack (a stack is a pre-built file system, including an operating system, that can run apps)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'copy-source' --description "Copies the source code of an application to another existing application (and restarts that application)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-app-manifest' --description "Create an app manifest for an app that has been pushed successfully"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'get-health-check' --description "Show the type of health check performed on an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-health-check' --description "Change type of health check performed on an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'enable-ssh' --description "Enable ssh for the application"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disable-ssh' --description "Disable ssh for the application"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'ssh-enabled' --description "Reports whether SSH is enabled on an application container instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'ssh' --description "SSH to an application container instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'marketplace' --description "List available offerings in the marketplace"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'services' --description "List all service instances in the target space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service' --description "Show service instance info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-service' --description "Create a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-service' --description "Update a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-service' --description "Delete a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-service' --description "Rename a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-service-key' --description "Create key for a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-keys' --description "List keys for a service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-key' --description "Show service key info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-service-key' --description "Delete a service key"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-service' --description "Bind a service instance to an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-service' --description "Unbind a service instance from an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-route-service' --description "Bind a service instance to an HTTP route"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-route-service' --description "Unbind a service instance from an HTTP route"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-user-provided-service' --description "Make a user-provided service instance available to CF apps"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-user-provided-service' --description "Update user-provided service instance"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'orgs' --description "List all orgs"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'org' --description "Show org info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-org' --description "Create an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-org' --description "Delete an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-org' --description "Rename an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'spaces' --description "List all spaces in an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space' --description "Show space info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-space' --description "Create a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-space' --description "Delete a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-space' --description "Rename a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'allow-space-ssh' --description "Allow SSH access for the space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disallow-space-ssh' --description "Disallow SSH access for the space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space-ssh-allowed' --description "Reports whether SSH is allowed in a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'domains' --description "List domains in the target org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-domain' --description "Create a domain in an org for later use"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-domain' --description "Delete a domain"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-shared-domain' --description "Create a domain that can be used by all orgs (admin-only)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-shared-domain' --description "Delete a shared domain"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'router-groups' --description "List router groups"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'routes' --description "List all routes in the current space or the current organization"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-route' --description "Create a url route in a space for later use"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'check-route' --description "Perform a simple check to determine whether a route currently exists or not"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'map-route' --description "Add a url route to an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unmap-route' --description "Remove a url route from an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-route' --description "Delete a route"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-orphaned-routes' --description "Delete all orphaned routes (i.e. those that are not mapped to an app)"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'network-policies' --description "List direct network traffic policies"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'add-network-policy' --description "Create policy to allow direct network traffic from one app to another"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'remove-network-policy' --description "Remove network traffic policy of an app"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'buildpacks' --description "List all buildpacks"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-buildpack' --description "Create a buildpack"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-buildpack' --description "Update a buildpack"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-buildpack' --description "Rename a buildpack"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-buildpack' --description "Delete a buildpack"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-user' --description "Create a new user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-user' --description "Delete a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'org-users' --description "Show org users by role"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-org-role' --description "Assign an org role to a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unset-org-role' --description "Remove an org role from a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space-users' --description "Show space users by role"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-space-role' --description "Assign a space role to a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unset-space-role' --description "Remove a space role from a user"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'quotas' --description "List available usage quotas"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'quota' --description "Show quota info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-quota' --description "Assign a quota to an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-quota' --description "Define a new resource quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-quota' --description "Delete a quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-quota' --description "Update an existing resource quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'share-private-domain' --description "Share a private domain with an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unshare-private-domain' --description "Unshare a private domain with an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space-quotas' --description "List available space resource quotas"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'space-quota' --description "Show space quota info"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-space-quota' --description "Define a new space resource quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-space-quota' --description "Update an existing space quota"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-space-quota' --description "Delete a space quota definition and unassign the space quota from all spaces"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-space-quota' --description "Assign a space quota definition to a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unset-space-quota' --description "Unassign a quota from a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-auth-tokens' --description "List service auth tokens"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-service-auth-token' --description "Create a service auth token"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-service-auth-token' --description "Update a service auth token"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-service-auth-token' --description "Delete a service auth token"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-brokers' --description "List service brokers"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-service-broker' --description "Create a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-service-broker' --description "Update a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-service-broker' --description "Delete a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'rename-service-broker' --description "Rename a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'migrate-service-instances' --description "Migrate service instances from one service plan to another"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'purge-service-offering' --description "Recursively remove a service and child objects from Cloud Foundry database without making requests to a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'purge-service-instance' --description "Recursively remove a service instance and child objects from Cloud Foundry database without making requests to a service broker"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'service-access' --description "List service access settings"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'enable-service-access' --description "Enable access to a service or service plan for one or all orgs"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disable-service-access' --description "Disable access to a service or service plan for one or all orgs"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'security-group' --description "Show a single security group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'security-groups' --description "List all security groups"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-security-group' --description "Create a security group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'update-security-group' --description "Update a security group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-security-group' --description "Deletes a security group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-security-group' --description "Bind a security group to a particular space, or all existing spaces of an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-security-group' --description "Unbind a security group from a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-staging-security-group' --description "Bind a security group to the list of security groups to be used for staging applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'staging-security-groups' --description "List security groups in the staging set for applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-staging-security-group' --description "Unbind a security group from the set of security groups for staging applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'bind-running-security-group' --description "Bind a security group to the list of security groups to be used for running applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'running-security-groups' --description "List security groups in the set of security groups for running applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'unbind-running-security-group' --description "Unbind a security group from the set of security groups for running applications"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'running-environment-variable-group' --description "Retrieve the contents of the running environment variable group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'staging-environment-variable-group' --description "Retrieve the contents of the staging environment variable group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-staging-environment-variable-group' --description "Pass parameters as JSON to create a staging environment variable group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-running-environment-variable-group' --description "Pass parameters as JSON to create a running environment variable group"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'isolation-segments' --description "List all isolation segments"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-isolation-segment' --description "Create an isolation segment"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-isolation-segment' --description "Delete an isolation segment"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'enable-org-isolation' --description "Entitle an organization to an isolation segment"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disable-org-isolation' --description "Revoke an organization's entitlement to an isolation segment"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-org-default-isolation-segment' --description "Set the default isolation segment used for apps in spaces in an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'reset-org-default-isolation-segment' --description "Reset the default isolation segment used for apps in spaces of an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-space-isolation-segment' --description "Assign the isolation segment for a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'reset-space-isolation-segment' --description "Reset the space's isolation segment to the org default"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'feature-flags' --description "Retrieve list of feature flags with status"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'feature-flag' --description "Retrieve an individual feature flag with status"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'enable-feature-flag' --description "Allow use of a feature"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disable-feature-flag' --description "Prevent use of a feature"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'curl' --description "Executes a request to the targeted API endpoint"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'config' --description "Write default values to the config"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'oauth-token' --description "Retrieve and display the OAuth token for the current session"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'ssh-code' --description "Get a one time password for ssh clients"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'add-plugin-repo' --description "Add a new plugin repository"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'remove-plugin-repo' --description "Remove a plugin repository"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'list-plugin-repos' --description "List all the added plugin repositories"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'repo-plugins' --description "List all available plugins in specified repository or in all added repositories"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'plugins' --description "List commands of installed plugins"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'install-plugin' --description "Install CLI plugin"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'uninstall-plugin' --description "Uninstall CLI plugin"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'isolation-segments' --description "List all isolation segments"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'create-isolation-segment' --description "Create an isolation segment"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'delete-isolation-segment' --description "Delete an isolation segment"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'enable-org-isolation' --description "Entitle an organization to an isolation segment"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disable-org-isolation' --description "Revoke an organization's entitlement to an isolation segment"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-org-default-isolation-segment' --description "Set the default isolation segment used for apps in spaces in an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'reset-org-default-isolation-segment' --description "Reset the default isolation segment used for apps in spaces of an org"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'set-space-isolation-segment' --description "Assign the isolation segment for a space"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'reset-space-isolation-segment' --description "Reset the space's isolation segment to the org default"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'feature-flags' --description "Retrieve list of feature flags with status"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'feature-flag' --description "Retrieve an individual feature flag with status"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'enable-feature-flag' --description "Allow use of a feature"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'disable-feature-flag' --description "Prevent use of a feature"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'curl' --description "Executes a request to the targeted API endpoint"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'config' --description "Write default values to the config"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'oauth-token' --description "Retrieve and display the OAuth token for the current session"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'ssh-code' --description "Get a one time password for ssh clients"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'add-plugin-repo' --description "Add a new plugin repository"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'remove-plugin-repo' --description "Remove a plugin repository"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'list-plugin-repos' --description "List all the added plugin repositories"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'repo-plugins' --description "List all available plugins in specified repository or in all added repositories"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'plugins' --description "List commands of installed plugins"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'install-plugin' --description "Install CLI plugin"
complete -f -n "__fish_use_subcommand $subcommands" -c cf -a 'uninstall-plugin' --description "Uninstall CLI plugin"

View File

@@ -9,4 +9,4 @@ complete -c chown -s v -l verbose -d "Output diagnostic for every file"
complete -c chown -s h -l help -d "Display help and exit"
complete -c chown -l version -d "Display version and exit"
complete -c chown -d "Username" -a "(__fish_print_users):"
complete -c chown -d "Username" -a "(string match -r '.*:' (commandline -ct))(__fish_complete_groups)"
complete -c chown -d "Username" -a "(string match -r -- '.*:' (commandline -ct))(__fish_complete_groups)"

View File

@@ -0,0 +1,99 @@
# Completions for chronyc
# Global options
complete -f -c chronyc -s 4 -d "Use only IPv4 address for hostname resolution"
complete -f -c chronyc -s 6 -d "Use only IPv6 address for hostname resolution"
complete -f -c chronyc -s n -d "Disable resolving of IP address to hostname"
complete -f -c chronyc -s c -d "Print the report in CSV format"
complete -f -c chronyc -s d -d "Enable print of debugging message"
complete -f -c chronyc -s m -d "Allow multiple commands to be specified"
complete -f -c chronyc -s h -d "Specify the host to connect"
complete -f -c chronyc -s p -d "Specify the UDP port number used by the target to monitor connections"
complete -f -c chronyc -s f -d "Option for compatibility"
complete -f -c chronyc -s a -d "Option for compatibility"
complete -f -c chronyc -s v -d "Show version number"
# Commands
## System clock
complete -f -c chronyc -n "__fish_use_subcommand" -a tracking -d "Show system time info"
complete -f -c chronyc -n "__fish_use_subcommand" -a makestep -d "Correct the clock by stepping"
complete -f -c chronyc -n "__fish_use_subcommand" -a maxupdateskew -d "Modify max valid skew to update frequency"
complete -f -c chronyc -n "__fish_use_subcommand" -a waitsync -d "Wait until synced in specified limits"
## Time sources
complete -f -c chronyc -n "__fish_use_subcommand" -a sources -d "Show info about current sources"
complete -x -c chronyc -n "__fish_seen_subcommand_from sources" -s v -d "Be verbose"
complete -f -c chronyc -n "__fish_use_subcommand" -a sourcestats -d "Show statistics about collected measurements"
complete -x -c chronyc -n "__fish_seen_subcommand_from sourcestats" -s v -d "Be verbose"
complete -f -c chronyc -n "__fish_use_subcommand" -a reselect -d "Force reselecting sync source"
complete -f -c chronyc -n "__fish_use_subcommand" -a reselectdist -d "Modify reselection distance"
## NTP sources
complete -f -c chronyc -n "__fish_use_subcommand" -a activity -d "Check how many NTP sources are online/offline"
complete -f -c chronyc -n "__fish_use_subcommand" -a ntpdata -d "Show info about last valid measurement"
complete -f -c chronyc -n "__fish_use_subcommand" -a add
complete -f -c chronyc -n "__fish_seen_subcommand_from add" -a peer -d "Add new NTP peer"
complete -f -c chronyc -n "__fish_seen_subcommand_from add" -a server -d "Add new NTP server"
complete -f -c chronyc -n "__fish_use_subcommand" -a delete -d "Remove server/peer"
complete -f -c chronyc -n "__fish_use_subcommand" -a burst -d "Start rapid set of measurements"
complete -f -c chronyc -n "__fish_use_subcommand" -a maxdelay -d "Modify max valid sample delay"
complete -f -c chronyc -n "__fish_use_subcommand" -a maxdelaydevratio -d "Modify max valid delay/deviation ratio"
complete -f -c chronyc -n "__fish_use_subcommand" -a maxdelayratio -d "Modify max valid delay/min ratio"
complete -f -c chronyc -n "__fish_use_subcommand" -a maxpoll -d "Modify max polling interval"
complete -f -c chronyc -n "__fish_use_subcommand" -a minpoll -d "Modify min polling interval"
complete -f -c chronyc -n "__fish_use_subcommand" -a minstratum -d "Modify min stratum"
complete -f -c chronyc -n "__fish_use_subcommand" -a offline -d "Set sources in subnet to offline status"
complete -f -c chronyc -n "__fish_use_subcommand" -a online -d "Set sources in subnet to online status"
complete -f -c chronyc -n "__fish_use_subcommand" -a onoffline -d "Set all sources to online/offline status according to network config"
complete -f -c chronyc -n "__fish_use_subcommand" -a polltarget -d "Modify poll target"
complete -f -c chronyc -n "__fish_use_subcommand" -a refresh -d "Refresh IP address"
## Manual time input
complete -f -c chronyc -n "__fish_use_subcommand" -a manual
complete -f -c chronyc -n "__fish_seen_subcommand_from manual" -a on -d "Enable settime command"
complete -f -c chronyc -n "__fish_seen_subcommand_from manual" -a off -d "Disable settime command"
complete -f -c chronyc -n "__fish_seen_subcommand_from manual" -a delete -d "Delete previous settime entry"
complete -f -c chronyc -n "__fish_seen_subcommand_from manual" -a list -d "Show previous settime entries"
complete -f -c chronyc -n "__fish_seen_subcommand_from manual" -a reset -d "Reset settime command"
complete -f -c chronyc -n "__fish_use_subcommand" -a settime -d "Set daemon time"
## NTP access
complete -f -c chronyc -n "__fish_use_subcommand" -a accheck -d "Check whether address is allowed"
complete -f -c chronyc -n "__fish_use_subcommand" -a clients -d "Report on clients that have accessed the server"
complete -f -c chronyc -n "__fish_use_subcommand" -a serverstats -d "Show statistics of the server"
complete -f -c chronyc -n "__fish_use_subcommand" -a allow -d "Allow access to subnet as a default"
complete -f -c chronyc -n "__fish_seen_subcommand_from allow" -a all -d "Allow access to subnet and all children"
complete -f -c chronyc -n "__fish_use_subcommand" -a deny -d "Deny access to subnet as a default"
complete -f -c chronyc -n "__fish_seen_subcommand_from deny" -a all -d "Deny access to subnet and all children"
complete -f -c chronyc -n "__fish_use_subcommand" -a local -d "Serve time even when not synced"
complete -f -c chronyc -n "__fish_seen_subcommand_from local" -a off -d "Don't serve time when not synced"
complete -f -c chronyc -n "__fish_use_subcommand" -a smoothing -d "Show current time smoothing state"
complete -f -c chronyc -n "__fish_use_subcommand" -a smoothtime
complete -f -c chronyc -n "__fish_seen_subcommand_from smoothtime" -a activate -d "Activate time smoothing"
complete -f -c chronyc -n "__fish_seen_subcommand_from smoothtime" -a reset -d "Reset time smoothing"
## Monitoring access
complete -f -c chronyc -n "__fish_use_subcommand" -a cmdaccheck -d "Check whether address is allowed"
complete -f -c chronyc -n "__fish_use_subcommand" -a cmdallow -d "Allow access to subnet as a default"
complete -f -c chronyc -n "__fish_seen_subcommand_from cmdallow" -a all -d "Allow access to subnet and all children"
complete -f -c chronyc -n "__fish_use_subcommand" -a cmddeny -d "Deny access to subnet as a default"
complete -f -c chronyc -n "__fish_seen_subcommand_from cmddeny" -a all -d "Deny access to subnet and all children"
## RTC
complete -f -c chronyc -n "__fish_use_subcommand" -a rtcdata -d "Print current RTC performance parameters"
complete -f -c chronyc -n "__fish_use_subcommand" -a trimrtc -d "Correct RTC relative to system clock"
complete -f -c chronyc -n "__fish_use_subcommand" -a writertc -d "Save RTC performance parameters to file"
## Other daemon commands
complete -f -c chronyc -n "__fish_use_subcommand" -a cyclelogs -d "Close and reopen log files"
complete -f -c chronyc -n "__fish_use_subcommand" -a dump -d "Dump all measurements to save files"
complete -f -c chronyc -n "__fish_use_subcommand" -a rekey -d "Reread keys from key file"
complete -f -c chronyc -n "__fish_use_subcommand" -a shutdown -d "Stop daemon"
## Client commands
complete -f -c chronyc -n "__fish_use_subcommand" -a dns -d "Configure how hostname and IP address are resolved"
complete -f -c chronyc -n "__fish_use_subcommand" -a timeout -d "Set initial response timeout"
complete -f -c chronyc -n "__fish_use_subcommand" -a retries -d "Set max number of retries"
complete -f -c chronyc -n "__fish_use_subcommand" -a keygen -d "Generate key for key file"
complete -f -c chronyc -n "__fish_use_subcommand" -a "exit quit" -d "Leave the program"
complete -f -c chronyc -n "__fish_use_subcommand" -a help -d "Show help message"

View File

@@ -4,4 +4,4 @@
complete -p '*clang++*' -n '__fish_should_complete_switches' -xa '(__fish_clang_complete)'
complete -p '*clang++*' -n 'not __fish_should_complete_switches' \
-xa '(__fish_complete_suffix \'{.o,.out,.c,.cpp,.so,.dylib}\')'
-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)"

View File

@@ -5,7 +5,8 @@
# This pattern unfortunately matches clang-format, etc. as well.
complete -p '*clang*' -n '__fish_should_complete_switches' -xa '(__fish_clang_complete)'
complete -c 'clang' -n 'not __fish_should_complete_switches' \
-xa "(__fish_complete_suffix '{.o,.out,.c,.cpp,.so,.dylib}')"
-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' \
-a "(__fish_complete_suffix '{.o,.out,.c,.cpp,.so,.dylib}')"
-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)"

View File

@@ -0,0 +1,41 @@
# Visual Studio Code
function __fish_complete_vscode_extensions
command --quiet code; and code --list-extensions
end
complete -c code -s d -l diff -d 'Compare two files with each other'
complete -c code -s a -l add -d 'Add folder(s) to the last active window'
complete -c code -s g -l goto -x -d 'line and character position'
complete -c code -s n -l new-window -d 'Force to open a new window'
complete -c code -s r -l reuse-window -d 'Force to open a file or folder in an already opened window'
complete -c code -s w -l wait -d 'Wait for the files to be closed before returning'
complete -c code -l locale -x -d 'The locale to use (e.g. en-US or zh-TW)'
complete -c code -l user-data-dir -ra "(__fish_complete_directories)" -d 'Specifies the directory that user data is kept in'
complete -c code -s v -l version -d 'Print version'
complete -c code -s h -l help -d 'Print usage'
complete -c code -l folder-uri -d 'Opens a window with given folder uri(s)'
complete -c code -l file-uri -d 'Opens a window with given file uri(s)'
# Extensions management
complete -c code -l extensions-dir -d 'Set the root path for extensions'
complete -c code -l list-extensions -d 'List the installed extensions'
complete -c code -l show-versions -d 'Show versions of installed extensions' -n '__fish_seen_argument -l list-extensions'
complete -c code -l install-extension -xa "(__fish_complete_vscode_extensions)" -d 'Installs or updates the extension'
complete -c code -l force -n '__fish_seen_argument -l install-extension' -d 'Avoid prompts when installing'
complete -c code -l enable-proposed-api -xa "(__fish_complete_vscode_extensions)" -d 'Enables proposed API features for extensions'
complete -c code -l uninstall-extension -xa "(__fish_complete_vscode_extensions)" -d 'Uninstall extension'
complete -c code -l disable-extension -xa "(__fish_complete_vscode_extensions)" -d 'Disable extension(s)'
complete -c code -l disable-extensions -d 'Disable all installed extensions'
# Troubleshooting
complete -c code -l verbose -d 'Print verbose output (implies --wait)'
complete -c code -l log -a 'critical error warn info debug trace off' -d 'Log level to use (default: info)'
complete -c code -s s -l status -d 'Print process usage and diagnostics information'
complete -c code -s p -l prof-modules -d 'Capture JS module performance markers'
complete -c code -l prof-startup -d 'Run CPU profiler during startup'
complete -c code -l inspect-extensions -d 'Allow debugging and profiling of extensions'
complete -c code -l inspect-brk-extensions -x -d 'Allow debugging and profiling of extensions'
complete -c code -l disable-gpu -d 'Disable GPU hardware acceleration'
complete -c code -l upload-logs -d 'Uploads logs from current session to a secure endpoint'
complete -c code -l max-memory -x -d 'Max memory size for a window (Mbytes)'

View File

@@ -1,4 +1,6 @@
complete -c command -s h -l help -d 'Display help and exit'
complete -c command -s s -l search -d 'Print the file that would be executed'
complete -c command -d "Command to run" -xa "(__fish_complete_subcommand)"
complete -c command -n 'test (count (commandline -opc)) -eq 1' -s h -l help -d 'Display help and exit'
complete -c command -n 'test (count (commandline -opc)) -eq 1' -s a -l all -d 'Print all external commands by the given name'
complete -c command -n 'test (count (commandline -opc)) -eq 1' -s q -l quiet -d 'Do not print anything, only set exit status'
complete -c command -n 'test (count (commandline -opc)) -eq 1' -s s -l search -d 'Print the file that would be executed'
complete -c command -n 'test (count (commandline -opc)) -eq 1' -s s -l search -d 'Print the file that would be executed'
complete -c command -xa "(__fish_complete_subcommand)"

Some files were not shown because too many files have changed in this diff Show More