mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-12 08:50:08 +00:00
feat(fossil): add completion for fossil add
(#8564)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
This commit is contained in:
parent
1d6553e631
commit
7df7d5b4f1
2 changed files with 33 additions and 35 deletions
32
plugins/fossil/_fossil
Normal file
32
plugins/fossil/_fossil
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#compdef fossil
|
||||||
|
|
||||||
|
function _fossil_get_command_list () {
|
||||||
|
fossil help -a | grep -v "Usage|Common|This is"
|
||||||
|
}
|
||||||
|
|
||||||
|
function _fossil () {
|
||||||
|
local context state state_descr line
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_arguments \
|
||||||
|
'1: :->command'\
|
||||||
|
'2: :->subcommand'
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
command)
|
||||||
|
local _OUTPUT=$(fossil branch 2>&1 | grep "use --repo")
|
||||||
|
if [[ -z "$_OUTPUT" ]]; then
|
||||||
|
compadd "$(_fossil_get_command_list)"
|
||||||
|
else
|
||||||
|
compadd clone init import help version
|
||||||
|
fi ;;
|
||||||
|
subcommand)
|
||||||
|
case "$words[2]" in
|
||||||
|
help) compadd "$(_fossil_get_command_list)" ;;
|
||||||
|
add) compadd "$(fossil extra)" ;;
|
||||||
|
*) compcall -D ;;
|
||||||
|
esac ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
_fossil "$@"
|
|
@ -12,7 +12,7 @@ ZSH_THEME_FOSSIL_PROMPT_DIRTY=" %{$fg_bold[red]%}✖"
|
||||||
# Text to display if the branch is clean
|
# Text to display if the branch is clean
|
||||||
ZSH_THEME_FOSSIL_PROMPT_CLEAN=" %{$fg_bold[green]%}✔"
|
ZSH_THEME_FOSSIL_PROMPT_CLEAN=" %{$fg_bold[green]%}✔"
|
||||||
|
|
||||||
function fossil_prompt_info () {
|
function fossil_prompt_info() {
|
||||||
local _OUTPUT=`fossil branch 2>&1`
|
local _OUTPUT=`fossil branch 2>&1`
|
||||||
local _STATUS=`echo $_OUTPUT | grep "use --repo"`
|
local _STATUS=`echo $_OUTPUT | grep "use --repo"`
|
||||||
if [ "$_STATUS" = "" ]; then
|
if [ "$_STATUS" = "" ]; then
|
||||||
|
@ -32,37 +32,6 @@ function fossil_prompt_info () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function _fossil_get_command_list () {
|
|
||||||
fossil help -a | grep -v "Usage|Common|This is"
|
|
||||||
}
|
|
||||||
|
|
||||||
function _fossil () {
|
|
||||||
local context state state_descr line
|
|
||||||
typeset -A opt_args
|
|
||||||
|
|
||||||
_arguments \
|
|
||||||
'1: :->command'\
|
|
||||||
'2: :->subcommand'
|
|
||||||
|
|
||||||
case $state in
|
|
||||||
command)
|
|
||||||
local _OUTPUT=`fossil branch 2>&1 | grep "use --repo"`
|
|
||||||
if [ "$_OUTPUT" = "" ]; then
|
|
||||||
compadd `_fossil_get_command_list`
|
|
||||||
else
|
|
||||||
compadd clone init import help version
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
subcommand)
|
|
||||||
if [ "$words[2]" = "help" ]; then
|
|
||||||
compadd `_fossil_get_command_list`
|
|
||||||
else
|
|
||||||
compcall -D
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
function _fossil_prompt () {
|
function _fossil_prompt () {
|
||||||
local current=`echo $PROMPT $RPROMPT | grep fossil`
|
local current=`echo $PROMPT $RPROMPT | grep fossil`
|
||||||
|
|
||||||
|
@ -82,8 +51,5 @@ function _fossil_prompt () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
compdef _fossil fossil
|
|
||||||
|
|
||||||
autoload -U add-zsh-hook
|
autoload -U add-zsh-hook
|
||||||
|
|
||||||
add-zsh-hook precmd _fossil_prompt
|
add-zsh-hook precmd _fossil_prompt
|
||||||
|
|
Loading…
Reference in a new issue