Blame view

repos/robbyrussell/oh-my-zsh/plugins/brew/_brew 5.01 KB
093a6c34b   mj   Squashed 'repos/r...
1
2
  #compdef brew
  #autoload
271945d1f   mj   Squashed 'repos/r...
3
4
5
6
7
8
9
  # imported from https://github.com/Homebrew/homebrew/blob/29f73d2212c2b202fe25f69dcbf440d8391fa4c9/Library/Contributions/brew_zsh_completion.zsh
  
  # Brew ZSH completion function
  # Drop this somewhere in your $fpath (like /usr/share/zsh/site-functions)
  # and rename it _brew
  #
  # altered from _fink
093a6c34b   mj   Squashed 'repos/r...
10
11
12
13
14
15
16
17
18
19
20
21
  
  _brew_all_formulae() {
    formulae=(`brew search`)
  }
  
  _brew_installed_formulae() {
    installed_formulae=(`brew list`)
  }
  
  _brew_installed_taps() {
    installed_taps=(`brew tap`)
  }
271945d1f   mj   Squashed 'repos/r...
22
23
24
25
26
27
28
  _brew_official_taps() {
    official_taps=(`brew tap --list-official`)
  }
  
  _brew_pinned_taps() {
    pinned_taps=(`brew tap --list-pinned`)
  }
093a6c34b   mj   Squashed 'repos/r...
29
30
31
32
33
34
35
36
37
38
  _brew_outdated_formulae() {
    outdated_formulae=(`brew outdated`)
  }
  
  local -a _1st_arguments
  _1st_arguments=(
    'audit:check formulae for Homebrew coding style'
    'cat:display formula file for a formula'
    'cleanup:uninstall unused and old versions of packages'
    'commands:show a list of commands'
271945d1f   mj   Squashed 'repos/r...
39
    'config:show homebrew and system configuration'
093a6c34b   mj   Squashed 'repos/r...
40
    'create:create a new formula'
271945d1f   mj   Squashed 'repos/r...
41
42
    'deps:list dependencies and dependants of a formula'
    'desc:display a description of a formula'
093a6c34b   mj   Squashed 'repos/r...
43
44
45
46
47
48
49
50
    'doctor:audits your installation for common issues'
    'edit:edit a formula'
    'fetch:download formula resources to the cache'
    'gist-logs:generate a gist of the full build logs'
    'home:visit the homepage of a formula or the brew project'
    'info:information about a formula'
    'install:install a formula'
    'reinstall:install a formula anew; re-using its current options'
238d8e65a   mj   Squashed 'repos/r...
51
    'leaves:show installed formulae that are not dependencies of another installed formula'
093a6c34b   mj   Squashed 'repos/r...
52
    'link:link a formula'
271945d1f   mj   Squashed 'repos/r...
53
    'linkapps:symlink .app bundles provided by formulae into /Applications'
093a6c34b   mj   Squashed 'repos/r...
54
55
56
    'list:list files in a formula or not-installed formulae'
    'log:git commit log for a formula'
    'missing:check all installed formuale for missing dependencies.'
271945d1f   mj   Squashed 'repos/r...
57
    'migrate:migrate renamed formula to new name'
093a6c34b   mj   Squashed 'repos/r...
58
59
60
61
62
63
    'outdated:list formulae for which a newer version is available'
    'pin:pin specified formulae'
    'postinstall:perform post_install for a given formula'
    'prune:remove dead links'
    'remove:remove a formula'
    'search:search for a formula (/regex/ or string)'
271945d1f   mj   Squashed 'repos/r...
64
    'switch:switch between different versions of a formula'
093a6c34b   mj   Squashed 'repos/r...
65
    'tap:tap a new formula repository from GitHub, or list existing taps'
271945d1f   mj   Squashed 'repos/r...
66
67
68
    'tap-info:information about a tap'
    'tap-pin:pin a tap'
    'tap-unpin:unpin a tap'
093a6c34b   mj   Squashed 'repos/r...
69
70
71
    'test-bot:test a formula and build a bottle'
    'uninstall:uninstall a formula'
    'unlink:unlink a formula'
271945d1f   mj   Squashed 'repos/r...
72
    'unlinkapps:remove symlinked .app bundles provided by formulae from /Applications'
093a6c34b   mj   Squashed 'repos/r...
73
74
    'unpin:unpin specified formulae'
    'untap:remove a tapped repository'
271945d1f   mj   Squashed 'repos/r...
75
    'update:fetch latest version of Homebrew and all formulae'
093a6c34b   mj   Squashed 'repos/r...
76
77
    'upgrade:upgrade outdated formulae'
    'uses:show formulae which depend on a formula'
271945d1f   mj   Squashed 'repos/r...
78
    `brew commands --quiet --include-aliases`
093a6c34b   mj   Squashed 'repos/r...
79
80
81
  )
  
  local expl
