github-linguist 7.29.0 → 7.30.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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +7 -3
  3. data/bin/github-linguist +6 -3
  4. data/grammars/etc.json +1 -1
  5. data/grammars/inline.edgeql.json +1 -1
  6. data/grammars/inline.graphql.json +1 -1
  7. data/grammars/markdown.gleam.codeblock.json +1 -0
  8. data/grammars/markdown.move.codeblock.json +1 -1
  9. data/grammars/markdown.rego.codeblock.json +1 -0
  10. data/grammars/source.8xp.json +1 -1
  11. data/grammars/source.Caddyfile-test.json +1 -0
  12. data/grammars/source.Caddyfile.json +1 -0
  13. data/grammars/source.abl.json +1 -1
  14. data/grammars/source.astro.json +1 -1
  15. data/grammars/source.bicep.json +1 -1
  16. data/grammars/source.bms.json +1 -1
  17. data/grammars/source.bqn.json +1 -0
  18. data/grammars/source.brs.json +1 -1
  19. data/grammars/source.clarion.json +1 -1
  20. data/grammars/source.cobol.json +1 -1
  21. data/grammars/source.d2.json +1 -1
  22. data/grammars/source.dart.json +1 -1
  23. data/grammars/source.firrtl.json +1 -0
  24. data/grammars/source.fsharp.json +1 -1
  25. data/grammars/source.generic-db.json +1 -1
  26. data/grammars/source.gjs.json +1 -1
  27. data/grammars/source.gleam.json +1 -1
  28. data/grammars/source.gts.json +1 -1
  29. data/grammars/source.hcl.json +1 -1
  30. data/grammars/source.hcl.terraform.json +1 -1
  31. data/grammars/source.hx.json +1 -1
  32. data/grammars/source.ice.json +1 -1
  33. data/grammars/source.julia.json +1 -1
  34. data/grammars/source.kotlin.json +1 -1
  35. data/grammars/source.lua.json +1 -1
  36. data/grammars/source.luau.json +1 -0
  37. data/grammars/source.m2.json +1 -1
  38. data/grammars/source.markdown.caddy.codeblock.json +1 -0
  39. data/grammars/source.mojo.json +1 -1
  40. data/grammars/source.move.json +1 -1
  41. data/grammars/source.nim.json +1 -1
  42. data/grammars/source.nushell.json +1 -1
  43. data/grammars/source.odin.json +1 -1
  44. data/grammars/source.pkl.json +1 -0
  45. data/grammars/source.rascal.json +1 -1
  46. data/grammars/source.rego.json +1 -1
  47. data/grammars/source.rescript.json +1 -1
  48. data/grammars/source.ron.json +1 -0
  49. data/grammars/source.solidity.json +1 -1
  50. data/grammars/source.sqf.json +1 -1
  51. data/grammars/source.templ.json +1 -0
  52. data/grammars/source.wsd.json +1 -1
  53. data/grammars/text.adblock.json +1 -1
  54. data/grammars/text.crontab.json +1 -0
  55. data/grammars/text.html.statamic.json +1 -1
  56. data/grammars/text.valve-cfg.json +1 -1
  57. data/grammars/version +1 -1
  58. data/lib/linguist/VERSION +1 -1
  59. data/lib/linguist/generated.rb +16 -0
  60. data/lib/linguist/heuristics.yml +9 -0
  61. data/lib/linguist/languages.json +1 -1
  62. data/lib/linguist/languages.yml +105 -1
  63. data/lib/linguist/repository.rb +8 -6
  64. data/lib/linguist/samples.json +1 -1
  65. metadata +15 -5
  66. data/grammars/inline.graphql.rb.json +0 -1
  67. data/grammars/source.terraform.json +0 -1
@@ -506,6 +506,14 @@ BASIC:
506
506
  ace_mode: text
507
507
  color: "#ff0000"
508
508
  language_id: 28923963
509
+ BQN:
510
+ type: programming
511
+ color: "#2b7067"
512
+ extensions:
513
+ - ".bqn"
514
+ tm_scope: source.bqn
515
+ ace_mode: text
516
+ language_id: 330386870
509
517
  Ballerina:
510
518
  type: programming
511
519
  extensions:
@@ -931,6 +939,18 @@ Cabal Config:
931
939
  codemirror_mime_type: text/x-haskell
932
940
  tm_scope: source.cabal
933
941
  language_id: 677095381
942
+ Caddyfile:
943
+ type: data
944
+ color: "#22b638"
945
+ aliases:
946
+ - Caddy
947
+ extensions:
948
+ - ".caddyfile"
949
+ filenames:
950
+ - Caddyfile
951
+ ace_mode: text
952
+ tm_scope: source.Caddyfile
953
+ language_id: 615465151
934
954
  Cadence:
935
955
  type: programming
936
956
  color: "#00ef8b"
