mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Test all lexers can by found by name
This commit is contained in:
@@ -4,9 +4,17 @@ require 'yaml'
|
||||
module Linguist
|
||||
# Mirror of Pygments Lexer structure.
|
||||
class Lexer < Struct.new(:name, :aliases, :filenames, :mimetypes)
|
||||
@lexers = []
|
||||
@name_index = {}
|
||||
@alias_index = {}
|
||||
|
||||
# Public: Get all Lexers
|
||||
#
|
||||
# Returns an Array of Lexers
|
||||
def self.all
|
||||
@lexers
|
||||
end
|
||||
|
||||
# Public: Look up Lexer by its proper name.
|
||||
#
|
||||
# name - The case-insensitive String name of the Lexer
|
||||
@@ -92,6 +100,8 @@ module Linguist
|
||||
# `bin/pygments-lexers` dumps a YAML list of all the available
|
||||
# Pygments lexers.
|
||||
YAML.load_file(File.expand_path("../lexers.yml", __FILE__)).each do |lexer|
|
||||
@lexers << lexer
|
||||
|
||||
# All Lexer names should be unique. Warn if there is a duplicate.
|
||||
if @name_index.key?(lexer.name.downcase)
|
||||
warn "Duplicate lexer name: #{lexer.name}"
|
||||
|
||||
Reference in New Issue
Block a user