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