github-linguist 9.4.0 → 9.6.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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/etc.json +1 -1
  3. data/grammars/markdown.mojo.codeblock.json +1 -0
  4. data/grammars/markdown.move.codeblock.json +1 -1
  5. data/grammars/source.4dm.json +1 -1
  6. data/grammars/source.abl.json +1 -1
  7. data/grammars/source.apex.json +1 -1
  8. data/grammars/source.astro.json +1 -1
  9. data/grammars/source.baml-jinja.json +1 -0
  10. data/grammars/source.baml.json +1 -0
  11. data/grammars/source.bb.json +1 -1
  12. data/grammars/source.brs.embedded.xml.json +1 -0
  13. data/grammars/source.bsl.json +1 -1
  14. data/grammars/source.c++.json +1 -1
  15. data/grammars/source.c.json +1 -1
  16. data/grammars/source.c3.json +1 -1
  17. data/grammars/source.cel.json +1 -0
  18. data/grammars/source.clarion.json +1 -1
  19. data/grammars/source.cmake.json +1 -1
  20. data/grammars/source.cmakecache.json +1 -1
  21. data/grammars/source.cpan-mirror.json +1 -0
  22. data/grammars/source.cpan-skiplist.json +1 -0
  23. data/grammars/source.cs.json +1 -1
  24. data/grammars/source.csv.json +1 -1
  25. data/grammars/source.curlrc.json +1 -1
  26. data/grammars/source.dart.json +1 -1
  27. data/grammars/source.daslang.json +1 -1
  28. data/grammars/source.data-weave.json +1 -1
  29. data/grammars/source.emacs.lisp.json +1 -1
  30. data/grammars/source.firrtl.json +1 -1
  31. data/grammars/source.flatbuffers.json +1 -0
  32. data/grammars/source.gdscript.json +1 -1
  33. data/grammars/source.gimprc.json +1 -0
  34. data/grammars/source.gimpres.json +1 -0
  35. data/grammars/source.graphql.json +1 -1
  36. data/grammars/source.gtkrc.json +1 -0
  37. data/grammars/source.hack.json +1 -1
  38. data/grammars/source.hosts.json +1 -1
  39. data/grammars/source.il.json +1 -0
  40. data/grammars/source.ilecobol.json +1 -1
  41. data/grammars/source.ink.json +1 -1
  42. data/grammars/source.interp.json +1 -0
  43. data/grammars/source.jac.json +1 -1
  44. data/grammars/source.jactoml.json +1 -0
  45. data/grammars/source.jai.json +1 -1
  46. data/grammars/source.julia.json +1 -1
  47. data/grammars/source.just.json +1 -1
  48. data/grammars/source.lean4.markdown.json +1 -1
  49. data/grammars/source.liquidsoap.json +1 -0
  50. data/grammars/source.llvm.json +1 -1
  51. data/grammars/source.luau.json +1 -1
  52. data/grammars/source.m2.json +1 -1
  53. data/grammars/source.m3u.json +1 -1
  54. data/grammars/source.matlab.json +1 -1
  55. data/grammars/source.mc.json +1 -1
  56. data/grammars/source.mdx.astro.json +1 -1
  57. data/grammars/source.mermaid.json +1 -1
  58. data/grammars/source.metta.json +1 -0
  59. data/grammars/source.mo.json +1 -1
  60. data/grammars/source.mojo.json +1 -1
  61. data/grammars/source.moonbit.config.json +1 -0
  62. data/grammars/source.moonbit.json +1 -1
  63. data/grammars/source.move.json +1 -1
  64. data/grammars/source.opy.json +1 -0
  65. data/grammars/source.pic.json +1 -1
  66. data/grammars/source.pkgconf.json +1 -0
  67. data/grammars/source.powerquery.json +1 -0
  68. data/grammars/source.powershell.json +1 -1
  69. data/grammars/source.prisma.json +1 -1
  70. data/grammars/source.quint.json +1 -0
  71. data/grammars/source.rascal.json +1 -1
  72. data/grammars/source.rascript.json +1 -1
  73. data/grammars/source.record-jar.json +1 -1
  74. data/grammars/source.redscript.json +1 -0
  75. data/grammars/source.rego.json +1 -1
  76. data/grammars/source.ron.json +1 -1
  77. data/grammars/source.rpgle.json +1 -1
  78. data/grammars/source.slang.json +1 -1
  79. data/grammars/source.slint.json +1 -1
  80. data/grammars/source.soql.json +1 -1
  81. data/grammars/source.spicedb-yaml.json +1 -0
  82. data/grammars/source.spicedb.json +1 -0
  83. data/grammars/source.stan.json +1 -1
  84. data/grammars/source.surrealql.json +1 -1
  85. data/grammars/source.swift.json +1 -1
  86. data/grammars/source.tsp.json +1 -1
  87. data/grammars/source.uri-list.json +1 -0
  88. data/grammars/source.v.json +1 -1
  89. data/grammars/source.vento.json +1 -1
  90. data/grammars/source.wgsl.json +1 -1
  91. data/grammars/spicedb-yaml.injection.json +1 -0
  92. data/grammars/text.cachedir.json +1 -0
  93. data/grammars/text.cookie-jar.json +1 -0
  94. data/grammars/text.html.vue.json +1 -1
  95. data/grammars/text.mac-tts.json +1 -0
  96. data/grammars/text.roff.json +1 -1
  97. data/grammars/text.srt.json +1 -1
  98. data/grammars/version +1 -1
  99. data/lib/linguist/VERSION +1 -1
  100. data/lib/linguist/classifier.rb +2 -1
  101. data/lib/linguist/generated.rb +16 -0
  102. data/lib/linguist/generic.yml +2 -0
  103. data/lib/linguist/heuristics.yml +17 -0
  104. data/lib/linguist/language.rb +8 -0
  105. data/lib/linguist/languages.json +1 -1
  106. data/lib/linguist/languages.yml +173 -12
  107. data/lib/linguist/lazy_blob.rb +19 -1
  108. data/lib/linguist/samples.json +1 -1
  109. data/lib/linguist/source/rugged.rb +16 -1
  110. data/lib/linguist/vendor.yml +3 -0
  111. metadata +30 -3
  112. data/grammars/source.vscode.c3.json +0 -1
  113. data/grammars/text.html.vento.json +0 -1
