lib/linguist/heuristics.rb in github-linguist-4.5.5 vs lib/linguist/heuristics.rb in github-linguist-4.5.6

- old
+ new

@@ -281,13 +281,41 @@ Language["NewLisp"] end end disambiguate "Rust", "RenderScript" do |data| - if data.include?("^(use |fn |mod |pub |macro_rules|impl|#!?\[)") + if /^(use |fn |mod |pub |macro_rules|impl|#!?\[)/.match(data) Language["Rust"] elsif /#include|#pragma\s+(rs|version)|__attribute__/.match(data) Language["RenderScript"] + end + end + + disambiguate "Common Lisp", "Lex", "Groff", "PicoLisp" do |data| + if /\(def(un|macro)\s/.match(data) + Language["Common Lisp"] + elsif /^(%[%{}]xs|<.*>)/.match(data) + Language["Lex"] + elsif /^\.[a-z][a-z](\s|$)/i.match(data) + Language["Groff"] + elsif /^\((de|class|rel|code|data|must)\s/.match(data) + Language["PicoLisp"] + end + end + + disambiguate "Groff", "Nemerle" do |data| + if /^[.']/.match(data) + Language["Groff"] + elsif /^(module|namespace|using)\s/.match(data) + Language["Nemerle"] + end + end + + disambiguate "GAS", "Groff" do |data| + if /^[.'][a-z][a-z](\s|$)/i.match(data) + Language["Groff"] + elsif /((^|\s)move?[. ])|\.(include|globa?l)\s/.match(data) + Language["GAS"] end end end end