def set_opts(opts)
super
opts.banner = "Usage: haml [options] [INPUT] [OUTPUT]\n\nDescription:\n Converts Haml files to HTML.\n\nOptions:\n"
opts.on('-c', '--check', "Just check syntax, don't evaluate.") do
require 'stringio'
@options[:check_syntax] = true
@options[:output] = StringIO.new
end
opts.on('-t', '--style NAME',
'Output style. Can be indented (default) or ugly.') do |name|
@options[:for_engine][:ugly] = true if name.to_sym == :ugly
end
opts.on('-f', '--format NAME',
'Output format. Can be html5 (default), xhtml, or html4.') do |name|
@options[:for_engine][:format] = name.to_sym
end
opts.on('-e', '--escape-html',
'Escape HTML characters (like ampersands and angle brackets) by default.') do
@options[:for_engine][:escape_html] = true
end
opts.on('--no-escape-attrs',
"Don't escape HTML characters (like ampersands and angle brackets) in attributes.") do
@options[:for_engine][:escape_attrs] = false
end
opts.on('-q', '--double-quote-attributes',
'Set attribute wrapper to double-quotes (default is single).') do
@options[:for_engine][:attr_wrapper] = '"'
end
opts.on('--cdata',
'Always add CDATA sections to javascript and css blocks.') do
@options[:for_engine][:cdata] = true
end
opts.on('--autoclose LIST',
'Comma separated list of elements to be automatically self-closed.') do |list|
@options[:for_engine][:autoclose] = list.split(',')
end
opts.on('--suppress-eval',
'Don\'t evaluate Ruby scripts.') do
@options[:for_engine][:suppress_eval] = true
end
opts.on('-r', '--require FILE', "Same as 'ruby -r'.") do |file|
@options[:requires] << file
end
opts.on('-I', '--load-path PATH', "Same as 'ruby -I'.") do |path|
@options[:load_paths] << path
end
unless RUBY_VERSION < "1.9"
opts.on('-E ex[:in]', 'Specify the default external and internal character encodings.') do |encoding|
external, internal = encoding.split(':')
Encoding.default_external = external if external && !external.empty?
Encoding.default_internal = internal if internal && !internal.empty?
end
end
opts.on('-d', '--debug', "Print out the precompiled Ruby source.") do
@options[:debug] = true
end
opts.on('-p', '--parse', "Print out Haml parse tree.") do
@options[:parse] = true
end
end