summaryrefslogtreecommitdiffstats
path: root/completions/_svn
diff options
context:
space:
mode:
Diffstat (limited to 'completions/_svn')
-rw-r--r--completions/_svn210
1 files changed, 210 insertions, 0 deletions
diff --git a/completions/_svn b/completions/_svn
new file mode 100644
index 0000000..5d85c2b
--- /dev/null
+++ b/completions/_svn
@@ -0,0 +1,210 @@
+# svn completion -*- shell-script -*-
+
+# Use of this file is deprecated. Upstream completion is available in
+# subversion >= 0.12.0, use that instead.
+
+_svn()
+{
+ local cur prev words cword
+ _init_completion || return
+
+ local commands
+ commands='add blame praise annotate ann cat checkout co cleanup commit \
+ ci copy cp delete del remove rm diff di export help ? h import \
+ info list ls lock log merge mkdir move mv rename ren \
+ propdel pdel pd propedit pedit pe propget pget pg \
+ proplist plist pl propset pset ps resolved revert \
+ status stat st switch sw unlock update up'
+
+ if ((cword == 1)); then
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '--version' -- "$cur"))
+ else
+ COMPREPLY=($(compgen -W "$commands" -- "$cur"))
+ fi
+ else
+
+ case $prev in
+ --config-dir)
+ _filedir -d
+ return
+ ;;
+ -F | --file | --targets)
+ _filedir
+ return
+ ;;
+ --encoding)
+ _xfunc iconv _iconv_charsets
+ return
+ ;;
+ --editor-cmd | --diff-cmd | --diff3-cmd)
+ compopt -o filenames
+ COMPREPLY=($(compgen -c -- "$cur"))
+ return
+ ;;
+ esac
+
+ local command=${words[1]}
+
+ if [[ $cur == -* ]]; then
+ # possible options for the command
+ local options
+ case $command in
+ add)
+ options='--auto-props --no-auto-props --force --targets
+ --no-ignore --non-recursive --quiet'
+ ;;
+ blame | annotate | ann | praise)
+ options='--revision --username --password --no-auth-cache
+ --non-interactive --verbose --incremental --xml'
+ ;;
+ cat)
+ options='--revision --username --password --no-auth-cache
+ --non-interactive'
+ ;;
+ checkout | co)
+ options='--revision --quiet --non-recursive --username
+ --password --no-auth-cache --non-interactive
+ --ignore-externals'
+ ;;
+ cleanup)
+ options='--diff3-cmd'
+ ;;
+ commit | ci)
+ options='--message --file --encoding --force-log --quiet
+ --non-recursive --targets --editor-cmd --username
+ --password --no-auth-cache --non-interactive
+ --no-unlock'
+ ;;
+ copy | cp)
+ options='--message --file --encoding --force-log --revision
+ --quiet --editor-cmd -username --password
+ --no-auth-cache --non-interactive'
+ ;;
+ delete | del | remove | rm)
+ options='--force --message --file --encoding --force-log
+ --quiet --targets --editor-cmd --username
+ --password --no-auth-cache --non-interactive'
+ ;;
+ diff | di)
+ options='--revision --extensions --diff-cmd
+ --no-diff-deleted --non-recursive --username
+ --password --no-auth-cache --non-interactive
+ --force --old --new --notice-ancestry'
+ ;;
+ export)
+ options='--revision --quiet --username --password
+ --no-auth-cache --non-interactive --non-recursive
+ --force --native-eol --ignore-externals'
+ ;;
+ import)
+ options='--auto-props --no-auto-props --message --file
+ --encoding --force-log --quiet --non-recursive
+ --no-ignore --editor-cmd --username --password
+ --no-auth-cache --non-interactive'
+ ;;
+ info)
+ options='--username --password --no-auth-cache
+ --non-interactive --revision --xml --targets
+ --recursive --incremental'
+ ;;
+ list | ls)
+ options='--revision --verbose --recursive --username
+ --password --no-auth-cache --non-interactive
+ --incremental --xml'
+ ;;
+ lock)
+ options='--message --file --encoding --force-log --targets
+ --force --username --password --no-auth-cache
+ --non-interactive'
+ ;;
+ log)
+ options='--revision --verbose --targets --username
+ --password --no-auth-cache --non-interactive
+ --stop-on-copy --incremental --xml --quiet
+ --limit'
+ ;;
+ merge)
+ options='--revision --non-recursive --quiet --force
+ --dry-run --diff3-cmd --username --password
+ --no-auth-cache --non-interactive
+ --ignore-ancestry'
+ ;;
+ mkdir)
+ options='--message --file --encoding --force-log --quiet
+ --editor-cmd --username --password --no-auth-cache
+ --non-interactive'
+ ;;
+ move | mv | rename | ren)
+ options='--message --file --encoding --force-log --revision
+ --quiet --force --editor-cmd --username --password
+ --no-auth-cache --non-interactive'
+ ;;
+ propdel | pdel | pd)
+ options='--quiet --recursive --revision --revprop
+ --username --password --no-auth-cache
+ --non-interactive'
+ ;;
+ propedit | pedit | pe)
+ options='--revision --revprop --encoding --editor-cmd
+ --username --password --no-auth-cache
+ --non-interactive --force'
+ ;;
+ propget | pget | pg)
+ options='--recursive --revision --revprop --strict
+ --username --password --no-auth-cache
+ --non-interactive'
+ ;;
+ proplist | plist | pl)
+ options='--verbose --recursive --revision --revprop --quiet
+ --username --password --no-auth-cache
+ --non-interactive'
+ ;;
+ propset | pset | ps)
+ options='--file --quiet --targets --recursive --revprop
+ --encoding --username --password --no-auth-cache
+ --non-interactive --revision --force'
+ ;;
+ resolved)
+ options='--targets --recursive --quiet'
+ ;;
+ revert)
+ options='--targets --recursive --quiet'
+ ;;
+ status | stat | st)
+ options='--show-updates --verbose --non-recursive --quiet
+ --username --password --no-auth-cache
+ --non-interactive --no-ignore --ignore-externals
+ --incremental --xml'
+ ;;
+ switch | sw)
+ options='--relocate --revision --non-recursive --quiet
+ --username --password --no-auth-cache
+ --non-interactive --diff3-cmd'
+ ;;
+ unlock)
+ options='--targets --force --username --password
+ --no-auth-cache --non-interactive'
+ ;;
+ update | up)
+ options='--revision --non-recursive --quiet --username
+ --password --no-auth-cache --non-interactive
+ --diff3-cmd --ignore-externals'
+ ;;
+ esac
+ options+=" --help --config-dir"
+
+ COMPREPLY=($(compgen -W "$options" -- "$cur"))
+ else
+ if [[ $command == @(help|[h?]) ]]; then
+ COMPREPLY=($(compgen -W "$commands" -- "$cur"))
+ else
+ _filedir
+ fi
+ fi
+ fi
+
+} &&
+ complete -F _svn svn
+
+# ex: filetype=sh