lib/compass/commands/help.rb in compass-edge-0.9.2 vs lib/compass/commands/help.rb in compass-edge-0.9.3

- old
+ new

@@ -19,10 +19,23 @@ if Compass::Commands[command].respond_to? :description banner << "\t- #{Compass::Commands[command].description(command)}" end banner << "\n" end + + banner << "\nAvailable Frameworks & Patterns:\n\n" + Compass::Frameworks::ALL.each do |framework| + banner << " * #{framework.name}\n" + framework.template_directories.each do |pattern| + banner << " - #{framework.name}/#{pattern}" + if description = framework.manifest(pattern).description + banner << "\t- #{description}" + end + banner << "\n" + end + end + opts.banner = banner super end end @@ -51,9 +64,11 @@ def execute if Compass::Commands.command_exists? options[:help_command] $command = options[:help_command] puts Compass::Commands[options[:help_command]].usage $command = "help" + elsif Compass::Frameworks.template_exists? options[:help_command] + puts Compass::Frameworks.template_usage(options[:help_command]) else raise OptionParser::ParseError, "No such command: #{options[:help_command]}" end end end