github-linguist 9.0.0 → 9.2.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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +3 -3
  3. data/grammars/etc.json +1 -1
  4. data/grammars/inline.edgeql.json +1 -1
  5. data/grammars/liquid.injection.json +1 -1
  6. data/grammars/source.4dm.json +1 -1
  7. data/grammars/source.QB64.json +1 -1
  8. data/grammars/source.abap.json +1 -1
  9. data/grammars/source.abl.json +1 -1
  10. data/grammars/source.aiken.json +1 -0
  11. data/grammars/source.answersetprogramming.json +1 -0
  12. data/grammars/source.apacheconf.json +1 -0
  13. data/grammars/source.apex.json +1 -1
  14. data/grammars/source.assembly.json +1 -1
  15. data/grammars/source.ats.json +1 -1
  16. data/grammars/source.ballerina.json +1 -1
  17. data/grammars/source.brs.json +1 -1
  18. data/grammars/source.bst.json +1 -0
  19. data/grammars/source.c++.json +1 -1
  20. data/grammars/source.c.calendar.json +1 -0
  21. data/grammars/source.c.json +1 -1
  22. data/grammars/source.c.linker.json +1 -0
  23. data/grammars/source.cairo0.json +1 -1
  24. data/grammars/source.cl.json +1 -1
  25. data/grammars/source.clue.json +1 -0
  26. data/grammars/source.cmake.json +1 -1
  27. data/grammars/source.cmakecache.json +1 -1
  28. data/grammars/source.cobol.json +1 -1
  29. data/grammars/source.cs.json +1 -1
  30. data/grammars/source.curlrc.json +1 -1
  31. data/grammars/source.curry.json +1 -1
  32. data/grammars/source.daslang.json +1 -0
  33. data/grammars/source.dds.dspf.json +1 -1
  34. data/grammars/source.erlang.json +1 -1
  35. data/grammars/source.gdscript.json +1 -1
  36. data/grammars/source.git-revlist.json +1 -1
  37. data/grammars/source.gleam.json +1 -1
  38. data/grammars/source.hack.json +1 -1
  39. data/grammars/source.hcl.json +1 -1
  40. data/grammars/source.hx.json +1 -1
  41. data/grammars/source.ice.json +1 -1
  42. data/grammars/source.ilecobol.json +1 -0
  43. data/grammars/source.ispc.json +1 -0
  44. data/grammars/source.jai.json +1 -0
  45. data/grammars/source.json.comments.json +1 -0
  46. data/grammars/source.julia.console.json +1 -1
  47. data/grammars/source.julia.json +1 -1
  48. data/grammars/source.just.json +1 -1
  49. data/grammars/source.kdl.json +1 -0
  50. data/grammars/source.koka.json +1 -0
  51. data/grammars/source.lean.markdown.json +1 -1
  52. data/grammars/source.lean4.markdown.json +1 -1
  53. data/grammars/source.leo.json +1 -0
  54. data/grammars/source.livescript.json +1 -1
  55. data/grammars/source.m2.json +1 -1
  56. data/grammars/source.m3u.json +1 -0
  57. data/grammars/source.matlab.json +1 -1
  58. data/grammars/source.mo.json +1 -1
  59. data/grammars/source.moonbit.json +1 -1
  60. data/grammars/source.mzn.json +1 -0
  61. data/grammars/source.nasl.json +1 -1
  62. data/grammars/source.nim.json +1 -1
  63. data/grammars/source.nr.json +1 -1
  64. data/grammars/source.nushell.json +1 -1
  65. data/grammars/source.objc.json +1 -1
  66. data/grammars/source.odin.json +1 -1
  67. data/grammars/source.openesql.json +1 -1
  68. data/grammars/source.openqasm.json +1 -0
  69. data/grammars/source.overpassql.json +1 -0
  70. data/grammars/source.polar.json +1 -1
  71. data/grammars/source.prisma.json +1 -1
  72. data/grammars/source.purescript.json +1 -1
  73. data/grammars/source.ql.json +1 -1
  74. data/grammars/source.qsharp.json +1 -1
  75. data/grammars/source.rescript.json +1 -1
  76. data/grammars/source.roc.json +1 -1
  77. data/grammars/source.rpgle.json +1 -1
  78. data/grammars/source.rust.json +1 -1
  79. data/grammars/source.sail.json +1 -0
  80. data/grammars/source.scala.json +1 -1
  81. data/grammars/source.scm.json +1 -0
  82. data/grammars/source.slang.json +1 -0
  83. data/grammars/source.slice.json +1 -1
  84. data/grammars/source.slint.json +1 -1
  85. data/grammars/source.smithy.json +1 -1
  86. data/grammars/source.soql.json +1 -1
  87. data/grammars/source.sourcepawn.json +1 -1
  88. data/grammars/source.stan.json +1 -1
  89. data/grammars/source.sway.json +1 -1
  90. data/grammars/source.swift.json +1 -1
  91. data/grammars/source.tact.json +1 -1
  92. data/grammars/source.talon.json +1 -1
  93. data/grammars/source.templ.json +1 -1
  94. data/grammars/source.textgrid.json +1 -1
  95. data/grammars/source.toc.json +1 -1
  96. data/grammars/source.torrc.json +1 -0
  97. data/grammars/source.ts.prismaClientRawSQL.json +1 -1
  98. data/grammars/source.tsp.json +1 -1
  99. data/grammars/source.typst.json +1 -1
  100. data/grammars/source.uplc.json +1 -0
  101. data/grammars/source.vba.json +1 -1
  102. data/grammars/source.vento.json +1 -0
  103. data/grammars/source.vue.json +1 -1
  104. data/grammars/source.wdl.json +1 -1
  105. data/grammars/source.wit.json +1 -1
  106. data/grammars/source.xmake.json +1 -0
  107. data/grammars/source.zmodel.json +1 -0
  108. data/grammars/text.adblock.json +1 -1
  109. data/grammars/text.html.liquid.json +1 -1
  110. data/grammars/text.html.markdown.d2.json +1 -1
  111. data/grammars/text.html.vento.json +1 -0
  112. data/grammars/text.rtf.json +1 -1
  113. data/grammars/text.valve-cfg.json +1 -1
  114. data/grammars/version +1 -1
  115. data/lib/linguist/VERSION +1 -1
  116. data/lib/linguist/generated.rb +24 -2
  117. data/lib/linguist/heuristics.yml +65 -18
  118. data/lib/linguist/languages.json +1 -1
  119. data/lib/linguist/languages.yml +298 -33
  120. data/lib/linguist/samples.json +1 -1
  121. data/lib/linguist/shebang.rb +1 -1
  122. metadata +34 -14
  123. data/grammars/source.apache-config.json +0 -1
  124. data/grammars/source.apache-config.mod_perl.json +0 -1
  125. data/grammars/source.c.platform.json +0 -1
  126. data/grammars/text.html.erlang.yaws.json +0 -1
