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