class Pygments::Lexer

Public Class Methods

[](name) click to toggle source

Public: Alias for find.

@param name [String] @return [Lexer, nil]

# File lib/pygments/lexer.rb, line 30
def self.[](name)
  find(name)
end
all() click to toggle source

@return [Array<Lexer>]

# File lib/pygments/lexer.rb, line 10
def self.all
  LexerCache.instance.lexers
end
find(name) click to toggle source

Public: Look up Lexer by name or alias.

name - A String name or alias

Lexer.find('Ruby')
=> #<Lexer name="Ruby">

@return [Lexer, nil]

# File lib/pygments/lexer.rb, line 22
def self.find(name)
  LexerCache.instance.index[name.to_s.downcase]
end
find_by_alias(name) click to toggle source

Public: Look up Lexer by one of its aliases.

name - A String alias of the Lexer

Examples

Lexer.find_by_alias('rb')
# => #<Lexer name="Ruby">

@param name [String] @return [Lexer, nil]

# File lib/pygments/lexer.rb, line 60
def self.find_by_alias(name)
  LexerCache.instance.alias_index[name]
end
find_by_extname(extname) click to toggle source

Public: Look up Lexer by one of it’s file extensions.

extname - A String file extension.

Examples

Lexer.find_by_extname('.rb')
# => #<Lexer name="Ruby">

@param extname [String] @return [Lexer, nil]

# File lib/pygments/lexer.rb, line 75
def self.find_by_extname(extname)
  LexerCache.instance.extname_index[extname]
end
find_by_mimetype(type) click to toggle source

Public: Look up Lexer by one of it’s mime types.

type - A mime type String.

Examples

Lexer.find_by_mimetype('application/x-ruby')
# => #<Lexer name="Ruby">

@param type [String] @return [Lexer, nil]

# File lib/pygments/lexer.rb, line 90
def self.find_by_mimetype(type)
  LexerCache.instance.mimetypes_index[type]
end
find_by_name(name) click to toggle source

Public: Look up Lexer by its proper name.

name - The String name of the Lexer

Examples

Lexer.find_by_name('Ruby')
# => #<Lexer name="Ruby">

@param name [String] @return [Lexer, nil]

# File lib/pygments/lexer.rb, line 45
def self.find_by_name(name)
  LexerCache.instance.name_index[name]
end

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 100
def highlight(text, options = {})
  options[:lexer] = aliases.first
  Pygments.highlight(text, options)
end