@@ -396,6 +396,7 @@ Apollo Guidance Computer:
396
396
  AppleScript:
397
397
  type: programming
398
398
  aliases:
399
+ - apples
399
400
  - osascript
400
401
  extensions:
401
402
  - ".applescript"
@@ -548,6 +549,16 @@ B4X:
548
549
  codemirror_mode: vb
549
550
  codemirror_mime_type: text/x-vb
550
551
  language_id: 96642275
552
+ BAML:
553
+ type: programming
554
+ color: "#a855f7"
555
+ extensions:
556
+ - ".baml"
557
+ tm_scope: source.baml
558
+ ace_mode: io
559
+ codemirror_mode: stylus
560
+ codemirror_mime_type: text/x-styl
561
+ language_id: 502521509
551
562
  BASIC:
552
563
  type: programming
553
564
  extensions:
@@ -2033,6 +2044,8 @@ Emacs Lisp:
2033
2044
  tm_scope: source.emacs.lisp
2034
2045
  color: "#c065db"
2035
2046
  aliases:
2047
+ - cask
2048
+ - eask
2036
2049
  - elisp
2037
2050
  - emacs
2038
2051
  filenames:
@@ -2043,6 +2056,7 @@ Emacs Lisp:
2043
2056
  - ".spacemacs"
2044
2057
  - ".viper"
2045
2058
  - Cask
2059
+ - Eask
2046
2060
  - Project.ede
