github.com/michaellihs/golab@v0.1.0-beta3.0.20180726222757-f5cdabc76dfd/zsh/_golab (about) 1 #compdef golab 2 3 _arguments \ 4 '1: :->level1' \ 5 '2: :->level2' \ 6 '3: :->level3' \ 7 '4: :_files' 8 case $state in 9 level1) 10 case $words[1] in 11 golab) 12 _arguments '1: :(branches commits deploy-keys environments gendoc group group-members help labels login merge-requests namespaces open personal-access-token project protected-branches user version zsh-completion)' 13 ;; 14 *) 15 _arguments '*: :_files' 16 ;; 17 esac 18 ;; 19 level2) 20 case $words[2] in 21 group-members) 22 _arguments '2: :(add delete edit get ls sync)' 23 ;; 24 labels) 25 _arguments '2: :(create delete edit list subscribe unsubscribe)' 26 ;; 27 protected-branches) 28 _arguments '2: :(get ls protect-branch unprotect-branch)' 29 ;; 30 group) 31 _arguments '2: :(create delete get ls projects search transfer-project update)' 32 ;; 33 merge-requests) 34 _arguments '2: :(accept add-spent-time cancel-when-pipeline-succeeds create create-todo delete get get-changes get-commits get-diff-version get-diff-versions list-issues ls project-ls reset-spent-time reset-time-estimate set-time-estimate subscribe time-tracking-stats unsubscribe update)' 35 ;; 36 namespaces) 37 _arguments '2: :(get ls search)' 38 ;; 39 project) 40 _arguments '2: :(archive create delete edit fork forks get hooks housekeeping list-forks ls search share star unarchive unshare unstar upload-file)' 41 ;; 42 branches) 43 _arguments '2: :(create delete delete-merged get list protect unprotect)' 44 ;; 45 commits) 46 _arguments '2: :(create list)' 47 ;; 48 deploy-keys) 49 _arguments '2: :(add delete enable get list list-all)' 50 ;; 51 environments) 52 _arguments '2: :(create delete edit list)' 53 ;; 54 user) 55 _arguments '2: :(activities block create delete emails get get-as-admin impersonation-token ls modify ssh-keys unblock)' 56 ;; 57 *) 58 _arguments '*: :_files' 59 ;; 60 esac 61 ;; 62 level3) 63 case $words[3] in 64 impersonation-token) 65 _arguments '3: :(create get get-all revoke)' 66 ;; 67 ssh-keys) 68 _arguments '3: :(add delete get ls)' 69 ;; 70 forks) 71 _arguments '3: :(create delete)' 72 ;; 73 hooks) 74 _arguments '3: :(add delete edit get ls)' 75 ;; 76 emails) 77 _arguments '3: :(add delete get ls)' 78 ;; 79 *) 80 _arguments '*: :_files' 81 ;; 82 esac 83 ;; 84 *) 85 _arguments '*: :_files' 86 ;; 87 esac