@@ -68,7 +68,7 @@ disambiguations:
68
68
  - extensions: ['.as']
69
69
  rules:
70
70
  - language: ActionScript
71
- pattern: '^\s*(?:package(?:\s+[\w.]+)?\s+(?:\{|$)|import\s+[\w.*]+\s*;|(?=.*?(?:intrinsic|extends))(intrinsic\s+)?class\s+[\w<>.]+(?:\s+extends\s+[\w<>.]+)?|(?:(?:public|protected|private|static)\s+)*(?:(?:var|const|local)\s+\w+\s*:\s*[\w<>.]+(?:\s*=.*)?\s*;|function\s+\w+\s*\((?:\s*\w+\s*:\s*[\w<>.]+\s*(,\s*\w+\s*:\s*[\w<>.]+\s*)*)?\)))'
71
+ pattern: '^\s*(?:package(?:\s+[\w.]+)?\s+(?:\{|$)|import\s+[\w.*]+\s*;|(?:intrinsic\s+)class\s+[\w<>.]+|\s+class\s+extends\s+[\w<>.]+|(?:(?:public|protected|private|static)\s+)*(?:(?:var|const|local)\s+\w+\s*:\s*[\w<>.]+(?:\s*=.*)?\s*;|function\s+\w+\s*\((?:\s*\w+\s*:\s*[\w<>.]+\s*(,\s*\w+\s*:\s*[\w<>.]+\s*)*)?\)))'
72
72
  - extensions: ['.asc']
