mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
Add Pathname#lexer and Pathname#lexer_name
This commit is contained in:
@@ -22,6 +22,22 @@ module Linguist
|
||||
Language.find_by_extension(extname)
|
||||
end
|
||||
|
||||
def lexer
|
||||
if language
|
||||
language.lexer
|
||||
else
|
||||
'plain'
|
||||
end
|
||||
end
|
||||
|
||||
def lexer_name
|
||||
if language
|
||||
language.name
|
||||
else
|
||||
'Text'
|
||||
end
|
||||
end
|
||||
|
||||
def to_s
|
||||
@path.dup
|
||||
end
|
||||
|
||||
@@ -41,4 +41,21 @@ class TestPathname < Test::Unit::TestCase
|
||||
assert_equal Language['Nu'], Pathname.new("itty.nu").language
|
||||
assert_nil Pathname.new("defun.kt").language
|
||||
end
|
||||
|
||||
def test_lexer
|
||||
assert_equal 'ruby', Pathname.new("file.rb").lexer
|
||||
assert_equal 'ruby', Pathname.new("Rakefile").lexer
|
||||
assert_equal 'bash', Pathname.new("file.ebuild").lexer
|
||||
assert_equal 'python', Pathname.new("itty.py").lexer
|
||||
assert_equal 'scheme', Pathname.new("itty.nu").lexer
|
||||
assert_equal 'plain', Pathname.new("defun.kt").lexer
|
||||
end
|
||||
|
||||
def test_lexer_name
|
||||
assert_equal 'Ruby', Pathname.new("file.rb").lexer_name
|
||||
assert_equal 'Gentoo Ebuild', Pathname.new("file.ebuild").lexer_name
|
||||
assert_equal 'Ruby', Pathname.new("Rakefile").lexer_name
|
||||
assert_equal 'Nu', Pathname.new("itty.nu").lexer_name
|
||||
assert_equal 'Text', Pathname.new("defun.kt").lexer_name
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user