diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index 215d0baa..4f71add1 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -61,6 +61,14 @@ module Linguist @heuristic.call(data) end + disambiguate "BitBake", "BlitzBasic" do |data| + if /^\s*; /.match(data) || data.include?("End Function") + Language["BlitzBasic"] + elsif /^\s*(# |include|require)\b/.match(data) + Language["BitBake"] + end + end + disambiguate "Objective-C", "C++", "C" do |data| if (/@(interface|class|protocol|property|end|synchronised|selector|implementation)\b/.match(data)) Language["Objective-C"] @@ -156,6 +164,14 @@ module Linguist end end + disambiguate "TypeScript", "XML" do |data| + if data.include?(" all_fixtures("BitBake"), + "BlitzBasic" => all_fixtures("BlitzBasic") + }) + end + def assert_heuristics(hash) candidates = hash.keys.map { |l| Language[l] }