73
73
  rules:
74
74
  - language: Public Key
@@ -79,6 +79,8 @@ disambiguations:
79
79
  pattern: '^(\/\/.+|((import|export)\s+)?(function|int|float|char)\s+((room|repeatedly|on|game)_)?([A-Za-z]+[A-Za-z_0-9]+)\s*[;\(])'
80
80
  - extensions: ['.asm']
81
81
  rules:
82
+ - language: Assembly
83
+ pattern: '(?i)mov\s+[^\s]{2,},'
82
84
  - language: Motorola 68K Assembly
83
85
  named_pattern: m68k
84
86
  - extensions: ['.asy']
@@ -133,15 +135,20 @@ disambiguations:
133
135
  - extensions: ['.bs']
134
136
  rules:
135
137
  - language: Bikeshed
136
- pattern: '^(?i:<pre\s+class)\s*=\s*(''|\"|\b)metadata\b\1[^>\r\n]*>'
138
+ pattern: '^(?i:<pre\s+class)\s*=\s*(''|\"|\b)metadata\b(''|\"|\b)[^>\r\n]*>'
137
139
  - language: BrighterScript
138
140
  pattern:
139
- - (?i:^\s*(?=^sub\s)(?:sub\s*\w+\(.*?\))|(?::\s*sub\(.*?\))$)
141
+ - (?i:^\s*(?:sub\s*\w+\(.*?\))|(?::\s*sub\(.*?\))$)
140
142
  - (?i:^\s*(end\ssub)$)
141
- - (?i:^\s*(?=^function\s)(?:function\s*\w+\(.*?\)\s*as\s*\w*)|(?::\s*function\(.*?\)\s*as\s*\w*)$)
143
+ - (?i:^\s*(?:function\s*\w+\(.*?\)\s*as\s*\w*)|(?::\s*function\(.*?\)\s*as\s*\w*)$)
142
144
  - (?i:^\s*(end\sfunction)$)
143
145
  - language: Bluespec BH
144
146
  pattern: '^package\s+[A-Za-z_][A-Za-z0-9_'']*(?:\s*\(|\s+where)'
147
+ - extensions: ['.bst']
148
+ rules:
149
+ - language: BibTeX Style
150
+ pattern: 'ENTRY\s*\{'
151
+ - language: BuildStream
145
152
  - extensions: ['.builds']
146
153
  rules:
147
154
  - language: XML
@@ -282,6 +289,8 @@ disambiguations:
282
289
  and:
283
290
  - named_pattern: vb-form
284
291
  - pattern: '^\s*Begin\s+VB\.Form\s+'
292
+ - language: INI
293
+ pattern: '\ATYPE=VIEW'
285
294
  - extensions: ['.fs']
286
295
  rules:
287
296
  - language: Forth
@@ -295,7 +304,7 @@ disambiguations:
295
304
  - extensions: ['.ftl']
296
305
  rules:
297
306
  - language: FreeMarker
