mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Heuristics for .cs files: Smalltalk and C#
This commit is contained in:
@@ -69,6 +69,14 @@ module Linguist
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
disambiguate "C#", "Smalltalk" do |data|
|
||||||
|
if /![\w\s]+methodsFor: /.match(data)
|
||||||
|
Language["Smalltalk"]
|
||||||
|
elsif /^\s*namespace\s*[\w\.]+\s*{/.match(data) || /^\s*using\s*[\w\.]+\s*;/.match(data)
|
||||||
|
Language["C#"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
disambiguate "Objective-C", "C++", "C" do |data|
|
disambiguate "Objective-C", "C++", "C" do |data|
|
||||||
if (/^[ \t]*@(interface|class|protocol|property|end|synchronised|selector|implementation)\b/.match(data))
|
if (/^[ \t]*@(interface|class|protocol|property|end|synchronised|selector|implementation)\b/.match(data))
|
||||||
Language["Objective-C"]
|
Language["Objective-C"]
|
||||||
|
|||||||
@@ -133,6 +133,13 @@ class TestHeuristcs < Minitest::Test
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_cs_by_heuristics
|
||||||
|
assert_heuristics({
|
||||||
|
"C#" => all_fixtures("C#", "*.cs"),
|
||||||
|
"Smalltalk" => all_fixtures("Smalltalk", "*.cs")
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
def assert_heuristics(hash)
|
def assert_heuristics(hash)
|
||||||
candidates = hash.keys.map { |l| Language[l] }
|
candidates = hash.keys.map { |l| Language[l] }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user