git-bug

 1#compdef git-bug
 2
 3_arguments \
 4  '1: :->level1' \
 5  '2: :->level2' \
 6  '3: :_files'
 7case $state in
 8  level1)
 9    case $words[1] in
10      git-bug)
11        _arguments '1: :(add bridge commands comment deselect label ls ls-label pull push select show status termui title webui)'
12      ;;
13      *)
14        _arguments '*: :_files'
15      ;;
16    esac
17  ;;
18  level2)
19    case $words[2] in
20      bridge)
21        _arguments '2: :(configure pull rm)'
22      ;;
23      comment)
24        _arguments '2: :(add)'
25      ;;
26      label)
27        _arguments '2: :(add rm)'
28      ;;
29      status)
30        _arguments '2: :(close open)'
31      ;;
32      title)
33        _arguments '2: :(edit)'
34      ;;
35      *)
36        _arguments '*: :_files'
37      ;;
38    esac
39  ;;
40  *)
41    _arguments '*: :_files'
42  ;;
43esac