feat(fossil): add completion for fossil add (#8564)

Co-authored-by: Marc Cornellà <hello@mcornella.com>
This commit is contained in:
CGenie 2021-12-28 19:04:45 +01:00 committed by GitHub
parent 1d6553e631
commit 7df7d5b4f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 35 deletions

32
plugins/fossil/_fossil Normal file
View 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 "$@"

View file

@ -12,7 +12,7 @@ ZSH_THEME_FOSSIL_PROMPT_DIRTY=" %{$fg_bold[red]%}✖"
# Text to display if the branch is clean
ZSH_THEME_FOSSIL_PROMPT_CLEAN=" %{$fg_bold[green]%}✔"
function fossil_prompt_info () {
function fossil_prompt_info() {
local _OUTPUT=`fossil branch 2>&1`
local _STATUS=`echo $_OUTPUT | grep "use --repo"`
if [ "$_STATUS" = "" ]; then
@ -32,37 +32,6 @@ function fossil_prompt_info () {
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 () {
local current=`echo $PROMPT $RPROMPT | grep fossil`
@ -82,8 +51,5 @@ function _fossil_prompt () {
fi
}
compdef _fossil fossil
autoload -U add-zsh-hook
add-zsh-hook precmd _fossil_prompt