about summary refs log tree commit diff
path: root/Completion/Cvs/_cvs_command
blob: 837c7cbb163c6887e312d9e60b5c733d3fd84d3f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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