@@ -1951,6 +1971,14 @@ FIGlet Font:
1951
1971
  tm_scope: source.figfont
1952
1972
  ace_mode: text
1953
1973
  language_id: 686129783
1974
+ FIRRTL:
1975
+ type: programming
1976
+ color: "#2f632f"
1977
+ extensions:
1978
+ - ".fir"
1979
+ tm_scope: source.firrtl
1980
+ ace_mode: text
1981
+ language_id: 906694254
1954
1982
  FLUX:
1955
1983
  type: programming
1956
1984
  color: "#88ccff"
@@ -2689,7 +2717,7 @@ HCL:
2689
2717
  ace_mode: ruby
2690
2718
  codemirror_mode: ruby
2691
2719
  codemirror_mime_type: text/x-ruby
2692
- tm_scope: source.terraform
2720
+ tm_scope: source.hcl
2693
2721
  language_id: 144
2694
2722
  HLSL:
2695
2723
  type: programming
@@ -3211,6 +3239,7 @@ JSON:
3211
3239
  - ".tern-config"
3212
3240
  - ".tern-project"
3213
3241
  - ".watchmanconfig"
3242
+ - MODULE.bazel.lock
3214
3243
  - Pipfile.lock
3215
3244
  - composer.lock
3216
3245
  - deno.lock
@@ -3232,6 +3261,7 @@ JSON with Comments:
3232
3261
  - ".code-snippets"
3233
3262
  - ".code-workspace"
3234
3263
  - ".sublime-build"
3264
+ - ".sublime-color-scheme"
3235
3265
  - ".sublime-commands"
3236
3266
  - ".sublime-completions"
3237
3267
  - ".sublime-keymap"
@@ -3497,6 +3527,13 @@ Julia:
3497
3527
  codemirror_mode: julia
3498
3528
  codemirror_mime_type: text/x-julia
3499
3529
  language_id: 184
3530
+ Julia REPL:
3531
+ type: programming
3532
+ color: "#a270ba"
3533
+ tm_scope: source.julia.console
3534
+ group: Julia
3535
+ ace_mode: text
3536
+ language_id: 220689142
3500
3537
  Jupyter Notebook:
3501
3538
  type: markup
3502
3539
  ace_mode: json
@@ -3518,9 +3555,14 @@ Just:
3518
3555
  color: "#384d54"
3519
3556
  tm_scope: source.just
3520
3557
  filenames:
3558
+ - ".JUSTFILE"
3559
+ - ".Justfile"
3560
+ - ".justfile"
3521
3561
  - JUSTFILE
3522
3562
  - Justfile
3523
3563
  - justfile
3564
+ extensions:
3565
+ - ".just"
3524
3566
  ace_mode: text
3525
3567
  language_id: 128447695
3526
3568
  KRL:
@@ -3931,6 +3973,18 @@ Lua:
3931
3973
  interpreters:
3932
3974
  - lua
3933
3975
  language_id: 213
3976
+ Luau:
3977
+ type: programming
3978
+ tm_scope: source.luau
3979
+ ace_mode: lua
3980
+ codemirror_mode: lua
3981
+ codemirror_mime_type: text/x-lua
3982
+ color: "#00A2FF"
3983
+ extensions:
3984
+ - ".luau"
3985
+ interpreters:
3986
+ - luau
3987
+ language_id: 365050359
3934
3988
  M:
3935
3989
  type: programming
3936
3990
  aliases:
@@ -4466,6 +4520,14 @@ NL:
4466
4520
  tm_scope: none
4467
4521
  ace_mode: text
4468
4522
  language_id: 241
4523
+ NMODL:
4524
+ type: programming
4525
+ color: "#00356B"
4526
+ extensions:
4527
+ - ".mod"
4528
+ tm_scope: none
4529
+ ace_mode: text
4530
+ language_id: 136456478
4469
4531
  NPM Config:
4470
4532
  type: data
4471
4533
  color: "#cb3837"
@@ -5291,6 +5353,16 @@ Pip Requirements:
5291
5353
  ace_mode: text
5292
5354
  tm_scope: source.pip-requirements
5293
5355
  language_id: 684385621
5356
+ Pkl:
5357
+ type: programming
5358
+ color: "#6b9543"
5359
+ extensions:
5360
+ - ".pkl"
5361
+ interpreters:
5362
+ - pkl
5363
+ tm_scope: source.pkl
5364
+ ace_mode: text
5365
+ language_id: 288822799
5294
5366
  PlantUML:
5295
5367
  type: data
5296
5368
  color: "#fbbd16"
@@ -5768,6 +5840,14 @@ RMarkdown:
5768
5840
  - ".rmd"
5769
5841
  tm_scope: text.md
5770
5842
  language_id: 313
5843
+ RON:
5844
+ type: data
5845
+ color: "#a62c00"
5846
+ extensions:
5847
+ - ".ron"
5848
+ ace_mode: rust
5849
+ tm_scope: source.ron
5850
+ language_id: 587855233
5771
5851
  RPC:
