github-linguist 9.6.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.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/gno.mod.json +1 -0
  3. data/grammars/source.abl.json +1 -1
  4. data/grammars/source.aleo.json +1 -0
  5. data/grammars/source.astro.json +1 -1
  6. data/grammars/source.baml.json +1 -1
  7. data/grammars/source.bird2.json +1 -0
  8. data/grammars/source.blueprint.json +1 -0
  9. data/grammars/source.bnd.json +1 -1
  10. data/grammars/source.bsl.json +1 -1
  11. data/grammars/source.carbon.json +1 -0
  12. data/grammars/source.cl.json +1 -1
  13. data/grammars/source.clar.json +1 -1
  14. data/grammars/source.clarion.json +1 -1
  15. data/grammars/source.cmd.json +1 -1
  16. data/grammars/source.comment-string.wesl.json +1 -1
  17. data/grammars/source.comment-string.wgsl.json +1 -1
  18. data/grammars/source.cs.json +1 -1
  19. data/grammars/source.csswg.json +1 -1
  20. data/grammars/source.curlrc.json +1 -1
  21. data/grammars/source.dart.json +1 -1
  22. data/grammars/source.dds.dspf.json +1 -1
  23. data/grammars/source.dds.icff.json +1 -1
  24. data/grammars/source.dds.lf.json +1 -1
  25. data/grammars/source.dds.pf.json +1 -1
  26. data/grammars/source.dds.prtf.json +1 -1
  27. data/grammars/source.deq.json +1 -0
  28. data/grammars/source.fift.json +1 -0
  29. data/grammars/source.flix.json +1 -1
  30. data/grammars/source.fpp.json +1 -0
  31. data/grammars/source.func.json +1 -0
  32. data/grammars/source.gdscript.json +1 -1
  33. data/grammars/source.gedcom.json +1 -1
  34. data/grammars/source.gitconfig.json +1 -1
  35. data/grammars/source.gno.json +1 -0
  36. data/grammars/source.graphql.json +1 -1
  37. data/grammars/source.hack.json +1 -1
  38. data/grammars/source.hx.json +1 -1
  39. data/grammars/source.hxml.json +1 -1
  40. data/grammars/source.ink.json +1 -1
  41. data/grammars/source.jac.json +1 -1
  42. data/grammars/source.jass.json +1 -0
  43. data/grammars/source.julia.json +1 -1
  44. data/grammars/source.kcl.json +1 -1
  45. data/grammars/source.koka.json +1 -1
  46. data/grammars/source.leo.json +1 -1
  47. data/grammars/source.lobster.json +1 -0
  48. data/grammars/source.logos.json +1 -1
  49. data/grammars/source.luau.json +1 -1
  50. data/grammars/source.m2.json +1 -1
  51. data/grammars/source.mi.json +1 -1
  52. data/grammars/source.mojo.json +1 -1
  53. data/grammars/source.ms.json +1 -0
  54. data/grammars/source.nim.json +1 -1
  55. data/grammars/source.openqasm.json +1 -1
  56. data/grammars/source.opy.json +1 -1
  57. data/grammars/source.paperspecs.json +1 -0
  58. data/grammars/source.pl.json +1 -0
  59. data/grammars/source.pnlgrp.json +1 -1
  60. data/grammars/source.qsharp.json +1 -1
  61. data/grammars/source.rarlist.json +1 -0
  62. data/grammars/source.rascal.json +1 -1
  63. data/grammars/source.rego.json +1 -1
  64. data/grammars/source.rhai.json +1 -0
  65. data/grammars/source.rpg.json +1 -1
  66. data/grammars/source.rpgle.json +1 -1
  67. data/grammars/source.rust.json +1 -1
  68. data/grammars/source.scala.json +1 -1
  69. data/grammars/source.smithy.json +1 -1
  70. data/grammars/source.spicedb.json +1 -1
  71. data/grammars/source.stim.json +1 -0
  72. data/grammars/source.surrealql.json +1 -1
  73. data/grammars/source.swift.json +1 -1
  74. data/grammars/source.tasm.json +1 -0
  75. data/grammars/source.tlb.json +1 -0
  76. data/grammars/source.tolk.json +1 -0
  77. data/grammars/source.ucode-template.json +1 -0
  78. data/grammars/source.ucode.json +1 -0
  79. data/grammars/source.vento.json +1 -1
  80. data/grammars/source.verse.json +1 -0
  81. data/grammars/source.vespaSchema.json +1 -0
  82. data/grammars/source.vhs.json +1 -0
  83. data/grammars/source.wgsl.json +1 -1
  84. data/grammars/source.yaml.salt.json +1 -1
  85. data/grammars/text.bbcode.json +1 -0
  86. data/grammars/text.html.handlebars.json +1 -1
  87. data/grammars/text.recfile.json +1 -0
  88. data/grammars/text.roff.json +1 -1
  89. data/grammars/version +1 -1
  90. data/lib/linguist/VERSION +1 -1
  91. data/lib/linguist/blob_helper.rb +19 -0
  92. data/lib/linguist/generated.rb +24 -0
  93. data/lib/linguist/generic.yml +1 -0
  94. data/lib/linguist/heuristics.yml +80 -5
  95. data/lib/linguist/language.rb +5 -9
  96. data/lib/linguist/languages.yml +231 -27
  97. data/lib/linguist/languages_data.rb +7663 -0
  98. data/lib/linguist/lazy_blob.rb +6 -1
  99. data/lib/linguist/samples.rb +4 -10
  100. data/lib/linguist/samples_data.rb +196100 -0
  101. metadata +31 -19
  102. data/grammars/markdown.bicep.codeblock.json +0 -1
  103. data/grammars/source.baml-jinja.json +0 -1
  104. data/lib/linguist/languages.json +0 -1
  105. data/lib/linguist/samples.json +0 -1
@@ -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
@@ -105,6 +106,10 @@ module Linguist
105
106
  end
106
107
  end
107
108
 
109
+ def lfs_tracked?
110
+ git_attributes['filter'] == 'lfs'
111
+ end
112
+
108
113
  def data
109
114
  load_blob!
110
115
  @data
@@ -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('../samples.json', __FILE__)
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
- serializer = defined?(Yajl) ? Yajl : JSON
28
- data = serializer.load(File.read(PATH, encoding: 'utf-8'))
29
- # JSON serialization does not allow integer keys, we fix them here
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.