The Wayback Machine - https://web.archive.org/web/20201019101406/https://github.com/octocat/linguist/compare/master...octocat:an-example-comparison-for-docs
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
base repository: octocat/linguist
Choose a Base Repository
github/linguist
octocat/linguist
1974kpkpkp/linguist
22sadewa22/linguist
6un9-h0-Dan/linguist
Acidburn0zzz/linguist
Aktrc/linguist
AsherBond/linguist
Blueprint-Marketing/linguist
Bluscream/linguist
Bostonncity/linguist
ChingTi/linguist
CyberShadow/linguist
DalavanCloud/linguist
DerekV/linguist
Epictetus/linguist
Erls-Corporation/linguist
Frostman/linguist
JT0407/linguist
Lavrend/linguist
LoLi-Lang/linguist
LunarMother/linguist
MeirKriheli/linguist
Mellbabe/linguist
MissSheyni/linguist
Musicantma/linguist
Ocramius/linguist
Open-Turing-Project/linguist
Peterkingalex1972/linguist
PhoenixPeca/linguist
REAS/linguist
SRI-CSL/linguist
Sen/linguist
StoneCypher/linguist
SuiyunCloud/linguist
Thompsons/linguist
TimHansen/linguist
UniversityOfRidiculousMythologies/linguist
Wildfoxx007/linguist
XVilka/linguist
Yardanico/linguist
Zlender/linguist
aaroncompaniados26/linguist
ab5tract/linguist
abarrachina/linguist
abevoelker/linguist
adamyi/linguist
adiputra6/linguist
adjob/linguist
agentultra/linguist
ahrokib/linguist
akshayblevel/linguist
alokmenghrajani/linguist
ananthrk/linguist
androidrob/linguist
andyklock/linguist
andylamp/linguist
ayoubserti/linguist
bakkdoor/linguist
beckje01/linguist
bkerley/linguist
bofeiw/linguist
borgified/linguist
bratish/linguist
brynary/linguist
btd/scala-linguist
burningTyger/linguist
c-lipka/linguist
chiraag/linguist
cmhokej/linguist
codeclimate/linguist
cooljeanius/linguist
corollari/linguist
cpatni/linguist
crabmusket/linguist
cybernet14/linguist
dals/linguist
david-waltermire-nist/linguist
deadkniferecords/linguist
devinus/linguist
dineshkummarc/linguist
dom96/linguist
donma/linguist
doubleotoo/linguist
dtrapezoid/linguist
ealliaume/linguist
earl/linguist
egisatoshi/linguist
elikrumova/linguist
euclio/linguist
evil-probablycorey/linguist
flaviusb/linguist
gitlabhq/linguist
gosu-tools/linguist
grosser/language_sniffer
hamiiiiid/linguist
heelhook/linguist
hinoryu/linguist
hoquality/linguist
igrigorik/linguist
ilyes14/linguist
iorixxx/linguist
jaeg131194/linguist
jason1978-repository1/linguist
jaxzin/linguist
jettero/linguist
jimywork/linguist
johan/linguist
johanneskoester/linguist
johnsir/linguist
jongalloway/linguist
jpcs/linguist
jsiwek/linguist
jstrachan/linguist
justzx2011/linguist
jwilkins/linguist
kassi/linguist
keikubo/linguist
kennknowles/linguist
kepstin/linguist
keshan/linguist
kess2006/linguist
kevinsawicki/linguist
kkaefer/linguist
kprevas/linguist
kspalaiologos/linguist
leafo/linguist
lethaldose/linguist
leto/linguist
lparenteau/linguist
maieul/linguist
manveru/linguist
matiasinsaurralde/linguist
mattn/linguist
mazharul-miraz/linguist
mcanthony/linguist
mcobrien/linguist
mgdm/linguist
mhenirecord/linguist
mislav/linguist
mistydemeo/linguist
miyomi/linguist
mleinart/linguist
mmullis/linguist
mojombo/linguist
moskvin/linguist
nibalizer/linguist
niilante/linguist
noelnamai/linguist
nolta/linguist
pao/linguist
pavel-the-fucked-up-bastard/linguist
pchaigno/linguist
peterkinalex/linguist
pmoura/linguist
pombredanne/linguist
protohub/linguist
rankida/linguist
remi/linguist
rkh/linguist
rlsosborne/linguist
rnagrodzki/linguist
robbrit/linguist
robnewman/linguist
robsimmons/linguist
ruelbargo/linguist
sahildua2305/linguist
samerkadem/linguist
sander99999/linguist
sarahhodne/linguist
sbisbee/linguist
sdressler/linguist
sebgod/linguist
sevgimiz-fm/linguist
simonoff/linguist
sj26/linguist
skoon/linguist
smola/linguist
softprops/linguist
stof/linguist
strangewarp/linguist
sunaku/linguist
svenefftinge/linguist
t0919170301/linguist
tautologico/linguist
tbohlender/linguist
tnm/linguist
toothrot/linguist
ttimz1313/linguist
txdywy/linguist
uleewang/linguist
utkarshkukreti/linguist
vadimkagusev/linguist
valscion/linguist
vedo73/linguist
wildmichael/linguist
wkentaro/linguist
yyx990803/linguist
zhensydow/linguist
zoohansever/linguist
Nothing to show
base: master
head repository: octocat/linguist
Choose a Head Repository
github/linguist
octocat/linguist
1974kpkpkp/linguist
22sadewa22/linguist
6un9-h0-Dan/linguist
Acidburn0zzz/linguist
Aktrc/linguist
AsherBond/linguist
Blueprint-Marketing/linguist
Bluscream/linguist
Bostonncity/linguist
ChingTi/linguist
CyberShadow/linguist
DalavanCloud/linguist
DerekV/linguist
Epictetus/linguist
Erls-Corporation/linguist
Frostman/linguist
JT0407/linguist
Lavrend/linguist
LoLi-Lang/linguist
LunarMother/linguist
MeirKriheli/linguist
Mellbabe/linguist
MissSheyni/linguist
Musicantma/linguist
Ocramius/linguist
Open-Turing-Project/linguist
Peterkingalex1972/linguist
PhoenixPeca/linguist
REAS/linguist
SRI-CSL/linguist
Sen/linguist
StoneCypher/linguist
SuiyunCloud/linguist
Thompsons/linguist
TimHansen/linguist
UniversityOfRidiculousMythologies/linguist
Wildfoxx007/linguist
XVilka/linguist
Yardanico/linguist
Zlender/linguist
aaroncompaniados26/linguist
ab5tract/linguist
abarrachina/linguist
abevoelker/linguist
adamyi/linguist
adiputra6/linguist
adjob/linguist
agentultra/linguist
ahrokib/linguist
akshayblevel/linguist
alokmenghrajani/linguist
ananthrk/linguist
androidrob/linguist
andyklock/linguist
andylamp/linguist
ayoubserti/linguist
bakkdoor/linguist
beckje01/linguist
bkerley/linguist
bofeiw/linguist
borgified/linguist
bratish/linguist
brynary/linguist
btd/scala-linguist
burningTyger/linguist
c-lipka/linguist
chiraag/linguist
cmhokej/linguist
codeclimate/linguist
cooljeanius/linguist
corollari/linguist
cpatni/linguist
crabmusket/linguist
cybernet14/linguist
dals/linguist
david-waltermire-nist/linguist
deadkniferecords/linguist
devinus/linguist
dineshkummarc/linguist
dom96/linguist
donma/linguist
doubleotoo/linguist
dtrapezoid/linguist
ealliaume/linguist
earl/linguist
egisatoshi/linguist
elikrumova/linguist
euclio/linguist
evil-probablycorey/linguist
flaviusb/linguist
gitlabhq/linguist
gosu-tools/linguist
grosser/language_sniffer
hamiiiiid/linguist
heelhook/linguist
hinoryu/linguist
hoquality/linguist
igrigorik/linguist
ilyes14/linguist
iorixxx/linguist
jaeg131194/linguist
jason1978-repository1/linguist
jaxzin/linguist
jettero/linguist
jimywork/linguist
johan/linguist
johanneskoester/linguist
johnsir/linguist
jongalloway/linguist
jpcs/linguist
jsiwek/linguist
jstrachan/linguist
justzx2011/linguist
jwilkins/linguist
kassi/linguist
keikubo/linguist
kennknowles/linguist
kepstin/linguist
keshan/linguist
kess2006/linguist
kevinsawicki/linguist
kkaefer/linguist
kprevas/linguist
kspalaiologos/linguist
leafo/linguist
lethaldose/linguist
leto/linguist
lparenteau/linguist
maieul/linguist
manveru/linguist
matiasinsaurralde/linguist
mattn/linguist
mazharul-miraz/linguist
mcanthony/linguist
mcobrien/linguist
mgdm/linguist
mhenirecord/linguist
mislav/linguist
mistydemeo/linguist
miyomi/linguist
mleinart/linguist
mmullis/linguist
mojombo/linguist
moskvin/linguist
nibalizer/linguist
niilante/linguist
noelnamai/linguist
nolta/linguist
pao/linguist
pavel-the-fucked-up-bastard/linguist
pchaigno/linguist
peterkinalex/linguist
pmoura/linguist
pombredanne/linguist
protohub/linguist
rankida/linguist
remi/linguist
rkh/linguist
rlsosborne/linguist
rnagrodzki/linguist
robbrit/linguist
robnewman/linguist
robsimmons/linguist
ruelbargo/linguist
sahildua2305/linguist
samerkadem/linguist
sander99999/linguist
sarahhodne/linguist
sbisbee/linguist
sdressler/linguist
sebgod/linguist
sevgimiz-fm/linguist
simonoff/linguist
sj26/linguist
skoon/linguist
smola/linguist
softprops/linguist
stof/linguist
strangewarp/linguist
sunaku/linguist
svenefftinge/linguist
t0919170301/linguist
tautologico/linguist
tbohlender/linguist
tnm/linguist
toothrot/linguist
ttimz1313/linguist
txdywy/linguist
uleewang/linguist
utkarshkukreti/linguist
vadimkagusev/linguist
valscion/linguist
vedo73/linguist
wildmichael/linguist
wkentaro/linguist
yyx990803/linguist
zhensydow/linguist
zoohansever/linguist
Nothing to show
compare: an-example-comparison-for-docs
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 2 files changed
  • 0 comments
  • 2 contributors
