mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Fix Shell lexer
This commit is contained in:
@@ -410,6 +410,7 @@ Self:
|
|||||||
- .self
|
- .self
|
||||||
Shell:
|
Shell:
|
||||||
:lexer: bash
|
:lexer: bash
|
||||||
|
:default_lexer: true
|
||||||
:ext:
|
:ext:
|
||||||
- .sh
|
- .sh
|
||||||
- .zsh
|
- .zsh
|
||||||
|
|||||||
@@ -11,10 +11,12 @@ module Linguist
|
|||||||
|
|
||||||
@name_index[language.name.downcase] = language
|
@name_index[language.name.downcase] = language
|
||||||
|
|
||||||
if language.default_lexer? || !@lexer_index.key?(language.lexer)
|
if attributes[:default_lexer] || language.default_lexer?
|
||||||
@lexer_index[language.lexer.downcase] = language
|
@lexer_index[language.lexer.downcase] = language
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@lexer_index[language.lexer.downcase] ||= language
|
||||||
|
|
||||||
language.extensions.each do |extension|
|
language.extensions.each do |extension|
|
||||||
@extension_index[extension] = language
|
@extension_index[extension] = language
|
||||||
@extension_index[extension.sub(/^./, '')] = language
|
@extension_index[extension.sub(/^./, '')] = language
|
||||||
@@ -87,6 +89,7 @@ module Linguist
|
|||||||
Language.create(
|
Language.create(
|
||||||
:name => name,
|
:name => name,
|
||||||
:lexer => options[:lexer],
|
:lexer => options[:lexer],
|
||||||
|
:default_lexer => options[:default_lexer],
|
||||||
:extensions => options[:ext],
|
:extensions => options[:ext],
|
||||||
:popular => popular.include?(name)
|
:popular => popular.include?(name)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -19,12 +19,16 @@ class TestLanguage < Test::Unit::TestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_find_by_lexer
|
def test_find_by_lexer
|
||||||
|
assert_equal Language['C'], Language.find_by_lexer('c')
|
||||||
|
assert_equal Language['C++'], Language.find_by_lexer('cpp')
|
||||||
|
assert_equal Language['Java'], Language.find_by_lexer('java')
|
||||||
|
assert_equal Language['JavaScript'], Language.find_by_lexer('javascript')
|
||||||
|
assert_equal Language['OCaml'], Language.find_by_lexer('ocaml')
|
||||||
assert_equal Language['Perl'], Language.find_by_lexer('perl')
|
assert_equal Language['Perl'], Language.find_by_lexer('perl')
|
||||||
assert_equal Language['Python'], Language.find_by_lexer('python')
|
assert_equal Language['Python'], Language.find_by_lexer('python')
|
||||||
assert_equal Language['Ruby'], Language.find_by_lexer('ruby')
|
assert_equal Language['Ruby'], Language.find_by_lexer('ruby')
|
||||||
assert_equal Language['C++'], Language.find_by_lexer('cpp')
|
|
||||||
assert_equal Language['JavaScript'], Language.find_by_lexer('javascript')
|
|
||||||
assert_equal Language['Scheme'], Language.find_by_lexer('scheme')
|
assert_equal Language['Scheme'], Language.find_by_lexer('scheme')
|
||||||
|
assert_equal Language['Shell'], Language.find_by_lexer('bash')
|
||||||
assert_equal Language['Text'], Language.find_by_lexer('kt')
|
assert_equal Language['Text'], Language.find_by_lexer('kt')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user