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/Homebrew/cmd | |
| 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/Homebrew/cmd')
| -rw-r--r-- | Library/Homebrew/cmd/commands.rb | 33 |
1 files changed, 33 insertions, 0 deletions
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 |
