class Pygments::Lexer
Public Class Methods
[](name)
click to toggle source
Public: Alias for find.
# File lib/pygments/lexer.rb, line 73 def self.[](name) find(name) end
all()
click to toggle source
Public: Get all Lexers
Returns an Array of Lexers
# File lib/pygments/lexer.rb, line 56 def self.all @lexers end
create(hash)
click to toggle source
Internal: Create a new Lexer object
hash - A hash of attributes
Returns a Lexer object
# File lib/pygments/lexer.rb, line 16 def self.create(hash) lexer = new(hash[:name], hash[:aliases], hash[:filenames], hash[:mimetypes]) @lexers << lexer @index[lexer.name.downcase] = @name_index[lexer.name] = lexer lexer.aliases.each do |name| @alias_index[name] = lexer @index[name.downcase] ||= lexer end lexer.filenames.each do |filename| extnames = [] extname = File.extname(filename) if m = extname.match(/\[(.+)\]/) m[1].scan(/./).each do |s| extnames << extname.sub(m[0], s) end elsif extname != "" extnames << extname end extnames.each do |the_extname| @extname_index[the_extname] = lexer @index[the_extname.downcase.sub(/^\./, "")] ||= lexer end end lexer.mimetypes.each do |type| @mimetypes_index[type] = lexer end lexer end
find(name)
click to toggle source
find_by_alias(name)
click to toggle source
find_by_extname(extname)
click to toggle source
find_by_mimetype(type)
click to toggle source
find_by_name(name)
click to toggle source
Public Instance Methods
highlight(text, options = {})
click to toggle source
Public: Highlight syntax of text
text - String of code to be highlighted options - Hash of options (defaults to {})
Returns html String
# File lib/pygments/lexer.rb, line 139 def highlight(text, options = {}) options[:lexer] = aliases.first Pygments.highlight(text, options) end