class Rouge::CLI
def self.class_from_arg(arg)
def self.class_from_arg(arg) case arg when 'version', '--version', '-v' Version when 'help', nil Help when 'highlight', 'hi' Highlight when 'style' Style when 'list' List when 'guess' Guess end end
def self.doc
def self.doc return enum_for(:doc) unless block_given? yield %|usage: rougify {global options} [command] [args...]| yield %|| yield %|where <command> is one of:| yield %| highlight #{Highlight.desc}| yield %| help #{Help.desc}| yield %| style #{Style.desc}| yield %| list #{List.desc}| yield %| guess #{Guess.desc}| yield %| version #{Version.desc}| yield %|| yield %|global options:| yield %[ --require|-r <fname> require <fname> after loading rouge] yield %|| yield %|See `rougify help <command>` for more info.| end
def self.error!(msg, status=1)
def self.error!(msg, status=1) raise Error.new(msg, status) end
def self.normalize_syntax(argv)
def self.normalize_syntax(argv) out = [] argv.each do |arg| case arg when /^(--\w+)=(.*)$/ out << $1 << $2 when /^(-\w)(.+)$/ out << $1 << $2 else out << arg end end out end
def self.parse(argv=ARGV)
def self.parse(argv=ARGV) argv = normalize_syntax(argv) while (head = argv.shift) case head when '-h', '--help', 'help', '-help' return Help.parse(argv) when '--require', '-r' require argv.shift else break end end klass = class_from_arg(head) return klass.parse(argv) if klass argv.unshift(head) if head Highlight.parse(argv) end
def error!(*a)
def error!(*a) self.class.error!(*a) end
def initialize(options={})
def initialize(options={}) end