Parent

Class/Module Index [+]

Quicksearch

Pygments::Lexer

Public Class Methods

[](name) click to toggle source

Public: Alias for find.

# File lib/pygments/lexer.rb, line 72
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 55
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 15
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 |extname|
      @extname_index[extname] = lexer
      @index[extname.downcase.sub(/^\./, "")] ||= lexer
    end
  end

  lexer.mimetypes.each do |type|
    @mimetypes_index[type] = lexer
  end

  lexer
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">

Returns the Lexer or nil if none was found.

# File lib/pygments/lexer.rb, line 67
def self.find(name)
  @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">

Returns the Lexer or nil if none was found.

# File lib/pygments/lexer.rb, line 100
def self.find_by_alias(name)
  @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">

Returns the Lexer or nil if none was found.

# File lib/pygments/lexer.rb, line 114
def self.find_by_extname(extname)
  @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">

Returns the Lexer or nil if none was found.

# File lib/pygments/lexer.rb, line 128
def self.find_by_mimetype(type)
  @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">

Returns the Lexer or nil if none was found.

# File lib/pygments/lexer.rb, line 86
def self.find_by_name(name)
  @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 138
def highlight(text, options = {})
  options[:lexer] = aliases.first
  Pygments.highlight(text, options)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.