2047
2061
  - _emacs
2048
2062
  - abbrev_defs
@@ -2220,6 +2234,14 @@ Filterscript:
2220
2234
  tm_scope: none
2221
2235
  ace_mode: text
2222
2236
  language_id: 112
2237
+ FlatBuffers:
2238
+ type: data
2239
+ color: "#ed284a"
2240
+ extensions:
2241
+ - ".fbs"
2242
+ tm_scope: source.flatbuffers
2243
+ ace_mode: text
2244
+ language_id: 577640576
2223
2245
  Flix:
2224
2246
  type: programming
2225
2247
  color: "#d44a45"
@@ -2909,6 +2931,23 @@ Groovy Server Pages:
2909
2931
  codemirror_mode: htmlembedded
2910
2932
  codemirror_mime_type: application/x-jsp
2911
2933
  language_id: 143
2934
+ GtkRC:
2935
+ type: data
2936
+ color: "#7fe719"
2937
+ aliases:
2938
+ - gtk
2939
+ - gtk 1
2940
+ - gtk 2
2941
+ extensions:
2942
+ - ".gtkrc"
2943
+ filenames:
2944
+ - gtkrc
2945
+ - gtkrc-2.0
2946
+ tm_scope: source.gtkrc
2947
+ ace_mode: ruby
2948
+ codemirror_mode: ruby
2949
+ codemirror_mime_type: text/x-ruby
2950
+ language_id: 876401352
2912
2951
  HAProxy:
2913
2952
  type: data
2914
2953
  color: "#106da9"
@@ -3240,6 +3279,17 @@ IGOR Pro:
3240
3279
  tm_scope: source.igor
3241
3280
  ace_mode: text
3242
3281
  language_id: 162
3282
+ IL Assembly:
3283
+ type: programming
3284
+ color: "#512BD4"
3285
+ extensions:
3286
+ - ".il"
3287
+ tm_scope: source.il
3288
+ ace_mode: text
3289
+ aliases:
3290
+ - ilasm
3291
+ - msil
3292
+ language_id: 592065806
3243
3293
  INI:
3244
3294
  type: data
3245
3295
  color: "#d1dbe0"
@@ -3247,12 +3297,19 @@ INI:
3247
3297
  - ".ini"
3248
3298
  - ".cfg"
3249
3299
  - ".cnf"
3300
+ - ".container"
3250
3301
  - ".dof"
3251
3302
  - ".frm"
3252
3303
  - ".lektorproject"
3304
+ - ".mount"
3305
+ - ".network"
3253
3306
  - ".prefs"
3254
3307
  - ".pro"
3255
3308
  - ".properties"
3309
+ - ".service"
3310
+ - ".socket"
3311
+ - ".target"
3312
+ - ".timer"
3256
3313
  - ".url"
3257
3314
  filenames:
3258
3315
  - ".buckconfig"
@@ -3266,6 +3323,7 @@ INI:
3266
3323
  - vlcrc
3267
3324
  tm_scope: source.ini
3268
3325
  aliases:
3326
+ - conf
3269
3327
  - dosini
3270
3328
  ace_mode: ini
3271
3329
  codemirror_mode: properties
@@ -3321,6 +3379,7 @@ Ignore List:
3321
3379
  - ".dockerignore"
3322
3380
  - ".easignore"
3323
3381
  - ".eleventyignore"
3382
+ - ".eslint-ignore"
3324
3383
  - ".eslintignore"
3325
3384
  - ".gitignore"
3326
3385
  - ".ignore"
@@ -3484,6 +3543,7 @@ JSON:
3484
3543
  - ".jsonl"
3485
3544
  - ".mcmeta"
3486
3545
  - ".sarif"
3546
+ - ".slnlaunch"
3487
3547
  - ".tact"
3488
3548
  - ".tfstate"
3489
3549
  - ".tfstate.backup"
@@ -3709,8 +3769,10 @@ JavaScript:
3709
3769
  filenames:
