mirror of
https://github.com/yiisoft/yii2.git
synced 2026-02-20 00:32:19 +01:00
Added ZSH completion, moved scripts to a separate directory
This commit is contained in:
committed by
Carsten Brandt
parent
beb140446b
commit
4454d05410
32
contrib/completion/bash/yii
Normal file
32
contrib/completion/bash/yii
Normal file
@@ -0,0 +1,32 @@
|
||||
# This file implements bash completion for the ./yii command file.
|
||||
# It completes the commands available by the ./yii command.
|
||||
# See also:
|
||||
# - https://debian-administration.org/article/317/An_introduction_to_bash_completion_part_2 on how this works.
|
||||
# - https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html
|
||||
# - http://www.yiiframework.com/doc-2.0/guide-tutorial-console.html#bash-completion
|
||||
#
|
||||
# Usage:
|
||||
# Temporarily you can source this file in you bash by typing: source yii.bash-completion
|
||||
# For permanent availability, copy or link this file to /etc/bash_completion.d/
|
||||
#
|
||||
|
||||
_yii()
|
||||
{
|
||||
local cur opts yii
|
||||
COMPREPLY=()
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
yii="${COMP_WORDS[0]}"
|
||||
|
||||
# only complete first argument
|
||||
if [[ COMP_CWORD -eq 1 ]] ; then
|
||||
# fetch available commands from ./yii help/list command
|
||||
opts=$($yii help/list)
|
||||
# generate completion suggestions
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
# register completion for the ./yii command
|
||||
# you may adjust this line if your command file is named differently
|
||||
complete -F _yii ./yii
|
||||
38
contrib/completion/zsh/_yii
Normal file
38
contrib/completion/zsh/_yii
Normal file
@@ -0,0 +1,38 @@
|
||||
#compdef yii
|
||||
|
||||
_yii() {
|
||||
local state command lastArgument commands options executive
|
||||
lastArgument=${words[${#words[@]}]}
|
||||
executive=$words[1]
|
||||
|
||||
# lookup for command
|
||||
for word in ${words[@]:1}; do
|
||||
if [[ $word != -* ]]; then
|
||||
command=$word
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
[[ $lastArgument == $command ]] && state="command"
|
||||
[[ $lastArgument != $command ]] && state="option"
|
||||
|
||||
case $state in
|
||||
command)
|
||||
commands=("${(@f)$(${executive} help/list 2>/dev/null)}")
|
||||
_describe 'command' commands
|
||||
;;
|
||||
option)
|
||||
options=("${(@f)$(${executive} help/usage ${command} 2>/dev/null)}")
|
||||
_message -r "$options"
|
||||
|
||||
suboptions=("${(@f)$(${executive} help/list-action-options ${command} 2>/dev/null)}")
|
||||
_describe -V -o -t suboption 'action options' suboptions
|
||||
;;
|
||||
*)
|
||||
esac
|
||||
|
||||
}
|
||||
|
||||
compdef _yii yii
|
||||
|
||||
Reference in New Issue
Block a user