github-linguist 7.29.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) 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/inline.peggy.json +1 -0
  8. data/grammars/markdown.gleam.codeblock.json +1 -0
  9. data/grammars/markdown.move.codeblock.json +1 -1
  10. data/grammars/markdown.rego.codeblock.json +1 -0
  11. data/grammars/mdx.move.codeblock.json +1 -0
  12. data/grammars/source.8xp.json +1 -1
  13. data/grammars/source.Caddyfile-test.json +1 -0
  14. data/grammars/source.Caddyfile.json +1 -0
  15. data/grammars/source.abl.json +1 -1
  16. data/grammars/source.astro.json +1 -1
  17. data/grammars/source.bicep.json +1 -1
  18. data/grammars/source.bms.json +1 -1
  19. data/grammars/source.bqn.json +1 -0
  20. data/grammars/source.brs.json +1 -1
  21. data/grammars/source.cairo.json +1 -1
  22. data/grammars/source.cairo0.json +1 -0
  23. data/grammars/source.cl.json +1 -1
  24. data/grammars/source.clar.json +1 -1
  25. data/grammars/source.cmd.json +1 -1
  26. data/grammars/source.cobol.json +1 -1
  27. data/grammars/source.commonlisp.json +1 -1
  28. data/grammars/source.cs.json +1 -1
  29. data/grammars/source.curlrc.json +1 -1
  30. data/grammars/source.curry.json +1 -1
  31. data/grammars/source.cylc.json +1 -0
  32. data/grammars/source.d2.json +1 -1
  33. data/grammars/source.dart.json +1 -1
  34. data/grammars/source.dds.dspf.json +1 -1
  35. data/grammars/source.dds.icff.json +1 -1
  36. data/grammars/source.dds.lf.json +1 -1
  37. data/grammars/source.dds.pf.json +1 -1
  38. data/grammars/source.dds.prtf.json +1 -1
  39. data/grammars/source.dune.json +1 -0
  40. data/grammars/source.elvish.json +1 -1
  41. data/grammars/source.firrtl.json +1 -0
  42. data/grammars/source.fsharp.json +1 -1
  43. data/grammars/source.gdscript.json +1 -1
  44. data/grammars/source.generic-db.json +1 -1
  45. data/grammars/source.gitconfig.json +1 -1
  46. data/grammars/source.gjs.json +1 -1
  47. data/grammars/source.gleam.json +1 -1
  48. data/grammars/source.gts.json +1 -1
  49. data/grammars/source.hcl.json +1 -1
  50. data/grammars/source.hcl.terraform.json +1 -1
  51. data/grammars/source.hgignore.json +1 -1
  52. data/grammars/source.hosts.json +1 -1
  53. data/grammars/source.hx.json +1 -1
  54. data/grammars/source.iCalendar.json +1 -0
  55. data/grammars/source.ice.json +1 -1
  56. data/grammars/source.julia.json +1 -1
  57. data/grammars/source.just.json +1 -1
  58. data/grammars/source.kotlin.json +1 -1
  59. data/grammars/source.lcb.json +1 -0
  60. data/grammars/source.lilypond.json +1 -1
  61. data/grammars/source.livecodescript.json +1 -0
  62. data/grammars/source.lua.json +1 -1
  63. data/grammars/source.luau.json +1 -0
  64. data/grammars/source.m2.json +1 -1
  65. data/grammars/source.markdown.caddy.codeblock.json +1 -0
  66. data/grammars/source.matlab.json +1 -1
  67. data/grammars/source.mcfunction.json +1 -1
  68. data/grammars/source.mdx.json +1 -1
  69. data/grammars/source.mo.json +1 -1
  70. data/grammars/source.mojo.json +1 -1
  71. data/grammars/source.move.json +1 -1
  72. data/grammars/source.nanorc.json +1 -1
  73. data/grammars/source.nim.json +1 -1
  74. data/grammars/source.nr.json +1 -0
  75. data/grammars/source.nushell.json +1 -1
  76. data/grammars/source.odin.json +1 -1
  77. data/grammars/source.p4.json +1 -1
  78. data/grammars/source.peggy.json +1 -0
  79. data/grammars/source.pkl.json +1 -0
  80. data/grammars/source.polar.json +1 -1
  81. data/grammars/source.powerbuilder.json +1 -0
  82. data/grammars/source.qsharp.json +1 -1
  83. data/grammars/source.rascal.json +1 -1
  84. data/grammars/source.rego.json +1 -1
  85. data/grammars/source.rescript.json +1 -1
  86. data/grammars/source.ron.json +1 -0
  87. data/grammars/source.rpgle.json +1 -1
  88. data/grammars/source.rust.json +1 -1
  89. data/grammars/source.sentinel.json +1 -1
  90. data/grammars/source.solidity.json +1 -1
  91. data/grammars/source.sourcepawn.json +1 -1
  92. data/grammars/source.sqf.json +1 -1
  93. data/grammars/source.stan.json +1 -1
  94. data/grammars/source.swift.json +1 -1
  95. data/grammars/source.sy.json +1 -1
  96. data/grammars/source.templ.json +1 -0
  97. data/grammars/source.vba.json +1 -1
  98. data/grammars/source.vcard.json +1 -0
  99. data/grammars/source.wdl.json +1 -1
  100. data/grammars/source.wsd.json +1 -1
  101. data/grammars/text.adblock.json +1 -1
  102. data/grammars/text.crontab.json +1 -0
  103. data/grammars/text.html.jte.json +1 -0
  104. data/grammars/text.html.statamic.json +1 -1
  105. data/grammars/text.md.json +1 -1
  106. data/grammars/text.mdx.astro.codeblock.json +1 -0
  107. data/grammars/text.valve-cfg.json +1 -1
  108. data/grammars/version +1 -1
  109. data/lib/linguist/VERSION +1 -1
  110. data/lib/linguist/classifier.rb +315 -106
  111. data/lib/linguist/generated.rb +33 -4
  112. data/lib/linguist/generic.yml +1 -0
  113. data/lib/linguist/heuristics.rb +6 -6
  114. data/lib/linguist/heuristics.yml +63 -4
  115. data/lib/linguist/languages.json +1 -1
  116. data/lib/linguist/languages.yml +224 -4
  117. data/lib/linguist/repository.rb +8 -6
  118. data/lib/linguist/samples.json +1 -1
  119. data/lib/linguist/samples.rb +9 -1
  120. data/lib/linguist/sha256.rb +1 -1
  121. metadata +29 -7
  122. data/grammars/inline.graphql.rb.json +0 -1
  123. data/grammars/markdown.mcfunction.codeblock.json +0 -1
  124. data/grammars/mdx.LANGUAGE.codeblock.json +0 -1
  125. data/grammars/source.terraform.json +0 -1