3710
3770
  - Jakefile
3711
3771
  interpreters:
3772
+ - bun
3712
3773
  - chakra
3713
3774
  - d8
3775
+ - deno
3714
3776
  - gjs
3715
3777
  - js
3716
3778
  - node
@@ -4241,6 +4303,14 @@ Liquid:
4241
4303
  tm_scope: text.html.liquid
4242
4304
  ace_mode: liquid
4243
4305
  language_id: 204
4306
+ Liquidsoap:
4307
+ type: programming
4308
+ color: "#990066"
4309
+ extensions:
4310
+ - ".liq"
4311
+ tm_scope: source.liquidsoap
4312
+ ace_mode: text
4313
+ language_id: 614641732
4244
4314
  Literate Agda:
4245
4315
  type: programming
4246
4316
  color: "#315665"
@@ -4531,6 +4601,7 @@ Makefile:
4531
4601
  - Makefile.frag
4532
4602
  - Makefile.in
4533
4603
  - Makefile.inc
4604
+ - Makefile.pc
4534
4605
  - Makefile.wat
4535
4606
  - makefile
4536
4607
  - makefile.sco
@@ -4632,6 +4703,14 @@ Max:
4632
4703
  codemirror_mode: javascript
4633
4704
  codemirror_mime_type: application/json
4634
4705
  language_id: 227
4706
+ MeTTa:
4707
+ type: programming
4708
+ color: "#6a5acd"
4709
+ extensions:
4710
+ - ".metta"
4711
+ tm_scope: source.metta
4712
+ ace_mode: text
4713
+ language_id: 1037612668
4635
4714
  Mercury:
4636
4715
  type: programming
4637
4716
  color: "#ff2b2b"
@@ -5484,6 +5563,19 @@ Org:
5484
5563
  tm_scope: none
5485
5564
  ace_mode: text
5486
5565
  language_id: 267
5566
+ OverPy:
5567
+ type: programming
5568
+ color: "#78b355"
5569
+ wrap: true
5570
+ extensions:
5571
+ - ".opy"
5572
+ tm_scope: source.opy
5573
+ aliases:
5574
+ - opy
5575
+ ace_mode: python
5576
+ codemirror_mode: python
5577
+ codemirror_mime_type: text/x-python
5578
+ language_id: 492781155
5487
5579
  OverpassQL:
5488
5580
  type: programming
5489
5581
  color: "#cce2aa"
@@ -5909,6 +6001,16 @@ PostScript:
5909
6001
  - postscr
5910
6002
  ace_mode: text
5911
6003
  language_id: 291
6004
+ Power Query:
6005
+ type: programming
6006
+ aliases:
6007
+ - powerquery
6008
+ extensions:
6009
+ - ".pq"
6010
+ tm_scope: source.powerquery
6011
+ ace_mode: text
6012
+ color: "#d38e0d"
6013
+ language_id: 37496382
5912
6014
  PowerBuilder:
5913
6015
  type: programming
5914
6016
  color: "#8f0f8d"
@@ -5953,6 +6055,17 @@ Prisma:
5953
6055
  tm_scope: source.prisma
5954
6056
  ace_mode: prisma
5955
6057
  language_id: 499933428
6058
+ Pro*C:
6059
+ fs_name: ProC
6060
+ color: "#bb8368"
6061
+ type: programming
6062
+ extensions:
6063
+ - ".pc"
6064
+ tm_scope: source.c
6065
+ ace_mode: c_cpp
6066
+ codemirror_mode: clike
6067
+ codemirror_mime_type: text/x-csrc
6068
+ language_id: 991047534
5956
6069
  Processing:
5957
6070
  type: programming
5958
6071
  color: "#0096D8"
@@ -6029,6 +6142,7 @@ Protocol Buffer Text Format:
6029
6142
  - ".textproto"
6030
6143
  - ".pbt"
