diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2021-12-18 17:46:06 -0600 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2021-12-18 17:46:06 -0600 |
commit | 1bc186dabe12b3d01b2257e82f3a104c48b8b3c7 (patch) | |
tree | 54576312318c406b6ce2a35423198fcc92c8bf71 /plugins/volta/_volta | |
parent | 2a977876c6e85847652f097cc128e4ed5bec147a (diff) | |
parent | 904f8685f75ff5dd3f544f8c6f2cabb8e5952e9a (diff) | |
download | zsh-1bc186dabe12b3d01b2257e82f3a104c48b8b3c7.tar.gz zsh-1bc186dabe12b3d01b2257e82f3a104c48b8b3c7.tar.bz2 zsh-1bc186dabe12b3d01b2257e82f3a104c48b8b3c7.zip |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'plugins/volta/_volta')
-rw-r--r-- | plugins/volta/_volta | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/plugins/volta/_volta b/plugins/volta/_volta new file mode 100644 index 000000000..295b80362 --- /dev/null +++ b/plugins/volta/_volta @@ -0,0 +1,298 @@ +#compdef volta + +autoload -U is-at-least + +_volta() { + typeset -A opt_args + typeset -a _arguments_options + local ret=1 + + if is-at-least 5.2; then + _arguments_options=(-s -S -C) + else + _arguments_options=(-s -C) + fi + + local context curcontext="$curcontext" state line + _arguments "${_arguments_options[@]}" \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +'-v[Prints the current version of Volta]' \ +'--version[Prints the current version of Volta]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +":: :_volta_commands" \ +"*::: :->Volta" \ +&& ret=0 + case $state in + (Volta) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:volta-command-$line[1]:" + case $line[1] in + (fetch) +_arguments "${_arguments_options[@]}" \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +':tool[@version] -- Tools to fetch, like `node`, `yarn@latest` or `your-package@^14.4.3`.:_files' \ +&& ret=0 +;; +(install) +_arguments "${_arguments_options[@]}" \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +':tool[@version] -- Tools to install, like `node`, `yarn@latest` or `your-package@^14.4.3`.:_files' \ +&& ret=0 +;; +(uninstall) +_arguments "${_arguments_options[@]}" \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +':tool -- The tool to uninstall, e.g. `node`, `npm`, `yarn`, or <package>:_files' \ +&& ret=0 +;; +(pin) +_arguments "${_arguments_options[@]}" \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +':tool[@version] -- Tools to pin, like `node@lts` or `yarn@^1.14`.:_files' \ +&& ret=0 +;; +(ls) +_arguments "${_arguments_options[@]}" \ +'--format=[Specify the output format]: :(human plain)' \ +'(-d --default)-c[Show the currently-active tool(s)]' \ +'(-d --default)--current[Show the currently-active tool(s)]' \ +'(-c --current)-d[Show your default tool(s).]' \ +'(-c --current)--default[Show your default tool(s).]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +'::tool -- The tool to lookup - `all`, `node`, `yarn`, or the name of a package or binary.:_files' \ +&& ret=0 +;; +(list) +_arguments "${_arguments_options[@]}" \ +'--format=[Specify the output format]: :(human plain)' \ +'(-d --default)-c[Show the currently-active tool(s)]' \ +'(-d --default)--current[Show the currently-active tool(s)]' \ +'(-c --current)-d[Show your default tool(s).]' \ +'(-c --current)--default[Show your default tool(s).]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +'::tool -- The tool to lookup - `all`, `node`, `yarn`, or the name of a package or binary.:_files' \ +&& ret=0 +;; +(completions) +_arguments "${_arguments_options[@]}" \ +'-o+[File to write generated completions to]' \ +'--output=[File to write generated completions to]' \ +'-f[Write over an existing file, if any.]' \ +'--force[Write over an existing file, if any.]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +':shell -- Shell to generate completions for:(zsh bash fish powershell elvish)' \ +&& ret=0 +;; +(which) +_arguments "${_arguments_options[@]}" \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +':binary -- The binary to find, e.g. `node` or `npm`:_files' \ +&& ret=0 +;; +(use) +_arguments "${_arguments_options[@]}" \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +'::anything:_files' \ +&& ret=0 +;; +(setup) +_arguments "${_arguments_options[@]}" \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +&& ret=0 +;; +(run) +_arguments "${_arguments_options[@]}" \ +'--node=[Set the custom Node version]' \ +'(--bundled-npm)--npm=[Set the custom npm version]' \ +'(--no-yarn)--yarn=[Set the custom Yarn version]' \ +'*--env=[Set an environment variable (can be used multiple times)]' \ +'(--npm)--bundled-npm[Forces npm to be the version bundled with Node]' \ +'(--yarn)--no-yarn[Disables Yarn]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +':command -- The command to run:_files' \ +'::args -- Arguments to pass to the command:_files' \ +&& ret=0 +;; +(help) +_arguments "${_arguments_options[@]}" \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'--verbose[Enables verbose diagnostics]' \ +'(--verbose)--quiet[Prevents unnecessary output]' \ +&& ret=0 +;; + esac + ;; +esac +} + +(( $+functions[_volta_commands] )) || +_volta_commands() { + local commands; commands=( + "fetch:Fetches a tool to the local machine" \ +"install:Installs a tool in your toolchain" \ +"uninstall:Uninstalls a tool from your toolchain" \ +"pin:Pins your project's runtime or package manager" \ +"list:Displays the current toolchain" \ +"completions:Generates Volta completions" \ +"which:Locates the actual binary that will be called by Volta" \ +"use:" \ +"setup:Enables Volta for the current user / shell" \ +"run:Run a command with custom Node, npm, and/or Yarn versions" \ +"help:Prints this message or the help of the given subcommand(s)" \ + ) + _describe -t commands 'volta commands' commands "$@" +} +(( $+functions[_volta__completions_commands] )) || +_volta__completions_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta completions commands' commands "$@" +} +(( $+functions[_volta__fetch_commands] )) || +_volta__fetch_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta fetch commands' commands "$@" +} +(( $+functions[_volta__help_commands] )) || +_volta__help_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta help commands' commands "$@" +} +(( $+functions[_volta__install_commands] )) || +_volta__install_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta install commands' commands "$@" +} +(( $+functions[_volta__list_commands] )) || +_volta__list_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta list commands' commands "$@" +} +(( $+functions[_ls_commands] )) || +_ls_commands() { + local commands; commands=( + + ) + _describe -t commands 'ls commands' commands "$@" +} +(( $+functions[_volta__ls_commands] )) || +_volta__ls_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta ls commands' commands "$@" +} +(( $+functions[_volta__pin_commands] )) || +_volta__pin_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta pin commands' commands "$@" +} +(( $+functions[_volta__run_commands] )) || +_volta__run_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta run commands' commands "$@" +} +(( $+functions[_volta__setup_commands] )) || +_volta__setup_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta setup commands' commands "$@" +} +(( $+functions[_volta__uninstall_commands] )) || +_volta__uninstall_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta uninstall commands' commands "$@" +} +(( $+functions[_volta__use_commands] )) || +_volta__use_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta use commands' commands "$@" +} +(( $+functions[_volta__which_commands] )) || +_volta__which_commands() { + local commands; commands=( + + ) + _describe -t commands 'volta which commands' commands "$@" +} + +_volta "$@"
\ No newline at end of file |