@@ -498,6 +498,18 @@ Awk:
498
498
  tm_scope: source.awk
499
499
  ace_mode: text
500
500
  language_id: 28
501
+ B4X:
502
+ type: programming
503
+ color: "#00e4ff"
504
+ extensions:
505
+ - ".bas"
506
+ tm_scope: source.vba
507
+ aliases:
508
+ - basic for android
509
+ ace_mode: text
510
+ codemirror_mode: vb
511
+ codemirror_mime_type: text/x-vb
512
+ language_id: 96642275
501
513
  BASIC:
502
514
  type: programming
503
515
  extensions:
@@ -506,6 +518,14 @@ BASIC:
506
518
  ace_mode: text
507
519
  color: "#ff0000"
508
520
  language_id: 28923963
521
+ BQN:
522
+ type: programming
523
+ color: "#2b7067"
524
+ extensions:
525
+ - ".bqn"
526
+ tm_scope: source.bqn
527
+ ace_mode: text
528
+ language_id: 330386870
509
529
  Ballerina:
510
530
  type: programming
511
531
  extensions:
@@ -931,6 +951,18 @@ Cabal Config:
931
951
  codemirror_mime_type: text/x-haskell
932
952
  tm_scope: source.cabal
933
953
  language_id: 677095381
954
+ Caddyfile:
955
+ type: data
956
+ color: "#22b638"
957
+ aliases:
958
+ - Caddy
959
+ extensions:
960
+ - ".caddyfile"
961
+ filenames:
962
+ - Caddyfile
963
+ ace_mode: text
964
+ tm_scope: source.Caddyfile
965
+ language_id: 615465151
934
966
  Cadence:
