class Rouge::CLI::Style

Public Class Methods

desc() click to toggle source
# File lib/rouge/cli.rb, line 347
def self.desc
  "print CSS styles"
end
doc() { |%|usage: rougify style [<theme-name>] [<options>]|| ... } click to toggle source
# File lib/rouge/cli.rb, line 351
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. To select a mode (light/dark) for the|
  yield %|theme, append '.light' or '.dark' to the <theme-name>|
  yield %|respectively. Theme defaults to thankful_eyes.|
  yield %||
  yield %|options:|
  yield %|  --scope       (default: .highlight) a css selector to scope by|
  yield %|  --tex         (default: false) render as TeX|
  yield %|  --tex-prefix  (default: RG) a command prefix for TeX|
  yield %|                implies --tex if specified|
  yield %||
  yield %|available themes:|
  yield %|  #{Theme.registry.keys.sort.join(', ')}|
end
new(opts) click to toggle source
# File lib/rouge/cli.rb, line 396
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)
  if opts[:tex]
    tex_prefix = opts[:tex_prefix]
    @theme = TexThemeRenderer.new(@theme, prefix: tex_prefix)
  end
end
parse(argv) click to toggle source
# File lib/rouge/cli.rb, line 371
def self.parse(argv)
  opts = {
    :theme_name => 'thankful_eyes',
    :tex => false,
    :tex_prefix => 'RG'
  }

  until argv.empty?
    arg = argv.shift
    case arg
    when '--tex'
      opts[:tex] = true
    when '--tex-prefix'
      opts[:tex] = true
      opts[:tex_prefix] = argv.shift
    when /--(\w+)/
      opts[$1.tr('-', '_').to_sym] = argv.shift
    else
      opts[:theme_name] = arg
    end
  end

  new(opts)
end

Public Instance Methods

run() click to toggle source
# File lib/rouge/cli.rb, line 408
def run
  @theme.render(&method(:puts))
end