summaryrefslogtreecommitdiffstats
path: root/completions/svk
diff options
context:
space:
mode:
Diffstat (limited to 'completions/svk')
-rw-r--r--completions/svk214
1 files changed, 214 insertions, 0 deletions
diff --git a/completions/svk b/completions/svk
new file mode 100644
index 0000000..9079df1
--- /dev/null
+++ b/completions/svk
@@ -0,0 +1,214 @@
+# svk(1) completion -*- shell-script -*-
+
+_svk()
+{
+ local cur prev words cword
+ _init_completion || return
+
+ local commands options command
+
+ commands='add admin annotate ann blame praise cat checkout co cleanup
+ cmerge cm commit ci copy cp delete del remove rm depotmap depot
+ describe desc diff di help h ? import info list ls log merge mirror mi
+ mkdir move mv ren rename patch propdel pd pdel propedit pe pedit
+ propget pg pget proplist pl plist propset ps pset pull push resolved
+ revert smerge sm status st stat switch sw sync sy update up verify'
+
+ if ((cword == 1)); then
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '--version' -- "$cur"))
+ else
+ COMPREPLY=($(compgen -W "$commands" -- "$cur"))
+ fi
+ else
+ case $prev in
+ -F | --file | --targets)
+ _filedir
+ return
+ ;;
+ --encoding)
+ _xfunc iconv _iconv_charsets
+ return
+ ;;
+ esac
+
+ command=${words[1]}
+
+ if [[ $cur == -* ]]; then
+ # possible options for the command
+ case $command in
+ add)
+ options=' --non-recursive -N -q --quiet'
+ ;;
+ blame | annotate | ann | praise)
+ options='-r --revisions -x --cross'
+ ;;
+ cat)
+ options='-r --revision'
+ ;;
+ checkout | co)
+ options='-r --revision -q --quiet -N --non-recursive -l
+ --list -d --detach --export --relocate --purge'
+ ;;
+ cleanup)
+ options='-a --all'
+ ;;
+ cmerge | cm)
+ options='-c --change -l --log -r --revision -a --auto
+ --verbatim --no-ticket -m --message -F --file
+ --template --encoding -P --patch -S --sign -C
+ --check-only --direct'
+ ;;
+ commit | ci)
+ options='--import -m --message -F --file --encoding
+ --template -P --patch -S --sign -C --check-only -N
+ --non-recursive --direct'
+ ;;
+ copy | cp)
+ options='-r --revision -p --parent -q --quiet -m --message
+ -F --file --template --encoding -P --patch -S --sign -C
+ --check-only --direct'
+ ;;
+ delete | del | remove | rm)
+ options='-k --keep-local -m --message -F --file --encoding
+ --template -P --patch -S --sign -C --check-only
+ --direct'
+ ;;
+ depotmap | depot)
+ options='-i --init -l --list -d --detach --relocate'
+ ;;
+ diff | di)
+ options='-r --revision -s --summarize -b --verbose -N
+ --non-recursive'
+ ;;
+ import)
+ options='-f --from-checkout -t --to-checkout -m --message
+ -F --file --template --encoding -P --patch -S --sign -C
+ --check-only -N --non-recursive --direct'
+ ;;
+ list | ls)
+ options='-r --revision -v --verbose -R --recursive -d
+ --depth -f --full-path'
+ ;;
+ log)
+ options='-r --revision -l --limit -q --quiet -x --cross -v
+ --verbose'
+ ;;
+ merge)
+ options='-r --revision -c --change -I --incremental -a
+ --auto -l --log -s --sync -t --to -f --from --verbatim
+ --no-ticket --track-rename -m --message -F --file
+ --template --encoding -P --patch -S --sign -C
+ --check-only --direct'
+ ;;
+ mirror | mi)
+ options='-l --list -d --detach --relocate --recover
+ --unlock --upgrade'
+ ;;
+ mkdir)
+ options='-p --parent -m --message -F --file --template
+ --encoding -P --patch -S --sign -C --check-only
+ --direct'
+ ;;
+ move | mv | rename | ren)
+ options='-r --revision -p --parent -q --quiet -m --message
+ -F --file --encoding --template -P --patch -S --sign -C
+ --check-only --direct'
+ ;;
+ patch)
+ options='--depot'
+ ;;
+ propdel | propset | pdel | pset | pd | ps)
+ options='-R --recursive -r --revision --revprop -m
+ --message -F --file --template --encoding -P --patch -S
+ --sign -C --check-only -q --quiet --direct'
+ ;;
+ propedit | pedit | pe)
+ options='-R --recursive -r --revision --revprop -m
+ --message -F --file --template --encoding -P --patch
+ -S --sign -C --check-only --direct'
+ ;;
+ propget | pget | pg)
+ options='-R --recursive -r --revision --revprop --strict'
+ ;;
+ proplist | plist | pl)
+ options='-R --recursive -v --verbose -r --revision
+ --revprop'
+ ;;
+ pull)
+ options='-a --all -l --lump'
+ ;;
+ push)
+ options='-f --from -l --lump -C --check -P --patch -S
+ --sign --verbatim'
+ ;;
+ resolved)
+ options='-R --recursive'
+ ;;
+ revert)
+ options='-R --recursive -q --quiet'
+ ;;
+ smerge | sm)
+ options='-I --incremental -l --log -B --baseless -b --base
+ -s --sync -t --to -f --from --verbatim --no-ticket
+ --track-rename --host --remoterev -m --message -F
+ --file --template --encoding -P --patch -S --sign -C
+ --check-only --direct'
+ ;;
+ status | stat | st)
+ options='-q --quiet --no-ignore -N --non-recursive -v
+ --verbose'
+ ;;
+ switch | sw)
+ options='-r --revision -d --detach -q --quiet'
+ ;;
+ sync | sy)
+ options='-a --all -s --skipto -t --torev'
+ ;;
+ update | up)
+ options='-r --revision -N --non-recursive -C --check-only
+ -s --sync -m --merge -q --quiet'
+ ;;
+ esac
+ options+=" --help -h"
+
+ COMPREPLY=($(compgen -W "$options" -- "$cur"))
+ else
+ case $command in
+ help | h | \?)
+ COMPREPLY=($(compgen -W "$commands environment commands
+ intro" -- "$cur"))
+ ;;
+ admin)
+ COMPREPLY=($(compgen -W 'help deltify dump hotcopy
+ list-dblogs list-unused-dblogs load lstxns recover
+ rmtxns setlog verify rmcache' -- "$cur"))
+ ;;
+ patch)
+ COMPREPLY=($(compgen -W '--ls --list --cat --view
+ --regen --regenerate --up --update --apply --rm
+ --delete' -- "$cur"))
+ ;;
+ sync)
+ COMPREPLY=($(compgen -W "$($1 mirror --list \
+ 2>/dev/null | awk '/^\//{print $1}')" -- "$cur"))
+ ;;
+ co | checkout | push | pull)
+ if [[ $cur == //*/* ]]; then
+ path=${cur%/*}/
+ else
+ path=//
+ fi
+ COMPREPLY=($(compgen -W "$($1 list $path 2>/dev/null |
+ command sed -e 's|\(.*\)|'$path'\1|')" -- "$cur"))
+ ;;
+ *)
+ _filedir
+ ;;
+ esac
+ fi
+ fi
+} &&
+ complete -F _svk svk
+
+# ex: filetype=sh