271945d1f   mj   Squashed 'repos/r...
82
  local -a formulae installed_formulae installed_taps official_taps outdated_formulae
093a6c34b   mj   Squashed 'repos/r...
83
84
85
86
  
  _arguments \
    '(-v)-v[verbose]' \
    '(--cellar)--cellar[brew cellar]' \
093a6c34b   mj   Squashed 'repos/r...
87
88
89
90
91
    '(--env)--env[brew environment]' \
    '(--repository)--repository[brew repository]' \
    '(--version)--version[version information]' \
    '(--prefix)--prefix[where brew lives on this system]' \
    '(--cache)--cache[brew cache]' \
093a6c34b   mj   Squashed 'repos/r...
92
93
94
95
96
97
98
99
    '*:: :->subcmds' && return 0
  
  if (( CURRENT == 1 )); then
    _describe -t commands "brew subcommand" _1st_arguments
    return
  fi
  
  case "$words[1]" in
271945d1f   mj   Squashed 'repos/r...
100
    install|reinstall|audit|home|homepage|log|info|abv|uses|cat|deps|desc|edit|options|switch)
093a6c34b   mj   Squashed 'repos/r...
101
102
      _brew_all_formulae
      _wanted formulae expl 'all formulae' compadd -a formulae ;;
271945d1f   mj   Squashed 'repos/r...
103
104
105
106
107
108
109
110
111
    linkapps|unlinkapps)
      _arguments \
        '(--local)--local[operate on ~/Applications instead of /Applications]' \
        '1: :->forms' && return 0
  
      if [[ "$state" == forms ]]; then
        _brew_installed_formulae
        _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae
      fi ;;
093a6c34b   mj   Squashed 'repos/r...
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
    list|ls)
      _arguments \
        '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \
        '(--pinned)--pinned[list all versions of pinned formulae]' \
        '(--versions)--versions[list all installed versions of a formula]' \
        '1: :->forms' && return 0
  
        if [[ "$state" == forms ]]; then
          _brew_installed_formulae
          _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae
        fi ;;
    remove|rm|uninstall|unlink|cleanup|link|ln|pin|unpin)
      _brew_installed_formulae
      _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;;
    search|-S)
      _arguments \
        '(--macports)--macports[search the macports repository]' \
        '(--fink)--fink[search the fink repository]' ;;
271945d1f   mj   Squashed 'repos/r...
130
    untap|tap-info|tap-pin)
093a6c34b   mj   Squashed 'repos/r...
131
      _brew_installed_taps
271945d1f   mj   Squashed 'repos/r...
132
133
134
135
136
137
138
      _wanted installed_taps expl 'installed taps' compadd -a installed_taps ;;
    tap)
      _brew_official_taps
      _wanted official_taps expl 'official taps' compadd -a official_taps ;;
    tap-unpin)
      _brew_pinned_taps
      _wanted pinned_taps expl 'pinned taps' compadd -a pinned_taps ;;
093a6c34b   mj   Squashed 'repos/r...
139
140
141
142
    upgrade)
      _brew_outdated_formulae
      _wanted outdated_formulae expl 'outdated formulae' compadd -a outdated_formulae ;;
  esac