35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/rouge/cli.rb', line 35
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 = Formatters::HTML.new(normalize_hash_keys(options[:formatter_opts]))
lexer = lexer_class.new(normalize_hash_keys(options[:lexer_opts]))
puts Rouge.highlight(source, lexer, formatter)
end
|