class Bake::Command::List

def print_scope(terminal, scope, printed: false)

def print_scope(terminal, scope, printed: false)
	format_recipe = self.method(:format_recipe).curry
	
	scope.recipes.sort.each do |recipe|
		if @pattern and !recipe.command.include?(pattern)
			next
		end
		
		unless printed
			yield
			
			printed = true
		end
		
		terminal.print_line
		terminal.print_line("\t", format_recipe[recipe])
		
		documentation = recipe.documentation
		
		documentation.description do |line|
			terminal.print_line("\t\t", :description, line)
		end
		
		documentation.parameters do |parameter|
			terminal.print_line("\t\t",
				:parameter, parameter[:name], :reset, " [",
				:type, parameter[:type], :reset, "] ",
				:description, parameter[:details]
			)
		end
	end
	
	return printed
end