lib/linguist/heuristics.rb in github-linguist-4.8.9 vs lib/linguist/heuristics.rb in github-linguist-4.8.10

- old
+ new

@@ -142,18 +142,30 @@ elsif /(?:\/\/|("|')use strict\1|export\s+default\s|\/\*.*?\*\/)/m.match(data) Language["JavaScript"] end end - disambiguate ".for", ".f" do |data| + fortran_rx = /^([c*][^abd-z]| (subroutine|program|end)\s|\s*!)/i + + disambiguate ".f" do |data| if /^: /.match(data) Language["Forth"] - elsif /^([c*][^abd-z]| (subroutine|program|end)\s|\s*!)/i.match(data) + elsif data.include?("flowop") + Language["Filebench WML"] + elsif fortran_rx.match(data) Language["FORTRAN"] end end + disambiguate ".for" do |data| + if /^: /.match(data) + Language["Forth"] + elsif fortran_rx.match(data) + Language["FORTRAN"] + end + end + disambiguate ".fr" do |data| if /^(: |also |new-device|previous )/.match(data) Language["Forth"] elsif /^\s*(import|module|package|data|type) /.match(data) Language["Frege"] @@ -352,11 +364,11 @@ end disambiguate ".r" do |data| if /\bRebol\b/i.match(data) Language["Rebol"] - elsif data.include?("<-") + elsif /<-|^\s*#/.match(data) Language["R"] end end disambiguate ".rno" do |data| @@ -428,10 +440,10 @@ Language["TeX"] end end disambiguate ".ts" do |data| - if data.include?("</TS>") + if data.include?("<TS") Language["XML"] else Language["TypeScript"] end end