summaryrefslogtreecommitdiff
path: root/Completion/Cvs/_cvs_command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Cvs/_cvs_command')
-rw-r--r--Completion/Cvs/_cvs_command42
1 files changed, 42 insertions, 0 deletions
diff --git a/Completion/Cvs/_cvs_command b/Completion/Cvs/_cvs_command
new file mode 100644
index 000000000..837c7cbb1
--- /dev/null
+++ b/Completion/Cvs/_cvs_command
@@ -0,0 +1,42 @@
+#autoload
+
+typeset -A commands
+commands=(add "ad new" admin "adm rcs" annotate ann
+ checkout "co get" commit "ci com" diff "di dif"
+ edit "" editors "" export "exp ex"
+ history "hi his" import "im imp" init ""
+ log "lo rlog" login "logon lgn" logout ""
+ rdiff patch release "re rel" remove "rm delete"
+ status "st stat" rtag "rt rfreeze" tag "ta freeze"
+ unedit "" update "up upd" watch ""
+ watchers "")
+
+if (( CURRENT == 1 )); then
+ compadd ${(k)commands} || compadd ${(kv)=commands}
+else
+ case "$words[1]" in
+ add|ad|new) _cvs_add;;
+ admin|adm|rcs) _cvs_admin;;
+ annotate|ann) _cvs_annotate;;
+ checkout|co|get) _cvs_checkout;;
+ commit|ci|com) _cvs_commit;;
+ diff|di|dif) _cvs_diff;;
+ edit) _cvs_edit;;
+ editors) _cvs_editors;;
+ export|exp|ex) _cvs_export;;
+ history|hi|his) _cvs_history;;
+ import|im|imp) _cvs_import;;
+ init) _cvs_init;;
+ login|logon|lgn|logout) _cvs_login;;
+ rdiff|patch|pa) _cvs_rdiff;;
+ release|re|rel) _cvs_release;;
+ remove|rm|delete) _cvs_remove;;
+ status|st|stat) _cvs_status;;
+ tag|ta|freeze) _cvs_tag;;
+ unedit) _cvs_unedit;;
+ update|up|upd) _cvs_update;;
+ watch) _cvs_watch;;
+ watchers) _cvs_watchers;;
+ *) _message "unknown cvs command: $words[1]";;
+ esac
+fi