Blame view

plugins/brew/_brew 3.61 KB
093a6c34b   mj   Squashed 'repos/r...
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
  #compdef brew
  #autoload
  
  # imported from the latest homebrew contributions
  
  _brew_all_formulae() {
    formulae=(`brew search`)
  }
  
  _brew_installed_formulae() {
    installed_formulae=(`brew list`)
  }
  
  _brew_installed_taps() {
    installed_taps=(`brew tap`)
  }
  
  _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'
    'create:create a new formula'
    'deps:list dependencies of a formula'
    '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'
    'link:link a formula'
    '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.'
    '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)'
    'switch:switch linkage between installed versions of a formula'
    'tap:tap a new formula repository from GitHub, or list existing taps'
    'test-bot:test a formula and build a bottle'
    'uninstall:uninstall a formula'
    'unlink:unlink a formula'
    'unpin:unpin specified formulae'
    'untap:remove a tapped repository'
    'update:pull latest repository'
    'upgrade:upgrade outdated formulae'
    'uses:show formulae which depend on a formula'
  )
  
  local expl
  local -a formulae installed_formulae installed_taps outdated_formulae
  
  _arguments \
    '(-v)-v[verbose]' \
    '(--cellar)--cellar[brew cellar]' \
    '(--config)--config[brew configuration]' \
    '(--env)--env[brew environment]' \
    '(--repository)--repository[brew repository]' \
    '(--version)--version[version information]' \
    '(--prefix)--prefix[where brew lives on this system]' \
    '(--cache)--cache[brew cache]' \
    '(--force)--force[brew force]' \
    '*:: :->subcmds' && return 0
  
  if (( CURRENT == 1 )); then
    _describe -t commands "brew subcommand" _1st_arguments
    return
  fi
  
  case "$words[1]" in
    install|reinstall|audit|home|homepage|log|info|abv|uses|cat|deps|edit|options)
      _brew_all_formulae
      _wanted formulae expl 'all formulae' compadd -a formulae ;;
    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]' ;;
    untap)
      _brew_installed_taps
      _wanted installed_taps expl 'installed taps' compadd -a installed_tapsĀ ;;
    upgrade)
      _brew_outdated_formulae
      _wanted outdated_formulae expl 'outdated formulae' compadd -a outdated_formulae ;;
  esac