6031
6144
  - ".pbtxt"
6145
+ - ".txtpb"
6032
6146
  tm_scope: source.textproto
6033
6147
  ace_mode: text
6034
6148
  language_id: 436568854
@@ -6139,6 +6253,8 @@ Python:
6139
6253
  - pypy3
6140
6254
  - uv
6141
6255
  aliases:
6256
+ - py
6257
+ - py3
6142
6258
  - python3
6143
6259
  - rusthon
6144
6260
  language_id: 303
@@ -6236,6 +6352,14 @@ QuickBASIC:
6236
6352
  codemirror_mode: vb
6237
6353
  codemirror_mime_type: text/x-vb
6238
6354
  language_id: 593107205
6355
+ Quint:
6356
+ type: programming
6357
+ color: "#9d6ce5"
6358
+ extensions:
6359
+ - ".qnt"
6360
+ tm_scope: source.quint
6361
+ ace_mode: text
6362
+ language_id: 562056483
6239
6363
  R:
6240
6364
  type: programming
6241
6365
  color: "#198CE7"
@@ -6563,6 +6687,14 @@ Redirect Rules:
6563
6687
  tm_scope: source.redirects
6564
6688
  ace_mode: text
6565
6689
  language_id: 1020148948
6690
+ Redscript:
6691
+ type: programming
6692
+ color: "#f44336"
6693
+ extensions:
6694
+ - ".reds"
6695
+ tm_scope: source.redscript
6696
+ ace_mode: text
6697
+ language_id: 686691365
6566
6698
  Regular Expression:
6567
6699
  type: data
6568
6700
  color: "#009a00"
@@ -6633,6 +6765,17 @@ RobotFramework:
6633
6765
  tm_scope: text.robot
6634
6766
  ace_mode: robot
6635
6767
  language_id: 324
6768
+ Robots Exclusion Rules:
6769
+ type: data
6770
+ aliases:
6771
+ - robots
6772
+ - robots txt
6773
+ - robotx.txt
6774
+ filenames:
6775
+ - robots.txt
6776
+ ace_mode: text
6777
+ tm_scope: text.robots-txt
6778
+ language_id: 674736065
6636
6779
  Roc:
6637
6780
  type: programming
6638
6781
  color: "#7c38f5"
@@ -7419,6 +7562,14 @@ SourcePawn:
7419
7562
  tm_scope: source.sourcepawn
7420
7563
  ace_mode: text
7421
7564
  language_id: 354
7565
+ SpiceDB Schema:
7566
+ type: data
7567
+ color: "#a5318a"
7568
+ extensions:
7569
+ - ".zed"
7570
+ tm_scope: source.spicedb
7571
+ ace_mode: text
7572
+ language_id: 864005057
7422
7573
  Spline Font Database:
7423
7574
  type: data
7424
7575
  extensions:
@@ -7643,7 +7794,7 @@ TMDL:
7643
7794
  extensions:
7644
7795
  - ".tmdl"
7645
7796
  aliases:
7646
- - "Tabular Model Definition Language"
7797
+ - Tabular Model Definition Language
7647
7798
  tm_scope: source.tmdl
7648
7799
  ace_mode: text
7649
7800
  language_id: 769162295
@@ -7658,6 +7809,8 @@ TOML:
7658
7809
  - Cargo.toml.orig
7659
7810
  - Gopkg.lock
7660
7811
  - Pipfile
7812
+ - mise.local.lock
7813
+ - mise.lock
7661
7814
  - pdm.lock
7662
7815
  - poetry.lock
7663
7816
  - uv.lock
@@ -7699,6 +7852,8 @@ TSX:
7699
7852
  type: programming
7700
7853
  color: "#3178c6"
7701
7854
  group: TypeScript
7855
+ aliases:
7856
+ - typescriptreact
7702
7857
  extensions:
7703
7858
  - ".tsx"
7704
7859
  tm_scope: source.tsx
