class Rake::Application
def display_tasks_and_comments
def display_tasks_and_comments displayable_tasks = tasks.select { |t| t.comment && t.name =~ options.show_task_pattern } if options.full_description displayable_tasks.each do |t| puts "rake #{t.name_with_args}" t.full_comment.split("\n").each do |line| puts " #{line}" end puts end else width = displayable_tasks.collect { |t| t.name_with_args.length }.max || 10 max_column = 80 - name.size - width - 7 displayable_tasks.each do |t| printf "#{name} %-#{width}s # %s\n", t.name_with_args, truncate(t.comment, max_column) end end end