diff options
| author | Adam Vandenberg | 2013-09-14 16:58:26 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2013-09-17 06:44:25 -0700 |
| commit | fa0872a42c388f81fac1d65e130462de6da3977b (patch) | |
| tree | 710e193dec857f1befbf8162bc016de76c6a709f /Library | |
| parent | 7c0f474d26e961fd08bf097b6c676375570720f8 (diff) | |
| download | brew-fa0872a42c388f81fac1d65e130462de6da3977b.tar.bz2 | |
brew commands
Shows a list of built-in commands (but not shortcuts) and searches
for any external commands on the path.
Closes Homebrew/homebrew#22509.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Contributions/brew_bash_completion.sh | 1 | ||||
| -rw-r--r-- | Library/Contributions/brew_zsh_completion.zsh | 1 | ||||
| -rw-r--r-- | Library/Contributions/manpages/brew.1.md | 3 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/commands.rb | 33 |
4 files changed, 38 insertions, 0 deletions
diff --git a/Library/Contributions/brew_bash_completion.sh b/Library/Contributions/brew_bash_completion.sh index 28a57c6c5..c55b78925 100644 --- a/Library/Contributions/brew_bash_completion.sh +++ b/Library/Contributions/brew_bash_completion.sh @@ -403,6 +403,7 @@ _brew () audit cat cleanup + commands create deps diy configure diff --git a/Library/Contributions/brew_zsh_completion.zsh b/Library/Contributions/brew_zsh_completion.zsh index e497cd11e..878a3f9d3 100644 --- a/Library/Contributions/brew_zsh_completion.zsh +++ b/Library/Contributions/brew_zsh_completion.zsh @@ -27,6 +27,7 @@ _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 and dependants of a formula' 'doctor:audits your installation for common issues' diff --git a/Library/Contributions/manpages/brew.1.md b/Library/Contributions/manpages/brew.1.md index 0e3c11584..e2b94821e 100644 --- a/Library/Contributions/manpages/brew.1.md +++ b/Library/Contributions/manpages/brew.1.md @@ -64,6 +64,9 @@ Note that these flags should only appear after a command. versions of formula. Note downloads for any installed formula will still not be deleted. If you want to delete those too: `rm -rf $(brew --cache)` + * `commands`: + Show a list of built-in and external commands. + * `create <URL> [--autotools|--cmake] [--no-fetch] [--set-name <name>] [--set-version <version>]`: Generate a formula for the downloadable file at <URL> and open it in the editor. Homebrew will attempt to automatically derive the formula name diff --git a/Library/Homebrew/cmd/commands.rb b/Library/Homebrew/cmd/commands.rb new file mode 100644 index 000000000..b9bbb12ec --- /dev/null +++ b/Library/Homebrew/cmd/commands.rb @@ -0,0 +1,33 @@ +module Homebrew extend self + def paths + @paths ||= ENV['PATH'].split(File::PATH_SEPARATOR).collect do |p| + begin + File.expand_path(p).chomp('/') + rescue ArgumentError + onoe "The following PATH component is invalid: #{p}" + end + end.uniq.compact + end + + def commands + # Find commands in Homebrew/cmd + cmds = (HOMEBREW_REPOSITORY/"Library/Homebrew/cmd"). + children(with_directory=false). + map {|f| File.basename(f, '.rb')} + puts "Built-in commands" + puts_columns cmds + + # Find commands in the path + exts = paths.map{ |p| Dir["#{p}/*"] }.flatten. + map{ |f| File.basename f }. + select{ |f| f =~ /^brew-(.+)/ }. + map{ |f| File.basename(f, '.rb')[5..-1] }. + reject{ |f| f =~ /\./ } + + unless exts.empty? + puts + puts "External commands" + puts_columns exts + end + end +end |
