Commit c9841f43 authored by Marc Cornellà's avatar Marc Cornellà
Browse files

yarn: use zsh-completions latest version (87e1313)

Closes #7300
Closes #8115
Closes #8118
parent b09aed9c
...@@ -71,7 +71,7 @@ _global_commands=( ...@@ -71,7 +71,7 @@ _global_commands=(
'bin:Displays the location of the yarn bin folder' 'bin:Displays the location of the yarn bin folder'
'remove:Remove installed package from dependencies updating package.json' 'remove:Remove installed package from dependencies updating package.json'
'upgrade:Upgrades packages to their latest version based on the specified range' 'upgrade:Upgrades packages to their latest version based on the specified range'
'upgrade-interactive' 'upgrade-interactive:Interactively upgrade packages'
) )
_yarn_commands_scripts() { _yarn_commands_scripts() {
...@@ -81,9 +81,21 @@ _yarn_commands_scripts() { ...@@ -81,9 +81,21 @@ _yarn_commands_scripts() {
} }
_yarn_scripts() { _yarn_scripts() {
local -a scripts local -a commands binaries scripts
scripts=($(yarn run --json 2>/dev/null | sed -E '/Commands available|possibleCommands/!d;s/.*Commands available from binary scripts: ([^"]+)".*/\1/;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g' | tr , '\n' | sed -e 's/:/\\:/g')) local -a scriptNames scriptCommands
_describe 'script' scripts local i runJSON
runJSON=$(yarn run --json 2>/dev/null)
binaries=($(sed -E '/Commands available/!d;s/.*Commands available from binary scripts: ([^"]+)".*/\1/;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g;s/:/\\:/g;s/,/\n/g' <<< "$runJSON"))
scriptNames=($(sed -E '/possibleCommands/!d;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g;s/:/\\:/g;s/,/\n/g' <<< "$runJSON"))
scriptCommands=("${(@f)$(sed -E '/possibleCommands/!d;s/.*"hints":\{([^}]+)\}.*/\1/;s/"[^"]+"://g;s/:/\\:/g;s/","/\n/g;s/(^"|"$)//g' <<< "$runJSON")}")
for (( i=1; i <= $#scriptNames; i++ )); do
scripts+=("${scriptNames[$i]}:${scriptCommands[$i]}")
done
commands=($scripts $binaries)
_describe 'command' commands
} }
_yarn_global_commands() { _yarn_global_commands() {
...@@ -240,7 +252,8 @@ _yarn() { ...@@ -240,7 +252,8 @@ _yarn() {
run) run)
_arguments \ _arguments \
'1: :_yarn_scripts' '1: :_yarn_scripts' \
'*:: :_default'
;; ;;
tag) tag)
...@@ -255,6 +268,11 @@ _yarn() { ...@@ -255,6 +268,11 @@ _yarn() {
'*:: :->team_args' '*:: :->team_args'
;; ;;
upgrade-interactive)
_arguments \
'--latest:use the version tagged latest in the registry:'
;;
version) version)
_arguments \ _arguments \
'--new-version:version:' \ '--new-version:version:' \
...@@ -266,6 +284,10 @@ _yarn() { ...@@ -266,6 +284,10 @@ _yarn() {
_arguments \ _arguments \
'1:query:_files' '1:query:_files'
;; ;;
*)
_default
;;
esac esac
;; ;;
esac esac
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment