mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Reworking most heuristics to only return one match
This commit is contained in:
@@ -44,22 +44,31 @@ module Linguist
|
|||||||
# Returns an array of Languages or []
|
# Returns an array of Languages or []
|
||||||
def self.disambiguate_c(data, languages)
|
def self.disambiguate_c(data, languages)
|
||||||
matches = []
|
matches = []
|
||||||
matches << Language["Objective-C"] if data.include?("@interface")
|
if data.include?("@interface")
|
||||||
matches << Language["C++"] if data.include?("#include <cstdint>")
|
matches << Language["Objective-C"]
|
||||||
|
elsif data.include?("#include <cstdint>")
|
||||||
|
matches << Language["C++"]
|
||||||
|
end
|
||||||
matches
|
matches
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.disambiguate_pl(data, languages)
|
def self.disambiguate_pl(data, languages)
|
||||||
matches = []
|
matches = []
|
||||||
matches << Language["Prolog"] if data.include?(":-")
|
if data.include?("use strict")
|
||||||
matches << Language["Perl"] if data.include?("use strict")
|
matches << Language["Perl"]
|
||||||
|
elsif data.include?(":-")
|
||||||
|
matches << Language["Prolog"]
|
||||||
|
end
|
||||||
matches
|
matches
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.disambiguate_ecl(data, languages)
|
def self.disambiguate_ecl(data, languages)
|
||||||
matches = []
|
matches = []
|
||||||
matches << Language["Prolog"] if data.include?(":-")
|
if data.include?(":-")
|
||||||
matches << Language["ECL"] if data.include?(":=")
|
matches << Language["Prolog"]
|
||||||
|
elsif data.include?(":=")
|
||||||
|
matches << Language["ECL"]
|
||||||
|
end
|
||||||
matches
|
matches
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -85,8 +94,11 @@ module Linguist
|
|||||||
|
|
||||||
def self.disambiguate_cl(data, languages)
|
def self.disambiguate_cl(data, languages)
|
||||||
matches = []
|
matches = []
|
||||||
matches << Language["Common Lisp"] if data.include?("(defun ")
|
if data.include?("(defun ")
|
||||||
matches << Language["OpenCL"] if /\/\* |\/\/ |^\}/.match(data)
|
matches << Language["Common Lisp"]
|
||||||
|
elsif /\/\* |\/\/ |^\}/.match(data)
|
||||||
|
matches << Language["OpenCL"]
|
||||||
|
end
|
||||||
matches
|
matches
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user