298
- pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\r\n]*?\}|^[ \t]*(?:<#--.*?-->|<#([a-z]+)(?=\s|>)[^>]*>.*?</#\1>|\[#--.*?--\]|\[#([a-z]+)(?=\s|\])[^\]]*\].*?\[#\2\])'
307
+ pattern: '^(?:<|[a-zA-Z-][a-zA-Z0-9_-]+[ \t]+\w)|\$\{\w+[^\r\n]*?\}|^[ \t]*(?:<#--.*?-->|<#(?:[a-z]+)\s[^>]*>.*?</#(?:[a-z]+)>|\[#--.*?--\]|\[#(?:[a-z]+)\s[^\]]*\].*?\[#(?:[a-z]+)\])'
299
308
  - language: Fluent
300
309
  pattern: '^-?[a-zA-Z][a-zA-Z0-9_-]* *=|\{\$-?[a-zA-Z][-\w]*(?:\.[a-zA-Z][-\w]*)?\}'
301
310
  - extensions: ['.g']
@@ -363,6 +372,10 @@ disambiguations:
363
372
  named_pattern: m68k
364
373
  - language: SWIG
365
374
  pattern: '^[ \t]*%[a-z_]+\b|^%[{}]$'
375
+ - language: Assembly
376
+ pattern:
377
+ - '(?i)mov\s+[^\s]+,'
378
+ - '^\s+(i?)db\s+[a-z\d]'
366
379
  - extensions: ['.ice']
367
380
  rules:
368
381
  - language: JSON
@@ -382,7 +395,7 @@ disambiguations:
382
395
  - language: NASL
383
396
  pattern:
384
397
  - '^\s*include\s*\(\s*(?:"|'')[\\/\w\-\.:\s]+\.(?:nasl|inc)\s*(?:"|'')\s*\)\s*;'
385
- - '^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"'']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"'']+)?\s*)*+\s*;'
398
+ - '^\s*(?:global|local)_var\s+(?:\w+(?:\s*=\s*[\w\-"'']+)?\s*)(?:,\s*\w+(?:\s*=\s*[\w\-"'']+)?\s*)*\s*;'
386
399
  - '^\s*namespace\s+\w+\s*\{'
387
400
  - '^\s*object\s+\w+\s*(?:extends\s+\w+(?:::\w+)?)?\s*\{'
388
401
  - '^\s*(?:public\s+|private\s+|\s*)function\s+\w+\s*\([\w\s,]*\)\s*\{'
@@ -394,6 +407,10 @@ disambiguations:
394
407
  - '^\s*end[.;]\s*$'
395
408
  - language: BitBake
396
409
  pattern: '^inherit(\s+[\w.-]+)+\s*$'
410
+ - language: Assembly
411
+ pattern:
412
+ - '^(?i)[^"m]*mov\s+[^\s]+,'
413
+ - '^\s+(?i)db\s+[a-z\d]'
397
414
  - extensions: ['.json']
398
415
  rules:
399
416
  - language: OASv2-json
@@ -417,6 +434,11 @@ disambiguations:
417
434
  pattern: '^import [a-z]'
418
435
  - language: Lean 4
419
436
  pattern: '^import [A-Z]'
437
+ - extensions: ['.lp']
438
+ rules:
439
+ - language: Linear Programming
440
+ pattern: '^(?i:minimize|minimum|min|maximize|maximum|max)(?i:\s+multi-objectives)?$'
441
+ - language: Answer Set Programming
420
442
  - extensions: ['.ls']
421
443
  rules:
422
444
  - language: LoomScript
@@ -460,7 +482,7 @@ disambiguations:
460
482
  - extensions: ['.mc']
461
483
  rules:
462
484
  - language: Win32 Message File
463
- pattern: '(?i)^[ \t]*(?>\/\*\s*)?MessageId=|^\.$'
485
+ pattern: '(?i)^[ \t]*(\/\*\s*)?MessageId=|^\.$'
464
486
  - language: M4
465
487
  pattern: '^dnl|^divert\((?:-?\d+)?\)|^\w+\(`[^\r\n]*?''[),]'
466
488
  - language: Monkey C
@@ -506,8 +528,8 @@ disambiguations:
506
528
  - language: MAXScript
507
529
  - extensions: ['.msg']
508
530
  rules:
509
- - language: omnetpp-msg
510
- pattern: '^cplusplus \{\{|^namespace[\s]*([^.\s]*\.)*[^.\s]*;|^struct \{|^message [\S]* (extends)? [\S]*[\s]*\{|^packet \{|^class (extends) [\S]*[\s]*\{|^enum \{|^import ([^.\s]*\.)*[^.\s]*;'
531
+ - language: OMNeT++ MSG
532
+ pattern: '^cplusplus\(?[\S]*\)?[\s]*\{?\{?|^namespace[\s]+([^.\s]*\.)*[^.\s]*;|^struct[\s]+[\S]+|^message[\s]+[\S]+(extends )?[\S]*[\s]*|^packet[\s]+[\S]+|^class[\s]+[\S]+(extends )?[\S]*[\s]*|^enum[\s]+[\S]+|^import ([^.\s]*\.)*[^.\s]*;'
511
533
  - extensions: ['.n']
512
534
  rules:
513
535
  - language: Roff
@@ -676,7 +698,7 @@ disambiguations:
676
698
  - extensions: ['.rno']
677
699
  rules:
678
700
  - language: RUNOFF
679
- pattern: '(?i:^\.!|^\f|\f$|^\.end lit(?:eral)?\b|^\.[a-zA-Z].*?;\.[a-zA-Z](?:[; \t])|\^\*[^\s*][^*]*\\\*(?=$|\s)|^\.c;[ \t]*\w+)'
701
+ pattern: '(?i:^\.!|^\f|\f$|^\.end lit(?:eral)?\b|^\.[a-zA-Z].*?;\.[a-zA-Z](?:[; \t])|\^\*[^\s*][^*]*\\\*(?:$|\s)|^\.c;[ \t]*\w+)'
680
702
  - language: Roff
681
703
  pattern: '^\.\\" '
682
704
  - extensions: ['.rpy']
@@ -694,6 +716,10 @@ disambiguations:
694
716
  pattern: '^\s*<\?xml'
695
717
  - extensions: ['.s']
696
718
  rules:
719
+ - language: Unix Assembly
720
+ pattern: '(?i:mov[lq]?)\s+[%\$]'
721
+ - language: Assembly
722
+ pattern: '(?i:mov)\s+[^\s%]{2,},'
697
723
  - language: Motorola 68K Assembly
698
724
  named_pattern: m68k
699
725
  - extensions: ['.sc']
@@ -709,10 +735,27 @@ disambiguations:
709
735
  - language: Markdown
710
736
  # Markdown syntax for scdoc
711
737
  pattern: '^#+\s+(NAME|SYNOPSIS|DESCRIPTION)'
738
+ - extensions: ['.scm']
739
+ rules:
740
+ - language: Scheme
741
+ pattern:
742
+ - '(?:''[\(\*#]|\w->\w|\.\.\.[\s\)]|\([+\-:<>\/=~\)]|~>|[#`]\(|#:\w)'
743
+ - '^\s*\((?:define\*?|import|library|lambda)'
744
+ negative_pattern:
745
+ - '\(#[\w-]+[!\?]'
746
+ - '[\)\]"_]\s*(?:[\*\+\?]|@\w)'
747
+ - language: Tree-sitter Query
748
+ pattern:
749
+ - '\(#[\w-]+[!\?]'
750
+ - '[\)\]"_]\s*(?:[\*\+\?]|@\w)'
751
+ - '(?:^\s*\w+:\s*[\(\[\"])'
752
+ - '\(#(?:set!|(?:not-)?(?:any-of|match)\?)'
753
+ negative_pattern:
754
+ - '\([+\-:<>\/=~\)]'
712
755
  - extensions: ['.sol']
713
756
  rules:
714
757
  - language: Solidity
715
- pattern: '\bpragma\s+solidity\b|\b(?:abstract\s+)?contract\s+(?!\d)[a-zA-Z0-9$_]+(?:\s+is\s+(?:[a-zA-Z0-9$_][^\{]*?)?)?\s*\{'
758
+ pattern: '\bpragma\s+solidity\b|\b(?:abstract\s+)?contract\s+[a-zA-Z$_][a-zA-Z0-9$_]*(?:\s+is\s+(?:[a-zA-Z0-9$_][^\{]*?)?)?\s*\{'
716
759
  - language: Gerber Image
717
760
  pattern: '^[DGMT][0-9]{2}\*(?:\r?\n|\r)'
718
761
  - extensions: ['.sql']
@@ -737,7 +780,7 @@ disambiguations:
737
780
  - extensions: ['.st']
738
781
  rules:
739
782
  - language: StringTemplate
740
- pattern: '\$\w+[($]|(.)!\s*.+?\s*!\1|<!\s*.+?\s*!>|\[!\s*.+?\s*!\]|\{!\s*.+?\s*!\}'
783
+ pattern: '\$\w+[($]|.!\s*.+?\s*!.|<!\s*.+?\s*!>|\[!\s*.+?\s*!\]|\{!\s*.+?\s*!\}'
741
784
  - language: Smalltalk
742
785
  pattern: '\A\s*[\[{(^"''\w#]|[a-zA-Z_]\w*\s*:=\s*[a-zA-Z_]\w*|class\s*>>\s*[a-zA-Z_]\w*|^[a-zA-Z_]\w*\s+[a-zA-Z_]\w*:|^Class\s*\{|if(?:True|False):\s*\['
743
786
  - extensions: ['.star']
@@ -749,6 +792,11 @@ disambiguations:
749
792
  rules:
750
793
  - language: STL
751
794
  pattern: '\A\s*solid(?:$|\s)[\s\S]*^endsolid(?:$|\s)'
795
+ - extensions: ['.svx']
796
+ rules:
797
+ - language: Survex data
798
+ pattern: '\A(;|\*[^*]+$)'
799
+ - language: mdsvex
752
800
  - extensions: ['.sw']
753
801
  rules:
754
802
  - language: Sway
@@ -837,7 +885,7 @@ disambiguations:
837
885
  (?<!-)\b
838
886
  )*+
