From 44f03e64c1f79dc03f67a1e63192c59932ed7147 Mon Sep 17 00:00:00 2001 From: John Gardner Date: Sat, 29 Apr 2017 19:15:39 +1000 Subject: [PATCH] Merge heuristics for disambiguating ".t" files (#3587) References: github/linguist#3546 --- lib/linguist/heuristics.rb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index 221330b8..70fc2787 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -344,11 +344,11 @@ module Linguist end end - disambiguate ".pm", ".t" do |data| - if /use strict|use\s+v?5\./.match(data) - Language["Perl"] - elsif /^(use v6|(my )?class|module)/.match(data) + disambiguate ".pm" do |data| + if /^\s*(?:use\s+v6\s*;|(?:\bmy\s+)?class|module)\b/.match(data) Language["Perl6"] + elsif /\buse\s+(?:strict\b|v?5\.)/.match(data) + Language["Perl"] end end @@ -443,10 +443,12 @@ module Linguist end disambiguate ".t" do |data| - if /^\s*%|^\s*var\s+\w+\s*:\s*\w+/.match(data) + if /^\s*%[ \t]+|^\s*var\s+\w+\s*:=\s*\w+/.match(data) Language["Turing"] - elsif /^\s*use\s+v6\s*;/.match(data) + elsif /^\s*(?:use\s+v6\s*;|\bmodule\b|\b(?:my\s+)?class\b)/.match(data) Language["Perl6"] + elsif /\buse\s+(?:strict\b|v?5\.)/.match(data) + Language["Perl"] end end