935
967
  type: programming
936
968
  color: "#00ef8b"
@@ -946,7 +978,17 @@ Cairo:
946
978
  tm_scope: source.cairo
947
979
  extensions:
948
980
  - ".cairo"
981
+ group: Cairo
949
982
  language_id: 620599567
983
+ Cairo Zero:
984
+ type: programming
985
+ color: "#ff4a48"
986
+ ace_mode: text
987
+ tm_scope: source.cairo0
988
+ extensions:
989
+ - ".cairo"
990
+ group: Cairo
991
+ language_id: 891399890
950
992
  CameLIGO:
951
993
  type: programming
952
994
  color: "#3be133"
@@ -966,6 +1008,16 @@ Cap'n Proto:
966
1008
  - ".capnp"
967
1009
  ace_mode: text
968
1010
  language_id: 52
1011
+ Carbon:
1012
+ type: programming
1013
+ color: "#222222"
1014
+ extensions:
1015
+ - ".carbon"
1016
+ ace_mode: golang
1017
+ codemirror_mode: go
1018
+ codemirror_mime_type: text/x-go
1019
+ tm_scope: source.v
1020
+ language_id: 55627273
969
1021
  CartoCSS:
970
1022
  type: programming
971
1023
  aliases:
@@ -1379,6 +1431,17 @@ Cycript:
1379
1431
  codemirror_mode: javascript
1380
1432
  codemirror_mime_type: text/javascript
1381
1433
  language_id: 78
1434
+ Cylc:
1435
+ type: data
1436
+ color: "#00b3fd"
1437
+ extensions:
1438
+ - ".cylc"
1439
+ filenames:
1440
+ - suite.rc
1441
+ tm_scope: source.cylc
1442
+ ace_mode: ini
1443
+ group: INI
1444
+ language_id: 476447814
1382
1445
  Cypher:
1383
1446
  type: programming
1384
1447
  color: "#34c0eb"
@@ -1606,6 +1669,14 @@ Dotenv:
1606
1669
  tm_scope: source.dotenv
1607
1670
  ace_mode: text
1608
1671
  language_id: 111148035
1672
+ Dune:
1673
+ type: programming
1674
+ ace_mode: lisp
1675
+ filenames:
1676
+ - dune-project
1677
+ tm_scope: source.dune
1678
+ color: "#89421e"
1679
+ language_id: 754574151
1609
1680
  Dylan:
1610
1681
  type: programming
1611
1682
  color: "#6c616e"
@@ -1951,6 +2022,14 @@ FIGlet Font:
1951
2022
  tm_scope: source.figfont
1952
2023
  ace_mode: text
1953
2024
  language_id: 686129783
2025
+ FIRRTL:
2026
+ type: programming
2027
+ color: "#2f632f"
2028
+ extensions:
2029
+ - ".fir"
2030
+ tm_scope: source.firrtl
2031
+ ace_mode: text
2032
+ language_id: 906694254
1954
2033
  FLUX:
1955
2034
  type: programming
1956
2035
  color: "#88ccff"
@@ -2689,7 +2768,7 @@ HCL:
2689
2768
  ace_mode: ruby
2690
2769
  codemirror_mode: ruby
2691
2770
  codemirror_mime_type: text/x-ruby
2692
- tm_scope: source.terraform
2771
+ tm_scope: source.hcl
2693
2772
  language_id: 144
2694
2773
  HLSL:
2695
2774
  type: programming
@@ -2918,6 +2997,7 @@ Hosts File:
2918
2997
  filenames:
2919
2998
  - HOSTS
2920
2999
  - hosts
3000
+ - hosts.txt
2921
3001
  aliases:
2922
3002
  - hosts
2923
3003
  tm_scope: source.hosts