839
887
 
840
- (?=$|\s)
888
+ (?:$|\s)
841
889
  - language: Adblock Filter List
842
890
  pattern: |-
843
891
  (?x)\A
@@ -870,10 +918,10 @@ disambiguations:
870
918
  - extensions: ['.url']
871
919
  rules:
872
920
  - language: INI
873
- pattern: '^\[InternetShortcut\](?:\r?\n|\r)(?>[^\s\[][^\r\n]*(?:\r?\n|\r))*URL='
921
+ pattern: '^\[InternetShortcut\](?:\r?\n|\r)([^\s\[][^\r\n]*(?:\r?\n|\r)){0,20}URL='
874
922
  - extensions: ['.v']
875
923
  rules:
876
- - language: Coq
924
+ - language: Rocq Prover
877
925
  pattern: '(?:^|\s)(?:Proof|Qed)\.(?:$|\s)|(?:^|\s)Require[ \t]+(Import|Export)\s'
878
926
  - language: Verilog
879
927
  pattern: '^[ \t]*module\s+[^\s()]+\s+\#?\(|^[ \t]*`(?:define|ifdef|ifndef|include|timescale)|^[ \t]*always[ \t]+@|^[ \t]*initial[ \t]+(begin|@)'
@@ -939,11 +987,10 @@ named_patterns:
939
987
  freebasic:
