class Rouge::CLI::Help::Highlight::Style::List

Public Class Methods

desc() click to toggle source
# File lib/rouge/cli.rb, line 345
def self.desc
  "list available lexers"
end
doc() { |%|usage: rouge list| yield %|| yield %|print a list of all available lexers with their descriptions.| end| ... } click to toggle source
# File lib/rouge/cli.rb, line 349
  def self.doc
    return enum_for(:doc) unless block_given?

    yield %|usage: rouge list|
    yield %||
    yield %|print a list of all available lexers with their descriptions.|
  end

  def self.parse(argv)
    new
  end

  def run
    puts "== Available Lexers =="

    Lexer.all.sort_by(&:tag).each do |lexer|
      desc = "#{lexer.desc}"
      if lexer.aliases.any?
        desc << " [aliases: #{lexer.aliases.join(',')}]"
      end
      puts "%s: %s" % [lexer.tag, desc]

      lexer.option_docs.keys.sort.each do |option|
        puts "  ?#{option}= #{lexer.option_docs[option]}"
      end

      puts
    end
  end
end
parse(argv) click to toggle source
# File lib/rouge/cli.rb, line 357
def self.parse(argv)
  new
end

Private Class Methods

normalize_syntax(argv) click to toggle source
# File lib/rouge/cli.rb, line 412
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

Public Instance Methods

run() click to toggle source
# File lib/rouge/cli.rb, line 361
def run
  puts "== Available Lexers =="

  Lexer.all.sort_by(&:tag).each do |lexer|
    desc = "#{lexer.desc}"
    if lexer.aliases.any?
      desc << " [aliases: #{lexer.aliases.join(',')}]"
    end
    puts "%s: %s" % [lexer.tag, desc]

    lexer.option_docs.keys.sort.each do |option|
      puts "  ?#{option}= #{lexer.option_docs[option]}"
    end

    puts
  end
end