5772
5852
  type: programming
5773
5853
  aliases:
@@ -6535,6 +6615,7 @@ Shell:
6535
6615
  - shell-script
6536
6616
  - bash
6537
6617
  - zsh
6618
+ - envrc
6538
6619
  extensions:
6539
6620
  - ".sh"
6540
6621
  - ".bash"
@@ -6557,6 +6638,7 @@ Shell:
6557
6638
  - ".bash_profile"
6558
6639
  - ".bashrc"
6559
6640
  - ".cshrc"
6641
+ - ".envrc"
6560
6642
  - ".flaskenv"
6561
6643
  - ".kshrc"
6562
6644
  - ".login"
@@ -6992,6 +7074,7 @@ TOML:
6992
7074
  - ".toml"
6993
7075
  filenames:
6994
7076
  - Cargo.lock
7077
+ - Cargo.toml.orig
6995
7078
  - Gopkg.lock
6996
7079
  - Pipfile
6997
7080
  - pdm.lock
@@ -7283,6 +7366,7 @@ TypeScript:
7283
7366
  interpreters:
7284
7367
  - deno
7285
7368
  - ts-node
7369
+ - tsx
7286
7370
  extensions:
7287
7371
  - ".ts"
7288
7372
  - ".cts"
@@ -8182,6 +8266,7 @@ Zig:
8182
8266
  color: "#ec915c"
8183
8267
  extensions:
8184
8268
  - ".zig"
8269
+ - ".zig.zon"
8185
8270
  tm_scope: source.zig
8186
8271
  ace_mode: text
8187
8272
  language_id: 646424281
@@ -8206,6 +8291,17 @@ cURL Config:
8206
8291
  tm_scope: source.curlrc
8207
8292
  ace_mode: text
8208
8293
  language_id: 992375436
8294
+ crontab:
8295
+ type: data
8296
+ color: "#ead7ac"
8297
+ aliases:
8298
+ - cron
8299
+ - cron table
8300
+ filenames:
8301
+ - crontab
8302
+ tm_scope: text.crontab
8303
+ ace_mode: tcl
8304
+ language_id: 705203557
8209
8305
  desktop:
8210
8306
  type: data
8211
8307
  extensions:
@@ -8388,6 +8484,14 @@ sed:
8388
8484
  ace_mode: text
8389
8485
  tm_scope: source.sed
8390
8486
  language_id: 847830017
8487
+ templ:
8488
+ type: markup
8489
+ color: "#66D0DD"
8490
+ extensions:
8491
+ - ".templ"
8492
+ ace_mode: text
8493
+ tm_scope: source.templ
8494
+ language_id: 795579337
8391
8495
  wisp:
8392
8496
  type: programming
8393
8497
  ace_mode: clojure
@@ -10,10 +10,12 @@ module Linguist
10
10
  class Repository
11
11
  attr_reader :repository
12
12
 
13
+ MAX_TREE_SIZE = 100_000
14
+
13
15
  # Public: Create a new Repository based on the stats of
14
16
  # an existing one
15
- def self.incremental(repo, commit_oid, old_commit_oid, old_stats)
16
- repo = self.new(repo, commit_oid)
17
+ def self.incremental(repo, commit_oid, old_commit_oid, old_stats, max_tree_size = MAX_TREE_SIZE)
18
+ repo = self.new(repo, commit_oid, max_tree_size)
17
19
  repo.load_existing_stats(old_commit_oid, old_stats)
18
20
  repo
19
21
  end
@@ -24,11 +26,13 @@ module Linguist
24
26
  # repo - a Rugged::Repository object
25
27
  # commit_oid - the sha1 of the commit that will be analyzed;
26
28
  # this is usually the master branch
29
+ # max_tree_size - the maximum tree size to consider for analysis (default: MAX_TREE_SIZE)
27
30
  #
28
31
  # Returns a Repository
29
- def initialize(repo, commit_oid)
32
+ def initialize(repo, commit_oid, max_tree_size = MAX_TREE_SIZE)
30
33
  @repository = repo
31
34
  @commit_oid = commit_oid
35
+ @max_tree_size = max_tree_size
32
36
 
33
37
  @old_commit_oid = nil
34
38
  @old_stats = nil
@@ -129,10 +133,8 @@ module Linguist
129
133
  end
130
134
 
131
135
  protected
132
- MAX_TREE_SIZE = 100_000
133
-
134
136
  def compute_stats(old_commit_oid, cache = nil)
135
- return {} if current_tree.count_recursive(MAX_TREE_SIZE) >= MAX_TREE_SIZE
137
+ return {} if current_tree.count_recursive(@max_tree_size) >= @max_tree_size
136
138
 
137
139
  old_tree = old_commit_oid && Rugged::Commit.lookup(repository, old_commit_oid).tree
138
140
  read_index