github-linguist 9.5.0 → 9.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/grammars/etc.json +1 -1
- data/grammars/gno.mod.json +1 -0
- data/grammars/markdown.mojo.codeblock.json +1 -0
- data/grammars/markdown.move.codeblock.json +1 -1
- data/grammars/source.4dm.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.aleo.json +1 -0
- data/grammars/source.apex.json +1 -1
- data/grammars/source.astro.json +1 -1
- data/grammars/source.baml.json +1 -0
- data/grammars/source.bb.json +1 -1
- data/grammars/source.bird2.json +1 -0
- data/grammars/source.blueprint.json +1 -0
- data/grammars/source.bnd.json +1 -1
- data/grammars/source.brs.embedded.xml.json +1 -0
- data/grammars/source.bsl.json +1 -1
- data/grammars/source.c++.json +1 -1
- data/grammars/source.c.json +1 -1
- data/grammars/source.c3.json +1 -1
- data/grammars/source.carbon.json +1 -0
- data/grammars/source.cel.json +1 -0
- data/grammars/source.cl.json +1 -1
- data/grammars/source.clar.json +1 -1
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cmd.json +1 -1
- data/grammars/source.comment-string.wesl.json +1 -1
- data/grammars/source.comment-string.wgsl.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csswg.json +1 -1
- data/grammars/source.csv.json +1 -1
- data/grammars/source.curlrc.json +1 -1
- data/grammars/source.dart.json +1 -1
- data/grammars/source.daslang.json +1 -1
- data/grammars/source.data-weave.json +1 -1
- data/grammars/source.dds.dspf.json +1 -1
- data/grammars/source.dds.icff.json +1 -1
- data/grammars/source.dds.lf.json +1 -1
- data/grammars/source.dds.pf.json +1 -1
- data/grammars/source.dds.prtf.json +1 -1
- data/grammars/source.deq.json +1 -0
- data/grammars/source.emacs.lisp.json +1 -1
- data/grammars/source.fift.json +1 -0
- data/grammars/source.flix.json +1 -1
- data/grammars/source.fpp.json +1 -0
- data/grammars/source.func.json +1 -0
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.gedcom.json +1 -1
- data/grammars/source.gimprc.json +1 -0
- data/grammars/source.gimpres.json +1 -0
- data/grammars/source.gitconfig.json +1 -1
- data/grammars/source.gno.json +1 -0
- data/grammars/source.graphql.json +1 -1
- data/grammars/source.gtkrc.json +1 -0
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hosts.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.hxml.json +1 -1
- data/grammars/source.il.json +1 -0
- data/grammars/source.interp.json +1 -0
- data/grammars/source.jac.json +1 -1
- data/grammars/source.jactoml.json +1 -0
- data/grammars/source.jai.json +1 -1
- data/grammars/source.jass.json +1 -0
- data/grammars/source.julia.json +1 -1
- data/grammars/source.just.json +1 -1
- data/grammars/source.kcl.json +1 -1
- data/grammars/source.koka.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.leo.json +1 -1
- data/grammars/source.lobster.json +1 -0
- data/grammars/source.logos.json +1 -1
- data/grammars/source.luau.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.m3u.json +1 -1
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mdx.astro.json +1 -1
- data/grammars/source.mi.json +1 -1
- data/grammars/source.mo.json +1 -1
- data/grammars/source.mojo.json +1 -1
- data/grammars/source.moonbit.config.json +1 -0
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.move.json +1 -1
- data/grammars/source.ms.json +1 -0
- data/grammars/source.nim.json +1 -1
- data/grammars/source.openqasm.json +1 -1
- data/grammars/source.opy.json +1 -0
- data/grammars/source.paperspecs.json +1 -0
- data/grammars/source.pic.json +1 -1
- data/grammars/source.pkgconf.json +1 -0
- data/grammars/source.pl.json +1 -0
- data/grammars/source.pnlgrp.json +1 -1
- data/grammars/source.powerquery.json +1 -0
- data/grammars/source.powershell.json +1 -1
- data/grammars/source.prisma.json +1 -1
- data/grammars/source.qsharp.json +1 -1
- data/grammars/source.quint.json +1 -0
- data/grammars/source.rarlist.json +1 -0
- data/grammars/source.rascript.json +1 -1
- data/grammars/source.record-jar.json +1 -1
- data/grammars/source.redscript.json +1 -0
- data/grammars/source.rego.json +1 -1
- data/grammars/source.rhai.json +1 -0
- data/grammars/source.rpg.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.rust.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.slang.json +1 -1
- data/grammars/source.slint.json +1 -1
- data/grammars/source.smithy.json +1 -1
- data/grammars/source.soql.json +1 -1
- data/grammars/source.spicedb-yaml.json +1 -0
- data/grammars/source.spicedb.json +1 -0
- data/grammars/source.stan.json +1 -1
- data/grammars/source.stim.json +1 -0
- data/grammars/source.surrealql.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.tasm.json +1 -0
- data/grammars/source.tlb.json +1 -0
- data/grammars/source.tolk.json +1 -0
- data/grammars/source.ucode-template.json +1 -0
- data/grammars/source.ucode.json +1 -0
- data/grammars/source.uri-list.json +1 -0
- data/grammars/source.v.json +1 -1
- data/grammars/source.vento.json +1 -1
- data/grammars/source.verse.json +1 -0
- data/grammars/source.vespaSchema.json +1 -0
- data/grammars/source.vhs.json +1 -0
- data/grammars/source.wgsl.json +1 -1
- data/grammars/source.yaml.salt.json +1 -1
- data/grammars/spicedb-yaml.injection.json +1 -0
- data/grammars/text.bbcode.json +1 -0
- data/grammars/text.cachedir.json +1 -0
- data/grammars/text.cookie-jar.json +1 -0
- data/grammars/text.html.handlebars.json +1 -1
- data/grammars/text.html.vue.json +1 -1
- data/grammars/text.mac-tts.json +1 -0
- data/grammars/text.recfile.json +1 -0
- data/grammars/text.roff.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/blob_helper.rb +19 -0
- data/lib/linguist/classifier.rb +2 -1
- data/lib/linguist/generated.rb +40 -0
- data/lib/linguist/generic.yml +3 -0
- data/lib/linguist/heuristics.yml +97 -5
- data/lib/linguist/language.rb +13 -9
- data/lib/linguist/languages.yml +368 -37
- data/lib/linguist/languages_data.rb +7663 -0
- data/lib/linguist/lazy_blob.rb +25 -2
- data/lib/linguist/samples.rb +4 -10
- data/lib/linguist/samples_data.rb +196100 -0
- data/lib/linguist/vendor.yml +3 -0
- metadata +54 -18
- data/grammars/markdown.bicep.codeblock.json +0 -1
- data/lib/linguist/languages.json +0 -1
- data/lib/linguist/samples.json +0 -1
data/lib/linguist/lazy_blob.rb
CHANGED
|
@@ -9,7 +9,8 @@ module Linguist
|
|
|
9
9
|
'linguist-language',
|
|
10
10
|
'linguist-vendored',
|
|
11
11
|
'linguist-generated',
|
|
12
|
-
'linguist-detectable'
|
|
12
|
+
'linguist-detectable',
|
|
13
|
+
'filter']
|
|
13
14
|
|
|
14
15
|
# DEPRECATED: use Linguist::Source::RuggedRepository::GIT_ATTR_OPTS instead
|
|
15
16
|
GIT_ATTR_OPTS = Linguist::Source::RuggedRepository::GIT_ATTR_OPTS
|
|
@@ -73,7 +74,25 @@ module Linguist
|
|
|
73
74
|
return @language if defined?(@language)
|
|
74
75
|
|
|
75
76
|
@language = if lang = git_attributes['linguist-language']
|
|
76
|
-
Language.find_by_alias(lang)
|
|
77
|
+
detected_language = Language.find_by_alias(lang)
|
|
78
|
+
|
|
79
|
+
# If strategies are being tracked, get the original strategy that would have been used
|
|
80
|
+
if detected_language && Linguist.instrumenter
|
|
81
|
+
# Get the original strategy by calling super (which calls Linguist.detect)
|
|
82
|
+
original_language = super
|
|
83
|
+
original_strategy_info = Linguist.instrumenter.detected_info[self.name]
|
|
84
|
+
original_strategy = original_strategy_info ? original_strategy_info[:strategy] : "Unknown"
|
|
85
|
+
|
|
86
|
+
if original_language == detected_language
|
|
87
|
+
strategy_name = "#{original_strategy} (confirmed by .gitattributes)"
|
|
88
|
+
else
|
|
89
|
+
strategy_name = "#{original_strategy} (overridden by .gitattributes)"
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
strategy = Struct.new(:name).new(strategy_name)
|
|
93
|
+
Linguist.instrument("linguist.detected", blob: self, strategy: strategy, language: detected_language)
|
|
94
|
+
end
|
|
95
|
+
detected_language
|
|
77
96
|
else
|
|
78
97
|
super
|
|
79
98
|
end
|
|
@@ -87,6 +106,10 @@ module Linguist
|
|
|
87
106
|
end
|
|
88
107
|
end
|
|
89
108
|
|
|
109
|
+
def lfs_tracked?
|
|
110
|
+
git_attributes['filter'] == 'lfs'
|
|
111
|
+
end
|
|
112
|
+
|
|
90
113
|
def data
|
|
91
114
|
load_blob!
|
|
92
115
|
@data
|
data/lib/linguist/samples.rb
CHANGED
|
@@ -15,7 +15,7 @@ module Linguist
|
|
|
15
15
|
ROOT = File.expand_path("../../../samples", __FILE__)
|
|
16
16
|
|
|
17
17
|
# Path for serialized samples db
|
|
18
|
-
PATH = File.expand_path('../
|
|
18
|
+
PATH = File.expand_path('../samples_data.rb', __FILE__)
|
|
19
19
|
|
|
20
20
|
# Hash of serialized samples object, cached in memory
|
|
21
21
|
def self.cache
|
|
@@ -24,15 +24,9 @@ module Linguist
|
|
|
24
24
|
|
|
25
25
|
# Hash of serialized samples object, uncached
|
|
26
26
|
def self.load_samples
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
for lang in data['centroids'].keys
|
|
31
|
-
fixed = data['centroids'][lang].to_a.map { |k,v| [k.to_i, v] }
|
|
32
|
-
data['centroids'][lang] = Hash[fixed]
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
data
|
|
27
|
+
mod = Module.new
|
|
28
|
+
load(PATH, mod)
|
|
29
|
+
mod::DATA
|
|
36
30
|
end
|
|
37
31
|
|
|
38
32
|
# Public: Iterate over each sample.
|