Showing with 36 additions and 11 deletions.
  1. +9 −0 lib/linguist/heuristics.rb
  2. +27 −11 test/test_heuristics.rb
@@ -23,6 +23,15 @@ def self.call(blob, languages)
[] # No heuristics matched
end

# Public: Do we have a heuristic for these candidate languages?
#
# languages - Array of Language objects
#
# Returns true if there are matching heuristics or nil
def self.defined_for?(languages)
@heuristics.select { |h| h.matches?(languages) }.any?
end

# Internal: Define a new heuristic.
#
# languages - String names of languages to disambiguate.
@@ -22,6 +22,17 @@ def test_no_match
assert_equal [], results
end

def assert_heuristics(hash)
candidates = hash.keys.map { |l| Language[l] }

hash.each do |language, blobs|
Array(blobs).each do |blob|
result = Heuristics.call(file_blob(blob), candidates)
assert_equal [Language[language]], result, "Failed for #{blob}"
end
end
end

# Candidate languages = ["C++", "Objective-C"]
def test_obj_c_by_heuristics
# Only calling out '.h' filenames as these are the ones causing issues
@@ -148,17 +159,6 @@ def test_cs_by_heuristics
})
end

def assert_heuristics(hash)
candidates = hash.keys.map { |l| Language[l] }

hash.each do |language, blobs|
Array(blobs).each do |blob|
result = Heuristics.call(file_blob(blob), candidates)
assert_equal [Language[language]], result, "Failed for #{blob}"
end
end
end

def test_ls_by_heuristics
assert_heuristics({
"LiveScript" => "LiveScript/hello.ls",
@@ -172,4 +172,20 @@ def test_ts_by_heuristics
"XML" => all_fixtures("XML", "*.ts")
})
end

def output_languages(languages)
languages.map { |l| l.name }.join(", ")
end

# If a language extension isn't globally unique then check if we have a heuristic
Linguist::Language.all.each do |language|
define_method "test_#{language.name}_has_adequate_heuristics" do
language.extensions.each do |extension|
languages = Language.find_by_extension(extension)
next if extension == ".script!" || languages.size == 1

assert Heuristics.defined_for?(languages), "No heuristic for #{extension} and #{output_languages(languages)}"
end
end
end
end

No commit comments for this range

You can’t perform that action at this time.