@@ -3211,6 +3291,7 @@ JSON:
3211
3291
  - ".tern-config"
3212
3292
  - ".tern-project"
3213
3293
  - ".watchmanconfig"
3294
+ - MODULE.bazel.lock
3214
3295
  - Pipfile.lock
3215
3296
  - composer.lock
3216
3297
  - deno.lock
@@ -3232,6 +3313,7 @@ JSON with Comments:
3232
3313
  - ".code-snippets"
3233
3314
  - ".code-workspace"
3234
3315
  - ".sublime-build"
3316
+ - ".sublime-color-scheme"
3235
3317
  - ".sublime-commands"
3236
3318
  - ".sublime-completions"
3237
3319
  - ".sublime-keymap"
@@ -3345,6 +3427,17 @@ Java Server Pages:
3345
3427
  codemirror_mode: htmlembedded
3346
3428
  codemirror_mime_type: application/x-jsp
3347
3429
  language_id: 182
3430
+ Java Template Engine:
3431
+ type: programming
3432
+ color: "#2A6277"
3433
+ group: Java
3434
+ aliases:
3435
+ - jte
3436
+ extensions:
3437
+ - ".jte"
3438
+ ace_mode: text
3439
+ tm_scope: text.html.jte
3440
+ language_id: 599494012
3348
3441
  JavaScript:
3349
3442
  type: programming
3350
3443
  tm_scope: source.js
@@ -3497,6 +3590,13 @@ Julia:
3497
3590
  codemirror_mode: julia
3498
3591
  codemirror_mime_type: text/x-julia
3499
3592
  language_id: 184
3593
+ Julia REPL:
3594
+ type: programming
3595
+ color: "#a270ba"
3596
+ tm_scope: source.julia.console
3597
+ group: Julia
3598
+ ace_mode: text
3599
+ language_id: 220689142
3500
3600
  Jupyter Notebook:
3501
3601
  type: markup
3502
3602
  ace_mode: json
@@ -3518,9 +3618,14 @@ Just:
3518
3618
  color: "#384d54"
3519
3619
  tm_scope: source.just
3520
3620
  filenames:
3621
+ - ".JUSTFILE"
3622
+ - ".Justfile"
3623
+ - ".justfile"
3521
3624
  - JUSTFILE
3522
3625
  - Justfile
3523
3626
  - justfile
3627
+ extensions:
3628
+ - ".just"
3524
3629
  ace_mode: text
3525
3630
  language_id: 128447695
3526
3631
  KRL:
@@ -3858,6 +3963,14 @@ Literate Haskell:
3858
3963
  codemirror_mode: haskell-literate
3859
3964
  codemirror_mime_type: text/x-literate-haskell
3860
3965
  language_id: 207
3966
+ LiveCode Script:
3967
+ type: programming
3968
+ color: "#0c5ba5"
3969
+ extensions:
3970
+ - ".livecodescript"
3971
+ tm_scope: source.livecodescript
3972
+ ace_mode: text
3973
+ language_id: 891017
3861
3974
  LiveScript:
3862
3975
  type: programming
3863
3976
  color: "#499886"
@@ -3931,6 +4044,18 @@ Lua:
3931
4044
  interpreters:
3932
4045
  - lua
3933
4046
  language_id: 213
4047
+ Luau:
4048
+ type: programming
4049
+ tm_scope: source.luau
4050
+ ace_mode: lua
4051
+ codemirror_mode: lua
4052
+ codemirror_mime_type: text/x-lua
4053
+ color: "#00A2FF"
4054
+ extensions:
4055
+ - ".luau"
4056
+ interpreters:
4057
+ - luau
4058
+ language_id: 365050359
3934
4059
  M:
3935
4060
  type: programming
3936
4061
  aliases:
@@ -4466,6 +4591,14 @@ NL:
4466
4591
  tm_scope: none
4467
4592
  ace_mode: text
4468
4593
  language_id: 241
4594
+ NMODL:
4595
+ type: programming
4596
+ color: "#00356B"
4597
+ extensions:
4598
+ - ".mod"
4599
+ tm_scope: none
4600
+ ace_mode: text
4601
+ language_id: 136456478
4469
4602
  NPM Config:
4470
4603
  type: data
4471
4604
  color: "#cb3837"
@@ -4631,6 +4764,18 @@ Nix:
4631
4764
  tm_scope: source.nix
4632
4765
  ace_mode: nix
4633
4766
  language_id: 252
4767
+ Noir:
4768
+ type: programming
4769
+ aliases:
4770
+ - nargo
4771
+ ace_mode: rust
4772
+ codemirror_mode: rust
4773
+ codemirror_mime_type: text/x-rustsrc
4774
+ extensions:
4775
+ - ".nr"
4776
+ color: "#2f1f49"
4777
+ tm_scope: source.nr
4778
+ language_id: 813068465
4634
4779
  Nu:
4635
4780
  type: programming
4636
4781
  color: "#c9df40"
@@ -5025,7 +5170,8 @@ PEG.js:
5025
5170
  color: "#234d6b"
5026
5171
  extensions:
5027
5172
  - ".pegjs"
5028
- tm_scope: source.pegjs
5173
+ - ".peggy"
5174
+ tm_scope: source.peggy
5029
5175
  ace_mode: javascript
5030
5176
  codemirror_mode: javascript
5031
5177
  codemirror_mime_type: text/javascript
@@ -5291,6 +5437,16 @@ Pip Requirements:
5291
5437
  ace_mode: text
5292
5438
  tm_scope: source.pip-requirements
5293
5439
  language_id: 684385621
5440
+ Pkl:
5441
+ type: programming
5442
+ color: "#6b9543"
5443
+ extensions:
5444
+ - ".pkl"
5445
+ interpreters:
5446
+ - pkl
5447
+ tm_scope: source.pkl
5448
+ ace_mode: text
5449
+ language_id: 288822799
5294
5450
  PlantUML:
5295
5451
  type: data
5296
5452
  color: "#fbbd16"
@@ -5386,7 +5542,7 @@ PowerBuilder:
5386
5542
  - ".sra"
5387
5543
  - ".sru"
5388
5544
  - ".srw"
5389
- tm_scope: none
5545
+ tm_scope: source.powerbuilder
5390
5546
  ace_mode: text
5391
5547
  language_id: 292
5392
5548
  PowerShell:
@@ -5768,6 +5924,14 @@ RMarkdown:
5768
5924
  - ".rmd"
5769
5925
  tm_scope: text.md
5770
5926
  language_id: 313
5927
+ RON:
5928
+ type: data
5929
+ color: "#a62c00"
5930
+ extensions:
5931
+ - ".ron"
5932
+ ace_mode: rust
5933
+ tm_scope: source.ron
5934
+ language_id: 587855233
5771
5935
  RPC:
5772
5936
  type: programming
5773
5937
  aliases:
@@ -6043,6 +6207,7 @@ RobotFramework:
6043
6207
  color: "#00c0b5"
6044
6208
  extensions:
6045
6209
  - ".robot"
6210
+ - ".resource"
6046
6211
  tm_scope: text.robot
6047
6212
  ace_mode: text
6048
6213
  language_id: 324
@@ -6535,6 +6700,7 @@ Shell:
6535
6700
  - shell-script
6536
6701
  - bash
6537
6702
  - zsh
6703
+ - envrc
6538
6704
  extensions:
6539
6705
  - ".sh"
6540
6706
  - ".bash"
@@ -6557,6 +6723,7 @@ Shell:
6557
6723
  - ".bash_profile"
6558
6724
  - ".bashrc"
6559
6725
  - ".cshrc"
6726
+ - ".envrc"
6560
6727
  - ".flaskenv"
6561
6728
  - ".kshrc"
6562
6729
  - ".login"
@@ -6992,10 +7159,12 @@ TOML:
6992
7159
  - ".toml"
6993
7160
  filenames:
6994
7161
  - Cargo.lock
7162
+ - Cargo.toml.orig
6995
7163
  - Gopkg.lock
6996
7164
  - Pipfile
6997
7165
  - pdm.lock
6998
7166
  - poetry.lock
