Class: Rouge::CLI::List

Inherits:
Rouge::CLI show all
Defined in:
lib/rouge/cli.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Rouge::CLI

class_from_arg, error!, #error!, #initialize, normalize_syntax

Constructor Details

This class inherits a constructor from Rouge::CLI

Class Method Details

.descObject


397
398
399
# File 'lib/rouge/cli.rb', line 397

def self.desc
  "list available lexers"
end

.doc {|%|usage: rouge list|| ... } ⇒ Object

Yields:

  • (%|usage: rouge list|)

401
402
403
404
405
406
407
# File 'lib/rouge/cli.rb', line 401

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

.parse(argv) ⇒ Object


409
410
411
# File 'lib/rouge/cli.rb', line 409

def self.parse(argv)
  new
end

Instance Method Details

#runObject


413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
# File 'lib/rouge/cli.rb', line 413

def run
  puts "== Available Lexers =="

  Lexer.all.sort_by(&:tag).each do |lexer|
    desc = String.new("#{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