940
988
  - '(?i)^[ \t]*#(?:define|endif|endmacro|ifn?def|include|lang|macro|pragma)(?:$|\s)'
941
989
  - '(?i)^[ \t]*dim( shared)? [a-z_][a-z0-9_]* as [a-z_][a-z0-9_]* ptr'
942
- - '(?i)^[ \t]*dim( shared)? as [a-z_][a-z0-9_]* [a-z_][a-z0-9_]*'
943
990
  gsc:
944
991
  - '^\s*#\s*(?:using|insert|include|define|namespace)[ \t]+\w'
945
- - '^\s*(?>(?:autoexec|private)\s+){0,2}function\s+(?>(?:autoexec|private)\s+){0,2}\w+\s*\('
946
- - '\b(?:level|self)[ \t]+thread[ \t]+(?:\[\[[ \t]*(?>\w+\.)*\w+[ \t]*\]\]|\w+)[ \t]*\([^\r\n\)]*\)[ \t]*;'
992
+ - '^\s*((?:autoexec|private)\s+){0,2}function\s+((?:autoexec|private)\s+){0,2}\w+\s*\('
993
+ - '\b(?:level|self)[ \t]+thread[ \t]+(?:\[\[[ \t]*(\w+\.)+[ \t]*\]\]|\w+)[ \t]*\([^\r\n\)]*\)[ \t]*;'
947
994
  - '^[ \t]*#[ \t]*(?:precache|using_animtree)[ \t]*\('
948
995
  json: '\A\s*[{\[]'
949
996
  key_equals_value: '^[^#!;][^=]*='