class Rouge::CLI::Style
def self.desc
def self.desc "print CSS styles" end
def self.doc
def self.doc return enum_for(:doc) unless block_given? yield %|usage: rougify style [<theme-name>] [<options>]| yield %|| yield %|Print CSS styles for the given theme. Extra options are| yield %|passed to the theme. Theme defaults to thankful_eyes.| yield %|| yield %|options:| yield %| --scope (default: .highlight) a css selector to scope by| yield %|| yield %|available themes:| yield %| #{Theme.registry.keys.sort.join(', ')}| end
def self.parse(argv)
def self.parse(argv) opts = { :theme_name => 'thankful_eyes' } until argv.empty? arg = argv.shift case arg when /--(\w+)/ opts[$1.tr('-', '_').to_sym] = argv.shift else opts[:theme_name] = arg end end new(opts) end
def initialize(opts)
def initialize(opts) theme_name = opts.delete(:theme_name) theme_class = Theme.find(theme_name) \ or error! "unknown theme: #{theme_name}" @theme = theme_class.new(opts) end
def run
def run @theme.render(&method(:puts)) end