Merge pull request #989 from zsh-users/improve-flutter-subcommand
Implement flutter pub sub command completions
This commit is contained in:
commit
c156a2a548
309
src/_flutter
309
src/_flutter
|
@ -51,7 +51,7 @@ _flutter() {
|
||||||
'(--no-wrap --wrap)--wrap[Whether to use output word wrapping]' \
|
'(--no-wrap --wrap)--wrap[Whether to use output word wrapping]' \
|
||||||
'(--wrap --no-wrap)--no-wrap[Whether to use output word wrapping]' \
|
'(--wrap --no-wrap)--no-wrap[Whether to use output word wrapping]' \
|
||||||
'--wrap-column=[Set the output wrap column]:number:' \
|
'--wrap-column=[Set the output wrap column]:number:' \
|
||||||
'(-d --device-id)'{-d,--device-id}'[Target device id or name (prefixes allowed)]' \
|
'(-d --device-id)'{-d,--device-id}'[Target device id or name (prefixes allowed)]:id' \
|
||||||
'--version[Reports the version of this tool]' \
|
'--version[Reports the version of this tool]' \
|
||||||
'--machine[When used with the "--version" flag, outputs the information using JSON]' \
|
'--machine[When used with the "--version" flag, outputs the information using JSON]' \
|
||||||
'(--no-color --color)--color[Whether to use terminal colors]' \
|
'(--no-color --color)--color[Whether to use terminal colors]' \
|
||||||
|
@ -200,10 +200,7 @@ _flutter() {
|
||||||
&& ret=0
|
&& ret=0
|
||||||
;;
|
;;
|
||||||
(custom-devices)
|
(custom-devices)
|
||||||
_arguments \
|
_flutter_custom_devices && ret=0
|
||||||
'1: :_flutter_custom_devices_subcommands' \
|
|
||||||
'(- *)'{-h,--help}'[Print this usage information]' \
|
|
||||||
&& ret=0
|
|
||||||
;;
|
;;
|
||||||
(daemon)
|
(daemon)
|
||||||
_arguments \
|
_arguments \
|
||||||
|
@ -384,10 +381,7 @@ _flutter() {
|
||||||
&& ret=0
|
&& ret=0
|
||||||
;;
|
;;
|
||||||
(pub)
|
(pub)
|
||||||
_arguments \
|
_flutter_pub && ret=0
|
||||||
'1: :_flutter_pub_subcommands' \
|
|
||||||
'(- *)'{-h,--help}'[Print this usage information]' \
|
|
||||||
&& ret=0
|
|
||||||
;;
|
;;
|
||||||
(run)
|
(run)
|
||||||
_arguments \
|
_arguments \
|
||||||
|
@ -567,6 +561,37 @@ _flutter_build_entities() {
|
||||||
_describe -t entities 'entity' entities "$@"
|
_describe -t entities 'entity' entities "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(( $+functions[_flutter_custom_devices] )) ||
|
||||||
|
_flutter_custom_devices() {
|
||||||
|
local ret=0
|
||||||
|
_arguments -C \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'1: :_flutter_custom_devices_subcommands' \
|
||||||
|
'*:: :->args' \
|
||||||
|
&& ret=0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(args)
|
||||||
|
case $words[1] in
|
||||||
|
(add)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--check[Make sure the config actually works]' \
|
||||||
|
'--json=[Add the custom device described by this JSON encoded string]:json' \
|
||||||
|
'--ssh[Add a ssh-device]' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
&& ret=0
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
(( $+functions[_flutter_custom_devices_subcommands] )) ||
|
(( $+functions[_flutter_custom_devices_subcommands] )) ||
|
||||||
_flutter_custom_devices_subcommands() {
|
_flutter_custom_devices_subcommands() {
|
||||||
local -a subcmds=(
|
local -a subcmds=(
|
||||||
|
@ -615,6 +640,122 @@ _flutter_android_languages() {
|
||||||
_describe -t languages 'language' languages "$@"
|
_describe -t languages 'language' languages "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(( $+functions[_flutter_pub] )) ||
|
||||||
|
_flutter_pub() {
|
||||||
|
local ret=0
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'1: :_flutter_pub_subcommands' \
|
||||||
|
'*:: :->arg' \
|
||||||
|
&& ret=0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(arg)
|
||||||
|
case $words[1] in
|
||||||
|
(add|remove)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--offline[Use cached packages instead of accessing the network]' \
|
||||||
|
'(-n --dry-run)'{-n,--dry-run}'[Report what dependencies would change but do not change any]' \
|
||||||
|
'--precompile[Build executables in immediate dependencies]' \
|
||||||
|
'(-C --directory)'{-C,--directory=}'[Run this in the given directory]:dir:_files -/' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(cache)
|
||||||
|
_flutter_pub_cache && ret=0
|
||||||
|
;;
|
||||||
|
(deps)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'(-s --style)'{-s,--style=}'[How output should be displayed]:style:(tree list compact)' \
|
||||||
|
'(--no-dev)--dev[Include dev dependencies]' \
|
||||||
|
'(--dev)--no-dev[Not include dev dependencies]' \
|
||||||
|
'--executables[List all available executables]' \
|
||||||
|
'--json[Output dependency information in a json format]' \
|
||||||
|
'(-C --directory)'{-C,--directory=}'[Run this in the given directory]:dir:_files -/' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(downgrade)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--offline[Use cached packages instead of accessing the network]' \
|
||||||
|
'(-n --dry-run)'{-n,--dry-run}'[Report what dependencies would change but do not change any]' \
|
||||||
|
'(-C --directory)'{-C,--directory=}'[Run this in the given directory]:dir:_files -/' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(get)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--offline[Use cached packages instead of accessing the network]' \
|
||||||
|
'(-n --dry-run)'{-n,--dry-run}'[Report what dependencies would change but do not change any]' \
|
||||||
|
'--enforce-lockfile[Enforce pubspec.lock]' \
|
||||||
|
'--precompile[Build executables in immediate dependencies]' \
|
||||||
|
'(-C --directory)'{-C,--directory=}'[Run this in the given directory]:dir:_files -/' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(global)
|
||||||
|
_flutter_pub_global && ret=0
|
||||||
|
;;
|
||||||
|
(outdated)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'(--no-dependency-overrides)--dependency-overrides[Show resolution with `dependency_overrides`]' \
|
||||||
|
'(--dependency-overrides)--no-dependency-overrides[Not show resolution with `dependency_overrides`]' \
|
||||||
|
'(--no-dev-dependencies)--dev-dependencies[Take the dependencies into account]' \
|
||||||
|
'(--dev-dependencies)--no-dev-dependencies[Not take the dependencies into account]' \
|
||||||
|
'--json[Output the results using a json format]' \
|
||||||
|
'--mode=[Highlight versions with PROPERTY]:property:(null-safety)' \
|
||||||
|
'(--no-prereleases)--prereleases[Include prereleases in latest version]' \
|
||||||
|
'(--prereleases)--no-prereleases[Not include prereleases in latest version]' \
|
||||||
|
'--show-all[Include dependencies that are already fulfilling --mode]' \
|
||||||
|
'--transitive[Show transitive dependencies]' \
|
||||||
|
'(-C --directory)'{-C,--directory=}'[Run this in the given directory]:dir:_files -/' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(publish)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'(-n --dry-run)'{-n,--dry-run}'[Report what dependencies would change but do not change any]' \
|
||||||
|
'(-f --force)'{-f,--force}'[Publish without confirmation if there are no errors]' \
|
||||||
|
'(-C --directory)'{-C,--directory=}'[Run this in the given directory]:dir:_files -/' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(run)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--enable-asserts[Enable assert statements]' \
|
||||||
|
'--enable-experiment=[Run the executable in a VM with the given experiments enabled]:experiment' \
|
||||||
|
'(--no-sound-null-safety)--sound-null-safety[Enable the null safety execution mode]' \
|
||||||
|
'(--sound-null-safety)--no-sound-null-safety[Disable the null safety execution mode]' \
|
||||||
|
'(-C --directory)'{-C,--directory=}'[Run this in the given directory]:dir:_files -/' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(token)
|
||||||
|
_flutter_pub_token && ret=0
|
||||||
|
;;
|
||||||
|
(run)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--offline[Use cached packages instead of accessing the network]' \
|
||||||
|
'(-n --dry-run)'{-n,--dry-run}'[Report what dependencies would change but do not change any]' \
|
||||||
|
'--precompile[Build executables in immediate dependencies]' \
|
||||||
|
'--null-safety[Upgrade constraints in pubspec.yaml to null-safety versions]' \
|
||||||
|
'--major-versions[Upgrades packages to their latest resolvable versions]' \
|
||||||
|
'(-C --directory)'{-C,--directory=}'[Run this in the given directory]:dir:_files -/' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
&& ret=0
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
(( $+functions[_flutter_pub_subcommands] )) ||
|
(( $+functions[_flutter_pub_subcommands] )) ||
|
||||||
_flutter_pub_subcommands() {
|
_flutter_pub_subcommands() {
|
||||||
local -a subcommands=(
|
local -a subcommands=(
|
||||||
|
@ -640,6 +781,156 @@ _flutter_pub_subcommands() {
|
||||||
_describe -t subcommands 'subcommand' subcommands "$@"
|
_describe -t subcommands 'subcommand' subcommands "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(( $+functions[_flutter_pub_cache] )) ||
|
||||||
|
_flutter_pub_cache() {
|
||||||
|
local ret=0
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'1: :_flutter_pub_cache_subcommand' \
|
||||||
|
'*:: :->arg' \
|
||||||
|
&& ret=0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(arg)
|
||||||
|
case $words[1] in
|
||||||
|
(add)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--all[Install all matching versions]'\
|
||||||
|
'(-v --version)'{-v,--version}'[Version constraint]:version' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(clean)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'(-f --force)'{f,--force}'[Do not ask for confirmation]' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(repair)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_flutter_pub_cache_subcommand] )) ||
|
||||||
|
_flutter_pub_cache_subcommand() {
|
||||||
|
local -a subcommands=(
|
||||||
|
"add:Install a package"
|
||||||
|
"clean:Clears the global PUB_CACHE"
|
||||||
|
"repair:Reinstall cached packages"
|
||||||
|
)
|
||||||
|
_describe -t subcommands 'subcommand' subcommands "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_flutter_pub_global] )) ||
|
||||||
|
_flutter_pub_global() {
|
||||||
|
local ret=0
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'1: :_flutter_pub_global_subcommand' \
|
||||||
|
'*:: :->arg' \
|
||||||
|
&& ret=0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(arg)
|
||||||
|
case $words[1] in
|
||||||
|
(activate)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'(-s --source)'{-s,--source}'[The source used to find the package]:source:(git hosted path)' \
|
||||||
|
'--git-path[Path of git package in repository]:path' \
|
||||||
|
'--git-ref[Git branch or commit to bbe retrieved]:ref' \
|
||||||
|
'(-x --executable)--no-executables[Do not put executables on PATH]' \
|
||||||
|
'(--no-executables)'{-x,--executable}'[Executables to place on PATH]' \
|
||||||
|
'--overwrite[Overwrite executables from other packages with the same name]' \
|
||||||
|
'(-u --hosted-url)'{-u,--hosted-url}'[A custom pub server URL for the package]:URL' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(run)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--enable-asserts[Enable assert statements]' \
|
||||||
|
'--enable-experiment=[Run the executable in a VM with the given experiments enabled]' \
|
||||||
|
'(--no-sound-null-safety)--sound-null-safety[Enable the null safety execution mode]' \
|
||||||
|
'(--sound-null-safety)--no-sound-null-safety[Disable the null safety execution mode]' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
&& ret=0
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_flutter_pub_global_subcommand] )) ||
|
||||||
|
_flutter_pub_global_subcommand() {
|
||||||
|
local -a subcommands=(
|
||||||
|
"activate:Make a package's executables globally available"
|
||||||
|
"deactivate:Remove a previously activated package"
|
||||||
|
"list:List globally activated packages"
|
||||||
|
"run:Run an executable from a globally activated package"
|
||||||
|
)
|
||||||
|
_describe -t subcommands 'subcommand' subcommands "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_flutter_pub_token] )) ||
|
||||||
|
_flutter_pub_token() {
|
||||||
|
local ret=0
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'1: :_flutter_pub_token_subcommand' \
|
||||||
|
'*:: :->arg' \
|
||||||
|
&& ret=0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(arg)
|
||||||
|
case $words[1] in
|
||||||
|
(activate)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--env-var[Read the secret token from this environment variable when making requests]:env' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(remove)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
'--all[Remove all secret tokens]' \
|
||||||
|
&& ret=0
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
_arguments \
|
||||||
|
'(- *)'{-h,--help}'[Print this usage information]' \
|
||||||
|
&& ret=0
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[_flutter_pub_token_subcommand] )) ||
|
||||||
|
_flutter_pub_token_subcommand() {
|
||||||
|
local -a subcommands=(
|
||||||
|
"add:Add authentication tokens for a package repository"
|
||||||
|
"list:List servers for which a token exists"
|
||||||
|
"remove:Remove secret token for package repository"
|
||||||
|
)
|
||||||
|
_describe -t subcommands 'subcommand' subcommands "$@"
|
||||||
|
}
|
||||||
|
|
||||||
_flutter "$@"
|
_flutter "$@"
|
||||||
|
|
||||||
# Local Variables:
|
# Local Variables:
|
||||||
|
|
Loading…
Reference in New Issue