42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/rouge/cli.rb', line 42
def highlight(file=nil)
filename = options[:file] || file
source = filename ? File.read(filename) : $stdin.read
if options[:lexer].nil?
lexer_class = Lexer.guess(
:filename => filename,
:mimetype => options[:mimetype],
:source => source,
)
else
lexer_class = Lexer.find(options[:lexer])
raise "unknown lexer: #{options[:lexer]}" unless lexer_class
end
formatter_class = Formatter.find(options[:formatter])
formatter = formatter_class.new(normalize_hash_keys(options[:formatter_opts]))
lexer = lexer_class.new(normalize_hash_keys(options[:lexer_opts]))
puts Rouge.highlight(source, lexer, formatter)
end
|