diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index 7216003f..b98465dd 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -110,6 +110,12 @@ module Linguist end end + disambiguate ".cls" do |data| + if /\\\w+{/.match(data) + Language["TeX"] + end + end + disambiguate ".cs" do |data| if /![\w\s]+methodsFor: /.match(data) Language["Smalltalk"] diff --git a/test/test_heuristics.rb b/test/test_heuristics.rb index 921cc021..4fe3d38a 100644 --- a/test/test_heuristics.rb +++ b/test/test_heuristics.rb @@ -73,6 +73,15 @@ class TestHeuristcs < Minitest::Test }) end + def test_cls_by_heuristics + assert_heuristics({ + "TeX" => all_fixtures("TeX", "*.cls"), + nil => all_fixtures("Apex", "*.cls"), + nil => all_fixtures("OpenEdge ABL", "*.cls"), + nil => all_fixtures("Visual Basic", "*.cls"), + }) + end + def test_cs_by_heuristics assert_heuristics({ "C#" => all_fixtures("C#", "*.cs"),