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=(
'bin:Displays the location of the yarn bin folder'
'remove:Remove installed package from dependencies updating package.json'
'upgrade:Upgrades packages to their latest version based on the specified range'
'upgrade-interactive'
'upgrade-interactive:Interactively upgrade packages'
)
_yarn_commands_scripts() {
......@@ -81,9 +81,21 @@ _yarn_commands_scripts() {
}
_yarn_scripts() {
local -a 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'))
_describe 'script' scripts
local -a commands binaries scripts
local -a scriptNames scriptCommands
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() {
......@@ -240,7 +252,8 @@ _yarn() {
run)
_arguments \
'1: :_yarn_scripts'
'1: :_yarn_scripts' \
'*:: :_default'
;;
tag)
......@@ -255,6 +268,11 @@ _yarn() {
'*:: :->team_args'
;;
upgrade-interactive)
_arguments \
'--latest:use the version tagged latest in the registry:'
;;
version)
_arguments \
'--new-version:version:' \
......@@ -266,6 +284,10 @@ _yarn() {
_arguments \
'1:query:_files'
;;
*)
_default
;;
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