@@ -7875,6 +8030,7 @@ Text:
7875
8030
  - README.me
7876
8031
  - README.mysql
7877
8032
  - README.nss
8033
+ - README.pc
7878
8034
  - click.me
7879
8035
  - delete.me
7880
8036
  - keep.me
@@ -8191,6 +8347,7 @@ Valve Data Format:
8191
8347
  - vdf
8192
8348
  extensions:
8193
8349
  - ".vdf"
8350
+ - ".vmf"
8194
8351
  ace_mode: text
8195
8352
  tm_scope: source.keyvalues
8196
8353
  language_id: 544060961
@@ -8653,6 +8810,7 @@ XML:
8653
8810
  - ".grxml"
8654
8811
  - ".gst"
8655
8812
  - ".hzp"
8813
+ - ".icls"
8656
8814
  - ".iml"
8657
8815
  - ".ivy"
8658
8816
  - ".jelly"
@@ -9023,11 +9181,11 @@ crontab:
9023
9181
  ace_mode: tcl
9024
9182
  language_id: 705203557
9025
9183
  desktop:
9184
+ group: INI
9026
9185
  type: data
9027
9186
  extensions:
9028
9187
  - ".desktop"
9029
9188
  - ".desktop.in"
9030
- - ".service"
9031
9189
  tm_scope: source.desktop
9032
9190
  ace_mode: text
9033
9191
  language_id: 412
@@ -9181,6 +9339,19 @@ ooc:
9181
9339
  tm_scope: source.ooc
9182
9340
  ace_mode: text
9183
9341
  language_id: 418
9342
+ pkg-config:
9343
+ type: data
9344
+ color: "#2b5e82"
9345
+ aliases:
9346
+ - pkgconf
9347
+ extensions:
9348
+ - ".pc"
9349
+ - ".pc.in"
9350
+ tm_scope: source.pkgconf
9351
+ ace_mode: properties
9352
+ codemirror_mode: properties
9353
+ codemirror_mime_type: text/x-properties
9354
+ language_id: 925023573
9184
9355
  q:
9185
9356
  type: programming
9186
9357
  extensions:
@@ -9207,16 +9378,6 @@ reStructuredText:
9207
9378
  codemirror_mode: rst
9208
9379
  codemirror_mime_type: text/x-rst
9209
9380
  language_id: 419
9210
- robots.txt:
9211
- type: data
9212
- aliases:
9213
- - robots
9214
- - robots txt
9215
- filenames:
9216
- - robots.txt
9217
- ace_mode: text
9218
- tm_scope: text.robots-txt
9219
- language_id: 674736065
9220
9381
  sed:
9221
9382
  type: programming
9222
9383
  color: "#64b970"
@@ -73,7 +73,25 @@ module Linguist
73
73
  return @language if defined?(@language)
74
74
 
75
75
  @language = if lang = git_attributes['linguist-language']
76
- Language.find_by_alias(lang)
76
+ detected_language = Language.find_by_alias(lang)
77
+
78
+ # If strategies are being tracked, get the original strategy that would have been used
79
+ if detected_language && Linguist.instrumenter
80
+ # Get the original strategy by calling super (which calls Linguist.detect)
81
+ original_language = super
82
+ original_strategy_info = Linguist.instrumenter.detected_info[self.name]
83
+ original_strategy = original_strategy_info ? original_strategy_info[:strategy] : "Unknown"
84
+
85
+ if original_language == detected_language
86
+ strategy_name = "#{original_strategy} (confirmed by .gitattributes)"
87
+ else
88
+ strategy_name = "#{original_strategy} (overridden by .gitattributes)"
89
+ end
90
+
91
+ strategy = Struct.new(:name).new(strategy_name)
92
+ Linguist.instrument("linguist.detected", blob: self, strategy: strategy, language: detected_language)
93
+ end
94
+ detected_language
77
95
  else
78
96
  super
79
97
  end