Adding upstream version 0.16.7.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
50453fb690
commit
e4b3680961
15 changed files with 737 additions and 81 deletions
473
auto-completion/zsh/_gita
Normal file
473
auto-completion/zsh/_gita
Normal file
|
@ -0,0 +1,473 @@
|
|||
#compdef gita
|
||||
|
||||
__gita_get_repos() {
|
||||
local -a repositories
|
||||
repositories=($(_call_program commands gita ls))
|
||||
_describe -t repositories 'gita repositories' repositories
|
||||
}
|
||||
|
||||
__gita_get_context() {
|
||||
local -a context
|
||||
context=(
|
||||
"auto"
|
||||
"none"
|
||||
)
|
||||
_describe -t context 'gita context' context
|
||||
__gita_get_groups
|
||||
}
|
||||
|
||||
__gita_get_infos() {
|
||||
local -a all_infos infos_in_used infos_unused
|
||||
all_infos=($(_call_program commands gita info ll | cut -d ":" -f2))
|
||||
infos_in_used=($(echo ${all_infos[1]} | tr ',' ' '))
|
||||
infos_unused=($(echo ${all_infos[2]} | tr ',' ' '))
|
||||
_describe -t infos_used 'gita infos in used' infos_in_used
|
||||
_describe -t infos_unused 'gita infos unused' infos_unused
|
||||
}
|
||||
|
||||
__gita_get_groups() {
|
||||
local -a groups
|
||||
|
||||
groups=($(_call_program commands gita group ls))
|
||||
_describe -t groups 'gita groups' groups
|
||||
}
|
||||
|
||||
__gita_commands() {
|
||||
local -a commands
|
||||
commands=(
|
||||
'add:Add repo(s)'
|
||||
'rm:remove repo(s)'
|
||||
'freeze:Print all repo information'
|
||||
'clone:Clone repos'
|
||||
'rename:Rename a repo'
|
||||
'flags:Git flags configuration'
|
||||
'color:Color configuration'
|
||||
'info:Information setting'
|
||||
'll:Display summary of all repos'
|
||||
'context:Set context'
|
||||
'ls:Show repo(s) or repo path'
|
||||
'group:Group repos'
|
||||
'super:Run any git command/alias'
|
||||
'shell:Run any shell command'
|
||||
'clear:Removes all groups and repositories'
|
||||
)
|
||||
_describe -t commands 'gita sub-commands' commands
|
||||
}
|
||||
|
||||
# FUNCTION: _gita_add [[[
|
||||
_gita_add() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'(-g --group)'{-g=,--group=}'[add repo(s) to the specified group]:Gita groups:__gita_get_groups' \
|
||||
'(-s --skip-modules)'{-s,--skip-modules}'[skip submodule repo(s)]' \
|
||||
'(-r --recursive)'{-r,--recursive}'[recursively add repo(s) in the given path(s)]' \
|
||||
'(-a --auto-group)'{-a,--auto-group}'[recursively add repo(s) in the given path(s) and create hierarchical groups based on folder structure]' \
|
||||
'(-b --bare)'{-b,--bare}'[add bare repo(s)]' \
|
||||
"(-h --help -)*:Directories:_directories"
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_rm [[[
|
||||
_gita_rm() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
"(-h --help -)*:gita repositories:__gita_get_repos" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_freeze [[[
|
||||
_gita_freeze() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
'(-g --group)'{-g=,--group=}'[freeze repos in the specified group]:Gita groups:__gita_get_groups' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_clone [[[
|
||||
_gita_clone() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
'(-C --directory)'{-C=,--directory=}'[ Change to DIRECTORY before doing anything]:Directories:_directories' \
|
||||
'(-p --preserve-path)'{-p,--preserve-path}'[clone repo(s) in their original paths]' \
|
||||
'(-n --dry-run)'{-n,--dry-run}'[dry run]' \
|
||||
'(-g --group)'{-g=,--group=}'[If set, add repo to the specified group after cloning, otherwise add to gita without group]:Gita groups:__gita_get_groups' \
|
||||
'(-f --from-file)'{-f=,--from-file=}'[ If set, clone repos in a config file rendered from `gita freeze`]:File:_path_files' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_rename [[[
|
||||
_gita_rename() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
"(-h --help -):Gita repositories:__gita_get_repos" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_flags_commands[[[
|
||||
_gita_flags_commands() {
|
||||
|
||||
local -a subcommands
|
||||
subcommands=(
|
||||
'll:Display repos with custom flags'
|
||||
'set:Set flags for repo'
|
||||
)
|
||||
_describe -t subcommands 'gita flag sub-commands' subcommands
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_flags_ll [[[
|
||||
_gita_flags_ll() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_flags_set [[[
|
||||
_gita_flags_set() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
"(-h --help -):Gita repositories:__gita_get_repos" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_flags[[[
|
||||
_gita_flags() {
|
||||
local curcontext="$curcontext" state state_descr line expl
|
||||
local tmp ret=1
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]'
|
||||
|
||||
_arguments -C \
|
||||
"1: :->cmds" \
|
||||
"*::arg:->args"
|
||||
case "$state" in
|
||||
cmds)
|
||||
_gita_flags_commands && return 0
|
||||
;;
|
||||
args)
|
||||
local cmd="${line[1]}"
|
||||
curcontext="${curcontext%:*}-${cmd}:${curcontext##*:}"
|
||||
local completion_func="_gita_flags_${cmd//-/_}"
|
||||
_call_function ret "${completion_func}" && return ret
|
||||
_message "a completion function is not defined for command or alias: ${cmd}"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_color_commands[[[
|
||||
_gita_color_commands() {
|
||||
|
||||
local -a subcommands
|
||||
subcommands=(
|
||||
'll:Display available colors and the current branch coloring in the ll sub-command'
|
||||
'set:Set color for local/remote situation'
|
||||
'reset:Reset color scheme'
|
||||
)
|
||||
_describe -t subcommands 'gita color sub-commands' subcommands
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_color_ll [[[
|
||||
_gita_color_ll() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_color_set [[[
|
||||
_gita_color_set() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_color_reset [[[
|
||||
_gita_color_reset() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_color[[[
|
||||
_gita_color() {
|
||||
local curcontext="$curcontext" state state_descr line expl
|
||||
local tmp ret=1
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]'
|
||||
|
||||
_arguments -C \
|
||||
"1: :->cmds" \
|
||||
"*::arg:->args"
|
||||
case "$state" in
|
||||
cmds)
|
||||
_gita_color_commands && return 0
|
||||
;;
|
||||
args)
|
||||
local cmd="${line[1]}"
|
||||
curcontext="${curcontext%:*}-${cmd}:${curcontext##*:}"
|
||||
local completion_func="_gita_color_${cmd//-/_}"
|
||||
_call_function ret "${completion_func}" && return ret
|
||||
_message "a completion function is not defined for command or alias: ${cmd}"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_info_commands[[[
|
||||
_gita_info_commands() {
|
||||
|
||||
local -a subcommands
|
||||
subcommands=(
|
||||
'll:Show used and unused information items of the ll sub-command'
|
||||
'add:Enable information item'
|
||||
'rm:Disable information item'
|
||||
)
|
||||
_describe -t subcommands 'gita info sub-commands' subcommands
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_info_ll [[[
|
||||
_gita_info_ll() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_info_add [[[
|
||||
_gita_info_add() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
"(-h --help -):Gita infos:__gita_get_infos" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_info_rm [[[
|
||||
_gita_info_rm() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
"(-h --help -):Gita infos:__gita_get_infos" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_info[[[
|
||||
_gita_info() {
|
||||
local curcontext="$curcontext" state state_descr line expl
|
||||
local tmp ret=1
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]'
|
||||
|
||||
_arguments -C \
|
||||
"1: :->cmds" \
|
||||
"*::arg:->args"
|
||||
case "$state" in
|
||||
cmds)
|
||||
_gita_info_commands && return 0
|
||||
;;
|
||||
args)
|
||||
local cmd="${line[1]}"
|
||||
curcontext="${curcontext%:*}-${cmd}:${curcontext##*:}"
|
||||
local completion_func="_gita_info_${cmd//-/_}"
|
||||
_call_function ret "${completion_func}" && return ret
|
||||
_message "a completion function is not defined for command or alias: ${cmd}"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_ll [[[
|
||||
_gita_ll() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
'(-C --no-colors)'{-C,--no-colors}'[Disable coloring on the branch names]' \
|
||||
'(-g)'-g'[Show repo summaries by group]' \
|
||||
"(-h --help -):Groups name:__gita_get_groups" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_context [[[
|
||||
_gita_context() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
"(-h --help -):Gita context:__gita_get_context" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_ls [[[
|
||||
_gita_ls() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
"(-h --help -):Gita repositories:__gita_get_repos" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_group_commands[[[
|
||||
_gita_group_commands() {
|
||||
|
||||
local -a subcommands
|
||||
subcommands=(
|
||||
'll:List all groups with repos.'
|
||||
'ls:List all group names'
|
||||
'add:Add repo(s) to a group'
|
||||
'rmrepo:remove repo(s) from a group'
|
||||
'rename:Change group name'
|
||||
'rm:Remove group(s)'
|
||||
)
|
||||
_describe -t subcommands 'gita group sub-commands' subcommands
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_group_ll [[[
|
||||
_gita_group_ll() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
"(-h --help -):Groups name:__gita_get_groups" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_group_ls [[[
|
||||
_gita_group_ls() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_group_add [[[
|
||||
_gita_group_add() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
'(-n --name)'{-n=,--name=}'[group-name,]:Groups name:__gita_get_groups' \
|
||||
'(-p --path)'{-p=,--path=}'[group-path]:Group path:_directories' \
|
||||
"(-h --help -)*:Gita repositories:__gita_get_repos" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_group_rmrepo [[[
|
||||
_gita_group_rmrepo() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
'(-n --name)'{-n=,--name=}'[group-name,]:Groups name:__gita_get_groups' \
|
||||
"(-h --help -)*:Gita repositories:__gita_get_repos" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_group_rename [[[
|
||||
_gita_group_rename() {
|
||||
_arguments -A \
|
||||
'(-h --help -)'{-h,--help}'[show this help message and exit]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_group_rm [[[
|
||||
_gita_group_rm() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
"(-h --help -)*:Groups name:__gita_get_groups" &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_group[[[
|
||||
_gita_group() {
|
||||
local curcontext="$curcontext" state state_descr line expl
|
||||
local tmp ret=1
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]'
|
||||
|
||||
_arguments -C \
|
||||
"1: :->cmds" \
|
||||
"*::arg:->args"
|
||||
case "$state" in
|
||||
cmds)
|
||||
_gita_group_commands && return 0
|
||||
;;
|
||||
args)
|
||||
local cmd="${line[1]}"
|
||||
curcontext="${curcontext%:*}-${cmd}:${curcontext##*:}"
|
||||
local completion_func="_gita_group_${cmd//-/_}"
|
||||
_call_function ret "${completion_func}" && return ret
|
||||
_message "a completion function is not defined for command or alias: ${cmd}"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_super [[[
|
||||
_gita_super() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
'(-q --quote-mode)'{-q,--quote-mode}'[use quote mode]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_shell [[[
|
||||
_gita_shell() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
'(-q --quote-mode)'{-q,--quote-mode}'[use quote mode]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita_clear [[[
|
||||
_gita_clear() {
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' &&
|
||||
ret=0
|
||||
}
|
||||
#]]]
|
||||
|
||||
# FUNCTION: _gita [[[
|
||||
_gita() {
|
||||
local curcontext="$curcontext" state state_descr line expl
|
||||
local tmp ret=1
|
||||
_arguments -A \
|
||||
'(-h --help)'{-h,--help}'[show this help message and exit]' \
|
||||
'(-v --version)'{-v,--version}'[show program'\''s version number and exit]'
|
||||
|
||||
_arguments -C \
|
||||
"1: :->cmds" \
|
||||
"*::arg:->args"
|
||||
case "$state" in
|
||||
cmds)
|
||||
__gita_commands && return 0
|
||||
;;
|
||||
args)
|
||||
local cmd="${line[1]}"
|
||||
curcontext="${curcontext%:*}-${cmd}:${curcontext##*:}"
|
||||
local completion_func="_gita_${cmd//-/_}"
|
||||
_call_function ret "${completion_func}" && return ret
|
||||
_message "a completion function is not defined for command or alias: ${cmd}"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
} # ]]]
|
||||
|
||||
_gita "$@"
|
Loading…
Add table
Add a link
Reference in a new issue