diff options
| author | Xu Cheng | 2015-07-09 19:50:53 +0800 | 
|---|---|---|
| committer | Xu Cheng | 2015-07-11 00:07:29 +0800 | 
| commit | a2d9d68591bf78ed8267d7e273c16b9043a6be1b (patch) | |
| tree | a013fa243261b7d752015e3c8aafe11fdfa2e39c /Library/Homebrew | |
| parent | 609af678fdb12d270f185e12aa49804e245aff70 (diff) | |
| download | brew-a2d9d68591bf78ed8267d7e273c16b9043a6be1b.tar.bz2 | |
commands: support list all commands without header
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/cmd/commands.rb | 45 | ||||
| -rw-r--r-- | Library/Homebrew/manpages/brew.1.md | 5 | 
2 files changed, 31 insertions, 19 deletions
| diff --git a/Library/Homebrew/cmd/commands.rb b/Library/Homebrew/cmd/commands.rb index aefc7e30e..a41099982 100644 --- a/Library/Homebrew/cmd/commands.rb +++ b/Library/Homebrew/cmd/commands.rb @@ -1,24 +1,33 @@  module Homebrew    def commands -    # Find commands in Homebrew/cmd -    with_directory = false -    cmds = (HOMEBREW_REPOSITORY/"Library/Homebrew/cmd"). -           children(with_directory). -           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 =~ /\./ } +    if ARGV.include? "--quiet" +      cmds = internal_commands + external_commands +      cmds += HOMEBREW_INTERNAL_COMMAND_ALIASES.keys if ARGV.include? "--include-aliases" +      puts_columns cmds.sort +    else +      # Find commands in Homebrew/cmd +      puts "Built-in commands" +      puts_columns internal_commands -    unless exts.empty? -      puts -      puts "External commands" -      puts_columns exts +      # Find commands in the path +      unless (exts = external_commands).empty? +        puts +        puts "External commands" +        puts_columns exts +      end      end    end + +  def internal_commands +    with_directory = false +    (HOMEBREW_REPOSITORY/"Library/Homebrew/cmd"). +       children(with_directory). +       map {|f| File.basename(f, '.rb')} +  end + +  def external_commands +    paths.map{ |p| Dir["#{p}/brew-*"] }.flatten. +      map{ |f| File.basename(f, '.rb')[5..-1] }. +      reject{ |f| f =~ /\./ } +  end  end diff --git a/Library/Homebrew/manpages/brew.1.md b/Library/Homebrew/manpages/brew.1.md index ede0d0224..e371c470e 100644 --- a/Library/Homebrew/manpages/brew.1.md +++ b/Library/Homebrew/manpages/brew.1.md @@ -75,9 +75,12 @@ Note that these flags should only appear after a command.    * `command` <cmd>:      Display the path to the file which is used when invoking `brew <cmd>`. -  * `commands`: +  * `commands [--quiet [--include-aliases]]`:      Show a list of built-in and external commands. +    If `--quiet` is passed, list only the names of commands without the header. +    With `--include-aliases`, the aliases of internal commands will be included. +    * `config`:      Show Homebrew and system configuration useful for debugging. If you file      a bug report, you will likely be asked for this information if you do not | 
