mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
Add name <=> lexer helpers
This commit is contained in:
@@ -43,6 +43,18 @@ module Linguist
|
||||
@lexer_index.to_a
|
||||
end
|
||||
|
||||
def self.lexer2name(lexer)
|
||||
if language = find_by_lexer(lexer)
|
||||
language.name
|
||||
end
|
||||
end
|
||||
|
||||
def self.name2lexer(name)
|
||||
if language = find_by_name(name)
|
||||
language.lexer
|
||||
end
|
||||
end
|
||||
|
||||
def initialize(attributes = {})
|
||||
@name = attributes[:name] || raise(ArgumentError, "missing name")
|
||||
@lexer = attributes[:lexer] || default_lexer
|
||||
|
||||
@@ -29,6 +29,18 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_nil Language.find_by_lexer('kt')
|
||||
end
|
||||
|
||||
def test_lexer2name
|
||||
assert_equal 'Ruby', Language.lexer2name('ruby')
|
||||
assert_equal 'Python', Language.lexer2name('python')
|
||||
assert_nil Language.lexer2name('kt')
|
||||
end
|
||||
|
||||
def test_name2lexer
|
||||
assert_equal 'ruby', Language.name2lexer('Ruby')
|
||||
assert_equal 'python', Language.name2lexer('Python')
|
||||
assert_nil Language.name2lexer('defunkt')
|
||||
end
|
||||
|
||||
def test_name
|
||||
assert_equal "Perl", Language['Perl'].name
|
||||
assert_equal "Python", Language['Python'].name
|
||||
|
||||
Reference in New Issue
Block a user