88 lines
2.6 KiB
Bash
88 lines
2.6 KiB
Bash
# Monodevelop completion
|
|
|
|
have monodevelop &&
|
|
_monodevelop()
|
|
{
|
|
local cur prev words cword split
|
|
_init_completion -s || return
|
|
|
|
$split && return
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $( compgen -W '$( _parse_help "$1" -h )' -- "$cur" ) )
|
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
|
else
|
|
_filedir
|
|
fi
|
|
return 0
|
|
} &&
|
|
complete -F _monodevelop monodevelop
|
|
|
|
have mdtool &&
|
|
_mdtool()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion || return
|
|
|
|
local command i
|
|
|
|
for (( i=0; i < ${#words[@]}-1; i++ )); do
|
|
if [[ ${words[i]} == @(build|generate-makefiles|setup) ]]; then
|
|
command=${words[i]}
|
|
fi
|
|
done
|
|
|
|
if [[ -n "$command" ]]; then
|
|
case $command in
|
|
"build")
|
|
COMPREPLY=( $( compgen -W '--f --buildfile --p --project' \
|
|
-S":" -- "$cur" ) )
|
|
# TODO: This does not work :(
|
|
#if [[ "$prev" == *: ]]; then
|
|
# case $prev in
|
|
# @(--p:|--project:))
|
|
# COMPREPLY=( $( compgen -f -G "*.mdp" -- "$cur" ) )
|
|
# ;;
|
|
# @(--f:|--buildfile:))
|
|
# COMPREPLY=( $( compgen -f -G "*.mdp" -G "*.mds" -- "$cur" ) )
|
|
# ;;
|
|
# esac
|
|
#fi
|
|
return 0
|
|
;;
|
|
"generate-makefiles")
|
|
compopt -o filenames
|
|
COMPREPLY=( $( compgen -o filenames -G"*.mds" -- "$cur" ) )
|
|
if [[ "$prev" == *mds ]]; then
|
|
COMPREPLY=( $( compgen -W '--simple-makefiles --s --d:' \
|
|
-- "$cur" ) )
|
|
fi
|
|
return 0
|
|
;;
|
|
"setup")
|
|
# TODO: at least return filenames after these options.
|
|
COMPREPLY=( $( compgen -W 'install i uninstall u check-install \
|
|
ci update up list l list-av la list-update lu rep-add ra \
|
|
rep-remove rr rep-update ru rep-list rl reg-update \
|
|
reg-build rgu info rep-build rb pack p help h dump-file' \
|
|
-- "$cur" ) )
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
COMPREPLY=( $( compgen -W 'gsetup build dbgen project-export \
|
|
generate-makefiles gettext-update setup -q' -- "$cur" ) )
|
|
|
|
return 0
|
|
} &&
|
|
complete -F _mdtool mdtool
|
|
|
|
# Local variables:
|
|
# mode: shell-script
|
|
# sh-basic-offset: 4
|
|
# sh-indent-comment: t
|
|
# indent-tabs-mode: nil
|
|
# End:
|
|
# ex: ts=4 sw=4 et filetype=sh
|