7167
+ - uv.lock
6999
7168
  tm_scope: source.toml
7000
7169
  ace_mode: toml
7001
7170
  codemirror_mode: toml
@@ -7016,6 +7185,9 @@ TSV:
7016
7185
  tm_scope: source.generic-db
7017
7186
  extensions:
7018
7187
  - ".tsv"
7188
+ - ".vcf"
7189
+ aliases:
7190
+ - tab-seperated values
7019
7191
  language_id: 1035892117
7020
7192
  TSX:
7021
7193
  type: programming
@@ -7283,6 +7455,7 @@ TypeScript:
7283
7455
  interpreters:
7284
7456
  - deno
7285
7457
  - ts-node
7458
+ - tsx
7286
7459
  extensions:
7287
7460
  - ".ts"
7288
7461
  - ".cts"
@@ -7499,6 +7672,7 @@ Vim Script:
7499
7672
  - vim
7500
7673
  - viml
7501
7674
  - nvim
7675
+ - vimscript
7502
7676
  extensions:
7503
7677
  - ".vim"
7504
7678
  - ".vba"
@@ -7555,7 +7729,7 @@ Visual Basic 6.0:
7555
7729
  - ".ctl"
7556
7730
  - ".Dsr"
7557
7731
  - ".frm"
7558
- tm_scope: source.vbnet
7732
+ tm_scope: source.vba
7559
7733
  aliases:
7560
7734
  - vb6
7561
7735
  - vb 6
@@ -8182,6 +8356,7 @@ Zig:
8182
8356
  color: "#ec915c"
8183
8357
  extensions:
8184
8358
  - ".zig"
8359
+ - ".zig.zon"
8185
8360
  tm_scope: source.zig
8186
8361
  ace_mode: text
8187
8362
  language_id: 646424281
@@ -8206,6 +8381,17 @@ cURL Config:
8206
8381
  tm_scope: source.curlrc
8207
8382
  ace_mode: text
8208
8383
  language_id: 992375436
8384
+ crontab:
8385
+ type: data
8386
+ color: "#ead7ac"
8387
+ aliases:
8388
+ - cron
8389
+ - cron table
8390
+ filenames:
8391
+ - crontab
8392
+ tm_scope: text.crontab
8393
+ ace_mode: tcl
8394
+ language_id: 705203557
8209
8395
  desktop:
8210
8396
  type: data
8211
8397
  extensions:
@@ -8266,6 +8452,19 @@ hoon:
8266
8452
  extensions:
8267
8453
  - ".hoon"
8268
8454
  language_id: 560883276
8455
+ iCalendar:
8456
+ type: data
8457
+ color: "#ec564c"
8458
+ extensions:
8459
+ - ".ics"
8460
+ - ".ical"
8461
+ tm_scope: source.iCalendar
8462
+ aliases:
8463
+ - iCal
8464
+ ace_mode: properties
8465
+ codemirror_mode: properties
8466
+ codemirror_mime_type: text/x-properties
8467
+ language_id: 98384424
8269
8468
  jq:
8270
8469
  color: "#c7254e"
8271
8470
  ace_mode: text
@@ -8388,6 +8587,27 @@ sed:
8388
8587
  ace_mode: text
8389
8588
  tm_scope: source.sed
8390
8589
  language_id: 847830017
8590
+ templ:
8591
+ type: markup
8592
+ color: "#66D0DD"
8593
+ extensions:
8594
+ - ".templ"
8595
+ ace_mode: text
8596
+ tm_scope: source.templ
8597
+ language_id: 795579337
8598
+ vCard:
8599
+ type: data
8600
+ color: "#ee2647"
8601
+ extensions:
8602
+ - ".vcf"
8603
+ tm_scope: source.vcard
8604
+ aliases:
8605
+ - virtual contact file
8606
+ - electronic business card
8607
+ ace_mode: properties
8608
+ codemirror_mode: properties
8609
+ codemirror_mime_type: text/x-properties
8610
+ language_id: 851476558
8391
8611
  wisp:
8392
8612
  type: programming
8393
8613
  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