lib/linguist/heuristics.rb in github-linguist-4.5.3 vs lib/linguist/heuristics.rb in github-linguist-4.5.4

- old
+ new

@@ -170,17 +170,19 @@ elsif /^([c*][^a-z]| (subroutine|program)\s|\s*!)/i.match(data) Language["FORTRAN"] end end - disambiguate "F#", "Forth", "GLSL" do |data| + disambiguate "F#", "Forth", "GLSL", "Filterscript" do |data| if /^(: |new-device)/.match(data) Language["Forth"] elsif /^\s*(#light|import|let|module|namespace|open|type)/.match(data) Language["F#"] - elsif /^\s*(#include|#pragma|precision|uniform|varying|void)/.match(data) + elsif /^\s*(#version|precision|uniform|varying|vec[234])/.match(data) Language["GLSL"] + elsif /#include|#pragma\s+(rs|version)|__attribute__/.match(data) + Language["Filterscript"] end end disambiguate "M", "MUF", "Mathematica", "Matlab", "Mercury", "Objective-C" do |data| if ObjectiveCRegex.match(data) @@ -276,7 +278,14 @@ else Language["NewLisp"] end end + disambiguate "Rust", "RenderScript" do |data| + if data.include?("^(use |fn |mod |pub |macro_rules|impl|#!?\[)") + Language["Rust"] + elsif /#include|#pragma\s+(rs|version)|__attribute__/.match(data) + Language["RenderScript"] + end + end end end