mirror of
https://github.com/yiisoft/yii2.git
synced 2026-02-20 00:32:19 +01:00
Fixes #15135: Automatic completion for help in bash and zsh
This commit is contained in:
committed by
Alexander Makarov
parent
10e7b1b541
commit
c5aac68382
@@ -15,6 +15,7 @@ _yii()
|
||||
local cur opts yii command
|
||||
COMPREPLY=()
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
yii="${COMP_WORDS[0]}"
|
||||
|
||||
# exit if ./yii does not exist
|
||||
@@ -31,9 +32,10 @@ _yii()
|
||||
[[ $cur == $command ]] && state="command"
|
||||
[[ $cur != $command ]] && state="option"
|
||||
[[ $cur = *=* ]] && state="value"
|
||||
[[ $prev == "help" ]] && state="help"
|
||||
|
||||
case $state in
|
||||
command)
|
||||
command|help)
|
||||
# complete command/route if not given
|
||||
# fetch available commands from ./yii help/list command
|
||||
opts=$($yii help/list 2> /dev/null)
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
_yii() {
|
||||
local state command lastArgument commands options executive
|
||||
lastArgument=${words[${#words[@]}]}
|
||||
prevArgument=${words[${#words[@]}-1]}
|
||||
executive=$words[1]
|
||||
|
||||
# lookup for command
|
||||
@@ -16,9 +17,10 @@ _yii() {
|
||||
|
||||
[[ $lastArgument == $command ]] && state="command"
|
||||
[[ $lastArgument != $command ]] && state="option"
|
||||
[[ $prevArgument == "help" ]] && state="help"
|
||||
|
||||
case $state in
|
||||
command)
|
||||
command|help)
|
||||
commands=("${(@f)$(${executive} help/list 2>/dev/null)}")
|
||||
_describe 'command' commands
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user