github-linguist 7.27.0 → 7.29.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 (107) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +313 -294
  3. data/ext/linguist/lex.linguist_yy.h +5 -4
  4. data/ext/linguist/tokenizer.l +5 -2
  5. data/grammars/etc.json +1 -1
  6. data/grammars/inline.edgeql.json +1 -0
  7. data/grammars/inline.graphql.json +1 -1
  8. data/grammars/inline.graphql.markdown.codeblock.json +1 -0
  9. data/grammars/inline.graphql.rb.json +1 -0
  10. data/grammars/inline.hbs.json +1 -0
  11. data/grammars/inline.template.json +1 -0
  12. data/grammars/markdown.commonlisp.codeblock.json +1 -0
  13. data/grammars/markdown.glimmer.codeblock.json +1 -0
  14. data/grammars/markdown.lean4.codeblock.json +1 -0
  15. data/grammars/markdown.move.codeblock.json +1 -0
  16. data/grammars/mdx.LANGUAGE.codeblock.json +1 -0
  17. data/grammars/source.8xp.json +1 -0
  18. data/grammars/source.abl.json +1 -1
  19. data/grammars/source.al.json +1 -1
  20. data/grammars/source.amxxpawn.json +1 -0
  21. data/grammars/source.astro.json +1 -1
  22. data/grammars/source.bb.json +1 -0
  23. data/grammars/source.bh.json +1 -0
  24. data/grammars/source.bicep.json +1 -1
  25. data/grammars/source.brs.json +1 -1
  26. data/grammars/source.cds.json +1 -1
  27. data/grammars/source.cobol.json +1 -1
  28. data/grammars/source.commonlisp.json +1 -0
  29. data/grammars/source.cs.json +1 -1
  30. data/grammars/source.csound.json +1 -1
  31. data/grammars/source.dart.json +1 -1
  32. data/grammars/source.denizenscript.json +1 -1
  33. data/grammars/source.did.json +1 -1
  34. data/grammars/source.dm.json +1 -1
  35. data/grammars/source.earthfile.json +1 -1
  36. data/grammars/source.edgeql.json +1 -0
  37. data/grammars/source.elvish-transcript.json +1 -1
  38. data/grammars/source.fsharp.json +1 -1
  39. data/grammars/source.gdresource.json +1 -1
  40. data/grammars/source.gdscript.json +1 -1
  41. data/grammars/source.genero-4gl.json +1 -0
  42. data/grammars/source.genero-per.json +1 -0
  43. data/grammars/source.gjs.json +1 -0
  44. data/grammars/source.gsc.json +1 -1
  45. data/grammars/source.gts.json +1 -0
  46. data/grammars/source.hcl.json +1 -0
  47. data/grammars/source.hcl.terraform.json +1 -0
  48. data/grammars/source.ice.json +1 -0
  49. data/grammars/source.julia.json +1 -1
  50. data/grammars/source.kotlin.json +1 -1
  51. data/grammars/source.lean4.json +1 -0
  52. data/grammars/source.lean4.markdown.json +1 -0
  53. data/grammars/source.lua.json +1 -1
  54. data/grammars/source.matlab.json +1 -1
  55. data/grammars/source.mdx.json +1 -1
  56. data/grammars/source.meta-info.json +1 -1
  57. data/grammars/source.mojo.json +1 -0
  58. data/grammars/source.nasal.json +1 -1
  59. data/grammars/source.nim.json +1 -1
  60. data/grammars/source.nushell.json +1 -1
  61. data/grammars/source.odin.json +1 -1
  62. data/grammars/source.p4.json +1 -1
  63. data/grammars/source.pip-requirements.json +1 -0
  64. data/grammars/source.praat.json +1 -0
  65. data/grammars/source.ql.json +1 -1
  66. data/grammars/source.raku.json +1 -1
  67. data/grammars/source.rascal.json +1 -1
  68. data/grammars/source.rego.json +1 -1
  69. data/grammars/source.rescript.json +1 -1
  70. data/grammars/source.roc.json +1 -0
  71. data/grammars/source.rpgle.json +1 -1
  72. data/grammars/source.rust.json +1 -1
  73. data/grammars/source.scala.json +1 -1
  74. data/grammars/source.sentinel.json +1 -0
  75. data/grammars/source.slice.json +1 -1
  76. data/grammars/source.slint.json +1 -0
  77. data/grammars/source.sourcepawn.json +1 -1
  78. data/grammars/source.swift.json +1 -1
  79. data/grammars/source.textgrid.json +1 -0
  80. data/grammars/source.toit.json +1 -0
  81. data/grammars/source.ts.json +1 -1
  82. data/grammars/source.tsx.json +1 -1
  83. data/grammars/source.vba.json +1 -1
  84. data/grammars/source.viml.json +1 -1
  85. data/grammars/sp-jsdoc.injection.json +1 -0
  86. data/grammars/text.adblock.json +1 -1
  87. data/grammars/text.html.edge.json +1 -0
  88. data/grammars/text.html.ember-handlebars.json +1 -0
  89. data/grammars/text.html.statamic.json +1 -1
  90. data/grammars/text.md.json +1 -1
  91. data/grammars/text.srt.json +1 -1
  92. data/grammars/text.tex.json +1 -1
  93. data/grammars/text.valve-cfg.json +1 -0
  94. data/grammars/text.valve-kv.json +1 -0
  95. data/grammars/version +1 -1
  96. data/lib/linguist/VERSION +1 -1
  97. data/lib/linguist/generated.rb +27 -5
  98. data/lib/linguist/heuristics.yml +23 -2
  99. data/lib/linguist/languages.json +1 -1
  100. data/lib/linguist/languages.yml +153 -17
  101. data/lib/linguist/samples.json +1 -1
  102. metadata +41 -8
  103. data/grammars/govulncheck.json +0 -1
  104. data/grammars/markdown.graphql.codeblock.json +0 -1
  105. data/grammars/source.dmf.json +0 -1
  106. data/grammars/source.genero-forms.json +0 -1
  107. data/grammars/source.genero.json +0 -1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-linguist
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.27.0
4
+ version: 7.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-13 00:00:00.000000000 Z
11
+ date: 2024-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -233,40 +233,49 @@ files:
233
233
  - grammars/file.lasso.json
234
234
  - grammars/go.mod.json
235
235
  - grammars/go.sum.json
236
- - grammars/govulncheck.json
237
236
  - grammars/hidden.manref.json
238
237
  - grammars/hidden.regexp.injection-shell.json
239
238
  - grammars/hint.haskell.json
240
239
  - grammars/hint.message.haskell.json
241
240
  - grammars/hint.type.haskell.json
242
241
  - grammars/injections.etc.json
242
+ - grammars/inline.edgeql.json
243
243
  - grammars/inline.graphql.json
244
+ - grammars/inline.graphql.markdown.codeblock.json
244
245
  - grammars/inline.graphql.php.json
245
246
  - grammars/inline.graphql.python.json
247
+ - grammars/inline.graphql.rb.json
246
248
  - grammars/inline.graphql.re.json
247
249
  - grammars/inline.graphql.res.json
248
250
  - grammars/inline.graphql.scala.json
251
+ - grammars/inline.hbs.json
249
252
  - grammars/inline.prisma.json
253
+ - grammars/inline.template.json
250
254
  - grammars/liquid.injection.json
251
255
  - grammars/markdown.bicep.codeblock.json
252
256
  - grammars/markdown.cadence.codeblock.json
253
257
  - grammars/markdown.codeblock.proto.json
258
+ - grammars/markdown.commonlisp.codeblock.json
254
259
  - grammars/markdown.curry.codeblock.json
255
260
  - grammars/markdown.d2.codeblock.json
256
- - grammars/markdown.graphql.codeblock.json
261
+ - grammars/markdown.glimmer.codeblock.json
257
262
  - grammars/markdown.hack.codeblock.json
258
263
  - grammars/markdown.haxe.codeblock.json
259
264
  - grammars/markdown.hxml.codeblock.json
260
265
  - grammars/markdown.lean.codeblock.json
266
+ - grammars/markdown.lean4.codeblock.json
261
267
  - grammars/markdown.mcfunction.codeblock.json
268
+ - grammars/markdown.move.codeblock.json
262
269
  - grammars/markdown.plantuml.codeblock.json
263
270
  - grammars/markdown.prisma.codeblock.json
264
271
  - grammars/markdown.rescript.codeblock.json
265
272
  - grammars/markdown.talon.codeblock.json
266
273
  - grammars/markdown.textproto.codeblock.json
274
+ - grammars/mdx.LANGUAGE.codeblock.json
267
275
  - grammars/objdump.x86asm.json
268
276
  - grammars/source.2da.json
269
277
  - grammars/source.4dm.json
278
+ - grammars/source.8xp.json
270
279
  - grammars/source.abap.json
271
280
  - grammars/source.abapcds.json
272
281
  - grammars/source.abl.json
@@ -282,6 +291,7 @@ files:
282
291
  - grammars/source.al.json
283
292
  - grammars/source.alloy.json
284
293
  - grammars/source.ampl.json
294
+ - grammars/source.amxxpawn.json
285
295
  - grammars/source.angelscript.json
286
296
  - grammars/source.antlr.json
287
297
  - grammars/source.apache-config.json
@@ -303,12 +313,14 @@ files:
303
313
  - grammars/source.ballerina.json
304
314
  - grammars/source.basic.json
305
315
  - grammars/source.batchfile.json
316
+ - grammars/source.bb.json
306
317
  - grammars/source.bc.json
307
318
  - grammars/source.bdf.json
308
319
  - grammars/source.befunge.json
309
320
  - grammars/source.berry.bytecode.json
310
321
  - grammars/source.berry.json
311
322
  - grammars/source.bf.json
323
+ - grammars/source.bh.json
312
324
  - grammars/source.bicep.json
313
325
  - grammars/source.blitzmax.json
314
326
  - grammars/source.bms.json
@@ -361,6 +373,7 @@ files:
361
373
  - grammars/source.cobolit.json
362
374
  - grammars/source.cobsql_dir.json
363
375
  - grammars/source.coffee.json
376
+ - grammars/source.commonlisp.json
364
377
  - grammars/source.context.json
365
378
  - grammars/source.cool.json
366
379
  - grammars/source.coq.json
@@ -407,7 +420,6 @@ files:
407
420
  - grammars/source.ditroff.desc.json
408
421
  - grammars/source.ditroff.json
409
422
  - grammars/source.dm.json
410
- - grammars/source.dmf.json
411
423
  - grammars/source.dockerfile.json
412
424
  - grammars/source.dosbox-conf.json
413
425
  - grammars/source.dot.json
@@ -417,6 +429,7 @@ files:
417
429
  - grammars/source.ebnf.json
418
430
  - grammars/source.ecl.json
419
431
  - grammars/source.ed.json
432
+ - grammars/source.edgeql.json
420
433
  - grammars/source.editorconfig.json
421
434
  - grammars/source.eiffel.json
422
435
  - grammars/source.elixir.json
@@ -463,8 +476,8 @@ files:
463
476
  - grammars/source.gemini.json
464
477
  - grammars/source.generic-config.json
465
478
  - grammars/source.generic-db.json
466
- - grammars/source.genero-forms.json
467
- - grammars/source.genero.json
479
+ - grammars/source.genero-4gl.json
480
+ - grammars/source.genero-per.json
468
481
  - grammars/source.gerber.json
469
482
  - grammars/source.gf.json
470
483
  - grammars/source.gfm.blade.json
@@ -472,6 +485,7 @@ files:
472
485
  - grammars/source.gitattributes.json
473
486
  - grammars/source.gitconfig.json
474
487
  - grammars/source.gitignore.json
488
+ - grammars/source.gjs.json
475
489
  - grammars/source.gleam.json
476
490
  - grammars/source.glsl.json
477
491
  - grammars/source.gn.json
@@ -486,11 +500,14 @@ files:
486
500
  - grammars/source.groovy.gradle.json
487
501
  - grammars/source.groovy.json
488
502
  - grammars/source.gsc.json
503
+ - grammars/source.gts.json
489
504
  - grammars/source.hack.json
490
505
  - grammars/source.haproxy-config.json
491
506
  - grammars/source.harbour.json
492
507
  - grammars/source.haskell.json
493
508
  - grammars/source.hc.json
509
+ - grammars/source.hcl.json
510
+ - grammars/source.hcl.terraform.json
494
511
  - grammars/source.hgignore.json
495
512
  - grammars/source.hlasm.json
496
513
  - grammars/source.hlcode.json
@@ -507,6 +524,7 @@ files:
507
524
  - grammars/source.hx.type.json
508
525
  - grammars/source.hxml.json
509
526
  - grammars/source.hy.json
527
+ - grammars/source.ice.json
510
528
  - grammars/source.icurry.json
511
529
  - grammars/source.ideal.json
512
530
  - grammars/source.idl-dlm.json
@@ -560,6 +578,8 @@ files:
560
578
  - grammars/source.lcov.json
561
579
  - grammars/source.lean.json
562
580
  - grammars/source.lean.markdown.json
581
+ - grammars/source.lean4.json
582
+ - grammars/source.lean4.markdown.json
563
583
  - grammars/source.lex.json
564
584
  - grammars/source.lex.regexp.json
565
585
  - grammars/source.lid.json
@@ -619,6 +639,7 @@ files:
619
639
  - grammars/source.modelica.json
620
640
  - grammars/source.modula-3.json
621
641
  - grammars/source.modula2.json
642
+ - grammars/source.mojo.json
622
643
  - grammars/source.monkey.json
623
644
  - grammars/source.moonscript.json
624
645
  - grammars/source.move.json
@@ -691,6 +712,7 @@ files:
691
712
  - grammars/source.pic.json
692
713
  - grammars/source.pig_latin.json
693
714
  - grammars/source.pike.json
715
+ - grammars/source.pip-requirements.json
694
716
  - grammars/source.pli.json
695
717
  - grammars/source.plist.json
696
718
  - grammars/source.pnlgrp.json
@@ -703,6 +725,7 @@ files:
703
725
  - grammars/source.postscript.json
704
726
  - grammars/source.pov-ray sdl.json
705
727
  - grammars/source.powershell.json
728
+ - grammars/source.praat.json
706
729
  - grammars/source.prisma.json
707
730
  - grammars/source.processing.json
708
731
  - grammars/source.procfile.json
@@ -753,6 +776,7 @@ files:
753
776
  - grammars/source.rez.json
754
777
  - grammars/source.ring.json
755
778
  - grammars/source.rmcobol.json
779
+ - grammars/source.roc.json
756
780
  - grammars/source.rpg.json
757
781
  - grammars/source.rpgle.json
758
782
  - grammars/source.rpm-spec.json
@@ -772,6 +796,7 @@ files:
772
796
  - grammars/source.scilab.json
773
797
  - grammars/source.sdbl.json
774
798
  - grammars/source.sed.json
799
+ - grammars/source.sentinel.json
775
800
  - grammars/source.sepolicy.json
776
801
  - grammars/source.sexp.json
777
802
  - grammars/source.sfv.json
@@ -782,6 +807,7 @@ files:
782
807
  - grammars/source.sieve.json
783
808
  - grammars/source.singularity.json
784
809
  - grammars/source.slice.json
810
+ - grammars/source.slint.json
785
811
  - grammars/source.smali.json
786
812
  - grammars/source.smalltalk.json
787
813
  - grammars/source.smithy.json
@@ -816,6 +842,7 @@ files:
816
842
  - grammars/source.tea.json
817
843
  - grammars/source.terra.json
818
844
  - grammars/source.terraform.json
845
+ - grammars/source.textgrid.json
819
846
  - grammars/source.textproto.json
820
847
  - grammars/source.thrift.json
821
848
  - grammars/source.tl.json
@@ -824,6 +851,7 @@ files:
824
851
  - grammars/source.tm-properties.json
825
852
  - grammars/source.tnsaudit.json
826
853
  - grammars/source.toc.json
854
+ - grammars/source.toit.json
827
855
  - grammars/source.toml.json
828
856
  - grammars/source.ts.json
829
857
  - grammars/source.ts.prismaClientRawSQL.json
@@ -886,6 +914,7 @@ files:
886
914
  - grammars/source.zenscript.json
887
915
  - grammars/source.zig.json
888
916
  - grammars/source.zil.json
917
+ - grammars/sp-jsdoc.injection.json
889
918
  - grammars/text.adblock.json
890
919
  - grammars/text.bibtex.json
891
920
  - grammars/text.browserslist.json
@@ -913,7 +942,9 @@ files:
913
942
  - grammars/text.html.django.json
914
943
  - grammars/text.html.ecmarkup.json
915
944
  - grammars/text.html.ecr.json
945
+ - grammars/text.html.edge.json
916
946
  - grammars/text.html.elixir.json
947
+ - grammars/text.html.ember-handlebars.json
917
948
  - grammars/text.html.erb.json
918
949
  - grammars/text.html.erlang.yaws.json
919
950
  - grammars/text.html.factor.json
@@ -978,6 +1009,8 @@ files:
978
1009
  - grammars/text.tex.latex.rd.json
979
1010
  - grammars/text.tex.latex.sweave.json
980
1011
  - grammars/text.texinfo.json
1012
+ - grammars/text.valve-cfg.json
1013
+ - grammars/text.valve-kv.json
981
1014
  - grammars/text.vim-help.json
982
1015
  - grammars/text.vtt.json
983
1016
  - grammars/text.xml.ant.json
@@ -1043,7 +1076,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1043
1076
  - !ruby/object:Gem::Version
1044
1077
  version: '0'
1045
1078
  requirements: []
1046
- rubygems_version: 3.4.10
1079
+ rubygems_version: 3.5.3
1047
1080
  signing_key:
1048
1081
  specification_version: 4
1049
1082
  summary: GitHub Language detection
@@ -1 +0,0 @@
1
- {"scopeName":"govulncheck","patterns":[{"include":"#log"},{"include":"#info"},{"include":"#affecting"},{"include":"#unaffecting"},{"include":"#callstack"},{"include":"#callstacklong"},{"include":"#frame"},{"include":"#framePosition"}],"repository":{"affecting":{"name":"markup.heading.1.govulncheck","match":"^(⚠) (\\S+) \\((https://[^)]+)\\)","captures":{"1":{"name":"token.error-token.severity.govulncheck"},"2":{"name":"token.error-token.vulnid.govulncheck"},"3":{"name":"entity.link.govulncheck"}}},"callstack":{"name":"markup.list.unnumbered.callstack.summary.govulncheck","match":"^\\- (\\S+) (\\S+) calls ([^,]+)$","captures":{"1":{"name":"markup.link.callstack.position.govulncheck"},"2":{"name":"markup.italic.raw.callstack.symbol.govulncheck"},"3":{"name":"markup.italic.callstack.symbol.govulncheck"}}},"callstacklong":{"name":"markup.list.unnumbered.callstack.summary.govulncheck","match":"^\\- (\\S+) (\\S+) calls ([^,]+), which eventually calls (\\S+)","captures":{"1":{"name":"markup.link.callstack.position.govulncheck"},"2":{"name":"markup.italic.raw.callstack.symbol.govulncheck"},"3":{"name":"markup.italic.callstack.symbol.govulncheck"},"4":{"name":"markup.italic.callstack.symbol.govulncheck"}}},"frame":{"name":"markup.list.unnumbered.fram.govulncheck","match":"^\\t(\\S+)","captures":{"1":{"name":"markup.italic.raw.callstack.symbol.govulncheck"}}},"framePosition":{"name":"markup.list.unnumbered.frame.govulncheck","match":"^\\t\\t(\\([^)]+\\))","captures":{"1":{"name":"comment.govulncheck"}}},"info":{"name":"comment.govulncheck","match":"^# .*"},"log":{"name":"comment.govulncheck","match":"^\\d{2}:\\d{2}:\\d{2} \\S.*$"},"unaffecting":{"match":"^(ⓘ) (\\S+) \\((https://[^)]+)\\)","captures":{"1":{"name":"token.info-token.severity.govulncheck"},"2":{"name":"token.info-token.vulnid.govulncheck"},"3":{"name":"entity.link.govulncheck"}}}}}
@@ -1 +0,0 @@
1
- {"scopeName":"markdown.graphql.codeblock","patterns":[{"contentName":"meta.embedded.block.graphql","begin":"(gql|graphql|GraphQL)(\\s+[^`~]*)?$","end":"(^|\\G)(?=\\s*[`~]{3,}\\s*$)","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.graphql"}]}]}]}
@@ -1 +0,0 @@
1
- {"name":"Dream Maker Interface","scopeName":"source.dmf","patterns":[{"name":"constant.numeric.dm","match":"((#?\\b[0-9a-fA-F]*)|\\b(([0-9]+(,|x)?[0-9]*)|(\\.[0-9]+)))\\b"},{"name":"storage.type.dm","match":"(^(macro|menu)|(\\b(window|elem)))\\b"},{"name":"variable.language.dm","match":"\\b(true|false|none)\\b"},{"name":"constant.language.dm","match":"\\b([A-Z_]+)\\b"},{"name":"string.quoted.double.dm","begin":"\"","end":"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_embedded_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}}},{"name":"string.quoted.single.dm","begin":"'","end":"'","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}}},{"name":"meta.function.dm","begin":"(?x)\n \t\t(?: ^ # begin-of-line\n \t\t |\n \t\t (?: (?= \\s ) (?\u003c!else|new|return) (?\u003c=\\w) # or word + space before name\n \t\t | (?= \\s*[A-Za-z_] ) (?\u003c!\u0026\u0026) (?\u003c=[*\u0026\u003e]) # or type modifier before name\n \t\t )\n \t\t)\n \t\t(\\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()\n \t\t(\n \t\t\t(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name\n \t\t\t(?: (?\u003c=operator) (?: [-*\u0026\u003c\u003e=+!]+ | \\(\\) | \\[\\] ) ) # if it is a C++ operator\n \t\t)\n \t\t \\s*(?=\\()","end":"(?\u003c=\\})|(?=#)|(;)?","patterns":[{"include":"#comments"},{"include":"#parens"},{"name":"storage.modifier.dm","match":"\\bconst\\b"},{"include":"#block"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.function.leading.dm"},"3":{"name":"entity.name.function.dm"},"4":{"name":"punctuation.definition.parameters.dm"}}}]}
@@ -1 +0,0 @@
1
- {"name":"Genero Forms","scopeName":"source.genero-forms","patterns":[{"include":"#Comments"},{"include":"#GridLayout"},{"include":"#Keywords"},{"include":"#Layout"},{"name":"storage.type.per","match":"\\b(DECIMAL|CHAR|DATE|INTEGER)\\b"},{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"},{"include":"#FormAttributes"},{"include":"#ComparisonOperators"},{"include":"#Groups"},{"include":"#Tables"},{"name":"keyword.amp.per","match":"(\u0026)"}],"repository":{"Comments":{"patterns":[{"name":"comment.line.number-sign.per","match":"#.*"},{"name":"comment.line.double-dash.per","match":"--.*"}]},"ComparisonOperators":{"patterns":[{"name":"keyword.operator.per","match":"(\\=|\\\u003c|\\\u003e|\\!)"}]},"EscapeCharacters":{"name":"constant.character.escape.4gl","match":"\\\\.{1}"},"FormAttributes":{"match":"(?i)\\s*\\b(AGGREGATE|BUTTON|BUTTONEDIT|CANVAS|CHECKBOX|COMBOBOX|DATEEDIT|EDIT|FIELD|IMAGE|LABEL|PROGRESSBAR|RADIOGROUP|SCROLLGRID|SLIDER|SPINEDIT|TABLE|TEXTEDIT|TIMEEDIT|TREE|WEBCOMPONENT|SCREEN RECORD|PHANTOM)\\b\\s+(\\w+)\\s*(?:(\\:|\\=)|(?:\\())","captures":{"1":{"name":"storage.type.class.per"},"2":{"name":"entity.name.function.per"},"3":{"name":"keyword.operator.per"}}},"FormFields":{"name":"variable.parameter.per","begin":"\\[","end":"\\]","patterns":[{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"},{"name":"support.constant.field.divide.per","match":"(\\||:)"},{"name":"variable.parameter.form.grid.per","match":"(?i)\\b([a-z0-9\\#\\/\\'\\_]+)\\b"}],"beginCaptures":{"0":{"name":"string.unquoted.form.grid.field.brackes.per"}},"endCaptures":{"0":{"name":"string.unquoted.form.grid.field.brackets.per"}}},"FormatStrings":{"patterns":[{"name":"support.type.format.per","match":"[\\#\\\u003c\\\u003e\\*\\-\\+]{2,}"},{"name":"constant.lanauge.format.per","match":"\\\u0026"},{"name":"keyword.operator.per","match":"\\,"}]},"GridLayout":{"name":"meta.form.grid.per","begin":"\\{","end":"\\}","patterns":[{"include":"#FormFields"},{"include":"#Tags"}]},"Groups":{"patterns":[{"match":"(?i)\\b(GROUP)\\b\\s+(\\w+)\\s*(\\:)","captures":{"1":{"name":"storage.type.class.per"},"2":{"name":"entity.name.function.per"},"3":{"name":"keyword.operator.per"}}}]},"Keywords":{"patterns":[{"name":"keyword.per","match":"(?i)\\b(DATABASE|SCREEN SIZE|BY|END|ATTRIBUTES|TYPE|INSTRUCTIONS|DELIMITERS|COMMENTS)\\b"},{"name":"keyword.per","match":"(?i)\\b(ACCELERATOR|ACCELERATOR2|ACCELERATOR3|ACCELERATOR4|ACTION|AGGREGATETEXT|AGGREGATETYPE|AUTOSCALE|AUTONEXT|BUTTONTEXTHIDDEN|CENTURY|CLASS|COLOR|COLOR WHERE|CONFIG|CONTEXTMENU|COMMENT|COMPONENTTYPE|DEFAULT|DEFAULTVIEW|DISPLAY LIKE|DOUBLECLICK|DOWNSHIFT|EXPANDEDCOLUMN|FONTPITCH|FORMAT|GRIDCHILDRENINPARENT|HIDDEN|HEIGHT|IDCOLUMN|IMAGE|IMAGECOLUMN|IMAGECOLLAPSED|IMAGEEXPANDED|IMAGELEAF|INCLUDE|INITIALIZER|INVISIBLE|ISNODECOLUMN|ITEMS|JUSTIFY|KEY|MINHEIGHT|MINWIDTH|NOENTRY|NOT NULL|NOTEDITABLE|OPTIONS|ORIENTATION|PARENTIDCOLUMN|PICTURE|PROGRAM|PROPERTIES|QUERYEDITABLE|REQUIRED|REVERSE|SAMPLE|SCROLL|SCROLLBARS|SIZEPOLICY|SPACING|SPLITTER|STEP|STRETCH|STYLE|TABINDEX|TAG|TEXT|TITLE|UNSORTABLE|UNSORTABLECOLUMNS|UNSIZABLE|UNSIZABLECOLUMNS|UNHIDABLE|UNHIDABLECOLUMNS|UNMOVABLE|UNMOVABLECOLUMNS|UPSHIFT|VALIDATE|VALIDATE LIKE|VALUEMIN|VALUEMAX|VALUECHECKED|VALUEUNCHECKED|VERIFY|VERSION|WANTFIXEDPAGESIZE|WANTNORETURNS|WANTTABS|WIDGET|WIDTH|WINDOWSTYLE|WORDWRAP)\\b"},{"name":"constant.language.per","match":"(?i)\\b(FORMONLY|FIXED)\\b"}]},"Layout":{"patterns":[{"name":"keyword.layout.per","match":"(?i)\\b(GRID|TABLE|HBOX|VBOX|LAYOUT|FORM)\\b"},{"name":"keyword.layout.per","match":"(?i)\\b(TABLE|FOLDER)\\b"},{"match":"(?i)(GROUP|TABLE|PAGE)\\s*(\\w*)\\s*\\(","captures":{"1":{"name":"keyword.layout.per"},"2":{"name":"support.type.class.per"}}}]},"StringDoubleQuote":{"patterns":[{"name":"string.quoted.double.content.per","begin":"\"","end":"\"","patterns":[{"include":"#EscapeCharacters"},{"include":"#FormatStrings"}],"beginCaptures":{"0":{"name":"string.quoted.double.per"}},"endCaptures":{"0":{"name":"string.quoted.double.per"}}}]},"StringSingleQuote":{"patterns":[{"name":"string.quoted.single.content.per","begin":"'","end":"'","patterns":[{"include":"#EscapeCharacters"},{"include":"#FormatStrings"}],"beginCaptures":{"0":{"name":"string.quoted.single.per"}},"endCaptures":{"0":{"name":"string.quoted.single.per"}}}]},"Tables":{"name":"support.class.table.per","begin":"(?i)\\bTABLES\\b","end":"(?i)\\bEND\\b","beginCaptures":{"0":{"name":"keyword.per"}},"endCaptures":{"0":{"name":"keyword.per"}}},"Tags":{"begin":"\\\u003c","end":"\\\u003e","patterns":[{"match":"(?i)\\b(G|GROUP|T|TABLE|TREE|S|SCROLLGRID)\\b\\s+(\\w+)","captures":{"0":{"name":"support.function.per"},"1":{"name":"support.variable.per"}}},{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"}],"beginCaptures":{"0":{"name":"string.unquoted.form.grid.group.brackes.per"}},"endCaptures":{"0":{"name":"string.unquoted.form.grid.group.brackes.per"}}}}}
@@ -1 +0,0 @@
1
- {"name":"Genero","scopeName":"source.genero","patterns":[{"include":"#CharacterOperators"},{"include":"#Comments"},{"include":"#ComparisonOperators"},{"include":"#DateOperators"},{"include":"#EscapeCharacters"},{"include":"#FlowControl"},{"include":"#Functions"},{"include":"#GeneroControlBlocks"},{"include":"#KeywordsControl"},{"include":"#KeywordsOther"},{"include":"#KeywordsSupport"},{"include":"#KeywordsOtherUnsorted"},{"include":"#KeywordsString"},{"include":"#KeywordsSql"},{"include":"#LogicalOperators"},{"include":"#MathOperators"},{"include":"#Numbers"},{"include":"#Parens"},{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"},{"include":"#Support"},{"include":"#SupportConstant"},{"include":"#Types"},{"include":"#TypeModifiers"}],"repository":{"CharacterOperators":{"name":"keyword.operator.char.4gl","match":"\\b(?i)(USING|CLIPPED|COLUMN|ASCII|LSTR|ORD|SFMT|SPACES)\\b"},"Comments":{"patterns":[{"name":"comment.block.document.4gl","match":"#\\+.*$"},{"name":"comment.line.number-sign.4gl","match":"#.*"},{"name":"comment.line.double-dash.4gl","match":"--.*"},{"name":"comment.block.4gl","begin":"\\{","end":"\\}","beginCaptures":{"0":{"name":"comment.block.4gl"}},"endCaptures":{"0":{"name":"comment.block.4gl"}}}]},"ComparisonOperators":{"patterns":[{"name":"keyword.operator.4gl","match":"(?i)(\\=|\\\u003c|\\\u003e|\\!)"},{"name":"keyword.operator.4gl","match":"(?i)(LIKE|MATCHES|IIF|NVL)"}]},"DateOperators":{"name":"support.type.4gl","match":"\\b(?i)(DATE|UNITS|CURRENT|TODAY|DAY|YEAR|TIME|EXTEND|WEEKDAY|MONTH|MDY)\\b"},"DialogOperators":{"name":"support.function.4gl","match":"\\b(?i)(FIELD_TOUCHED|GET_FLDBUF|INFIELD|ARG_VAL|ARR_COUNT|ARR_CURR|CURSOR_NAME|DOWNSHIFT|ERR_GET|ERR_PRINT|ERR_QUIT|ERRORLOG|FGL_DRAWBOX|FGL_DYNARR_EXTENTSIZE|FGL_GETENV|FGL_GETKEY|FGL_ISDYNARR_ALLOCATED|FGL_KEYVAL|FGL_LASTKEY|FGL_SCR_SIZE|FGL_SETCURRLINE|LENGTH|NUM_ARGS|ORD|SRC_LINE|SET_COUNT|SHOWHELP|STARTLOG|UPSHIFT|MDY|LOAD|UNLOAD)\\b"},"EscapeCharacters":{"name":"constant.character.escape.4gl","match":"\\\\.{1}"},"FlowControl":{"patterns":[{"name":"keyword.other.flowcontrol.4gl","match":"\\b(?i)(IF|CALL|FOR|WHILE|RETURNING|EXIT|RETURN|CONTINUE|CASE|LABEL|SLEEP|TRY|CATCH|GOTO)\\b"}]},"Functions":{"patterns":[{"name":"meta.function.4gl","match":"(?i)(?:^\\s*)\\b(MAIN)\\b","captures":{"1":{"name":"storage.type.function.4gl"}}},{"name":"meta.function.4gl","match":"(?xi)^(PUBLIC|PRIVATE|\\s*)?(?:\\s*)(?:\\b(FUNCTION|REPORT|DIALOG)\\b\\s+)((?:\\w+))","captures":{"1":{"name":"storage.type.modifier.4gl"},"2":{"name":"keyword.other.4gl"},"3":{"name":"entity.name.function.4gl"}}}]},"GeneroControlBlocks":{"name":"meta.name.section.4gl","match":"\\b(?i)(menu\\s|input\\sby\\sname|construct\\sby\\sname|display\\sarray)\\b","captures":{"1":{"name":"keyword.control.4gl"}}},"KeywordsControl":{"name":"keyword.control.4gl","match":"\\b(?i)(IF|CALL|FOR|ELSE|WHILE|RETURNING|EXIT|RETURN|CONTINUE|CASE|WHEN|AFTER|FOREACH|THEN|END MAIN|END REPORT|END|RUN|LABEL|CHANGE|ON|ACTION|END IF|IIF|GOTO|BREAK|NAME|IDLE|DISPLAY|SLEEP|BREAKPOINT|BEFORE|CONSTRUCT|INPUT)\\b"},"KeywordsOther":{"name":"keyword.other.4gl","match":"\\b(?i)(LET|INTO|FUNCTION|CURSOR|DEFINE|ERROR|INITIALIZE|KEY|TABLE|DEFAULT|UP|ROWS|SCREEN|LEFT|FORM|TABLES|GLOBAL|FIELD|MORE|CLEAR|INSTRUCTIONS|INTERRUPT|ESCAPE|MENU|COMMENT|DATABASE|COLUMN|COMMENTS|ATTRIBUTE|SQL|DEFER|GLOBALS|COLUMNS|DELIMITERS|RIGHT|TAB|WINDOW|ROW|DEFAULTS|DELIMITER|DOWN|ESC|COLOR|ATTRIBUTES|ASCENDING|DESCENDINGSQLAWARN|SQLERRM|SQLERROR|SQLERRP|SQLSTATE|SQLWARNING|OPTION|OPTIONS|ALL|HIDE|SPACE|SPACES|WRAP|STEP|SKIP|SIZE|LINE|LINES|MARGIN|MESSAGE|INVISIBLE|BLACK|BLINK|BLUE|BOLD|BORDER|BOTTOM|CYAN|UNDERLINE|WHITE|YELLOW|RED|PROMPT|NOENTRY|MAGENTO|MODULE)\\b"},"KeywordsOtherUnsorted":{"patterns":[{"name":"keyword.other.unsorted.4gl","match":"\\b(?i)(INT_FLAG|CHECK|VERIFY|NUMBER|SCROLL|HEADER|INDEX|TEMP|READ|START|SET|NEED|ONLY|AS|INCLUDE|TYPE|CONSTANT|AVERAGE|NEW|PROGRAM|AUDIT|LOG|REMOVE|STOP|PRIOR|LOCK|OUTPUT|PRINT|EACH|REVERSE|TOP|PERCENT|MODULE|FOUND|MIN|DATA|AVG|SOME|WORK|VARIABLES|USER|TOTAL|SUM|ADD|OLD|WHENEVER|ENTRY|PRECISION|DBA|GREEN|RESTRICT|ROLLFORWARD|COBOL|REPEATABLE|PLI|DISCONNECT|SYSTEM|COMMAND|READONLY|RECOVER|ENABLED|ATTACH|FILE|TRIGGER|EVERY|BEGIN|TYPEDEF|CLASS_ORIGIN|DEBUG|ROWID|COMPRESS|IMMEDIATE|SYSDEPEND|ROOT|RESUME|TRIM|VARIANCE|REOPTIMIZATION|SYSFRAGMENTS|MODIFY|LONG|RETURNED_SQLSTATE|REAL|PRINTER|SYSFRAGAUTH|PAUSE|EXTERNAL|FORTRAN|CHARACTER_LENGTH|UNSIGNED|CONTROL|SCHEMA|TRAILER|FORMAT|REMAINDER|SERIAL|SYSCONSTRAINTS|EXPLAIN|SYSUSERS|SERVER_NAME|SYSTABLES|ASCII|ABORT|NOCR|RENAME|SHARE|REFERENCES|FRAGMENT|ROUND|MEMORY|BETWEEN|DIAGNOSTICS|EXPRESSION|SYSCOLUMNS|MESSAGE_LENGTH|SESSION|PROCEDURE|SYSPROCPLAN|ROWIDS|BUFFERED|WRITE|FINISH|LOCATE|DIALOG|SUBDIALOG|BOTH|OCTET_LENGTH|DEC|ITYPE|PASCAL|CONSTRAINED|SYSREFERENCES|STATISTICS|SYSCOLDEPEND|PRIMARY|EXP|TRANSACTION|SQRT|DETACH|WARNING|HEX|SECTION|CHAR_LENGTH|ABSOLUTE|EXTENT|ATAN|PAGE|AUTONEXT|SYSPROCEDURES|SITENAME|QUIT|FIELD_TOUCHED|SCALE|COMMIT|PDQPRIORITY|RELATIVE|FOREIGN|DBINFO|AUTO|SYSSYNTABLE|SHORT|ISOLATION|DEALLOCATE|HELP|PIPE|SYSROLEAUTH|LOGN|SYSTRIGBODY|INDICATOR|ASIN|DBSERVERNAME|REVOKE|DEFERRED|RAISE|ROLLBACK|FILTERING|DORMANT|SYSVIEWS|MODE|CASCADE|CLUSTER|EXCLUSIVE|ATAN2|ROLE|MEDIUM|SIZEOF|NULLABLE|WAIT|DIRTY|STATIC|VIOLATIONS|PICTURE|WAITING|SWITCH|ANSI|ACCEPT|UNCOMMITTED|DESCRIPTOR|FILLFACTOR|SYSOPCLSTR|OPTIMIZATION|AUTHORIZATION|QUIT_FLAG|STABILITY|DISTINCT|ISAM|ALLOCATE|PREVPAGE|COS|REQUIRED|ABS|RESOLUTION|TRAILING|SYSTRIGGERS|NEXTPAGE|HIGH|DISABLED|LEADING|EXCEPTION|CHARACTER|COMPOSITES|RESOURCE|DISTRIBUTIONS|SYSTABAUTH|STRUCT|SYSPROCBODY|TRACE|SERIALIZABLE|CONNECTION|GO|COMMITTED|ILENGHT|REFERENCING|ZEROFILL|SYSDISTRIB|SYSCHECKS|SYNONYM|LOW|SYSPROCAUTH|INDEXES|POW|ACCESS|STDEV|OFF|ROBIN|CONSTRAINT|TRUNC|NONE|SYSVIOLATIONS|PRIVILEGES|DESCRIBE|UNCONSTRAINED|CONNECTION_ALIAS|LINENO|EXTERN|VARYING|ADA|PAGENO|ROW_COUNT|LANGUAGE|SYSDEFAULTS|APPEND|VIEW|LOG10|SYSINDEXES|TAN|ACOS|INIT|CONNECT|UNLOCK|GRANT|NUMERIC|DATASKIP|VALIDATE|SYSCOLAUTH|MESSAGE_TEXT|DIM|SYSSYNONYMS|SYSBLOBS|FRACTION|TRIGGERS|EXEC|CONCURRENT|REGISTER|SYSOBJSTATE|RANGE|SUBCLASS_ORIGIN|NORMAL|IDATA|CONSTRAINTS|NEXT|SHOW|ADD|SCR_LINE)\\b"},{"name":"keyword.other.unsorted","match":"\\\u0026"}]},"KeywordsSql":{"name":"keyword.control.sql.4gl","match":"\\b(?i)(USING|FROM|CLOSE|OPEN|FETCH|PREPARE|DECLARE|EXECUTE|SELECT|WHERE|CREATE|UPDATE|DELETE|INSERT|FOREACH|COUNT|FREE|FLUSH|PUT|ALTER|ASC|DESC|DROP|ORDER|UNION|UNIQUE|OUTER|MAX|EXISTS|GROUP|HAVING|VALUES|VALUE|IN|BY)\\b"},"KeywordsString":{"patterns":[{"name":"keyword.operator.string.4gl","match":"\\b(?i)(IS|THRU|WITH|HOLD|TO|PREVIOUS|NO|LAST|AT|WITHOUT|OF|ANY|OTHERWISE|THROUGH|FORMONLY|CLIPPED|INFIELD|FIRST)\\b"},{"name":"keyword.operator.string.4gl","match":"(\\,|\\.|\\|\\|)"}]},"KeywordsSupport":{"name":"support.type.4gl","match":"\\b(?i)(SECOND|YEAR|DAY|HOUR|TIME|TODAY|SQLERRD|SQLCA|MINUTE|SQLCODE|WEEKDAY|STATUS|MONTH)\\b"},"LogicalOperators":{"name":"keyword.operator.logical.4gl","match":"\\b(?i)(AND|NOT|OR)\\b"},"MathOperators":{"patterns":[{"name":"keyword.operator.math.4gl","match":"(\\;|\\:|\\+|\\-|\\/|\\*\\*)"},{"name":"keyword.operator.math.4gl","match":"(?i)\\b(MOD)\\b"}]},"Numbers":{"name":"constant.numeric.4gl","match":"\\b\\d+\\b"},"Parens":{"patterns":[{"name":"variable.parameter.4gl","begin":"\\(","end":"\\)","patterns":[{"include":"#StringDoubleQuote"},{"include":"#SupportConstant"},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.4gl"}},"endCaptures":{"0":{"name":"keyword.control.4gl"}}}]},"SQLPlaceHolder":{"patterns":[{"name":"constant.character.placeholder.4gl","match":"\\?"},{"name":"keyword.sql.comma.4gl","match":"\\,"},{"name":"entity.name.tag.4gl","match":"(?i)\\b(AND|OR|ORDER BY|GROUP BY|PARTITION BY|ON|SELECT|UPDATE|INSERT|DELETE|FROM|WHERE|LEFT JOIN|INNER JOIN|RIGHT JOIN|DECLARE|SET)\\b"},{"name":"support.function.sql.4gl","match":"(?i)\\b(COUNT|ROW_NUMBER|OVER|MIN|MAX|AVG|SUM)\\b"},{"name":"support.type.sql.4gl","match":"(?i)\\b(ASC|DESC)\\b"},{"name":"constant.character.placeholder.4gl","match":"(?i)@\\b([a-z0-9\\-]+)\\b"},{"match":"(?i)(?:\\()?\\s*(\\*)\\s*(?:\\))?","captures":{"1":{"name":"constant.character.placeholder.4gl"}}}]},"StringDoubleQuote":{"patterns":[{"name":"string.quoted.double.content.4gl","begin":"\"","end":"\"","patterns":[{"include":"#EscapeCharacters"},{"include":"#SQLPlaceHolder"},{"include":"#LogicalOperators"},{"include":"#SupportConstant"},{"include":"#ComparisonOperators"}],"beginCaptures":{"0":{"name":"string.quoted.double.4gl"}},"endCaptures":{"0":{"name":"string.quoted.double.4gl"}}}]},"StringSingleQuote":{"patterns":[{"name":"string.quoted.single.content.4gl","begin":"'","end":"'","patterns":[{"include":"#EscapeCharacters"},{"include":"#SQLPlaceHolder"},{"include":"#LogicalOperators"},{"include":"#SupportConstant"},{"include":"#ComparisonOperators"}],"beginCaptures":{"0":{"name":"string.quoted.single.4gl"}},"endCaptures":{"0":{"name":"string.quoted.single.4gl"}}}]},"Support":{"match":"\\b(?i)(import)\\s*([a-z0-9]+)(\\s+\\w+)?\\b","captures":{"1":{"name":"support.function.4gl"},"2":{"name":"support.class.4gl"},"3":{"name":"support.type.4gl"}}},"SupportConstant":{"patterns":[{"name":"support.constant.4gl","match":"(?i)\\b(NULL|FALSE|NOTFOUND|TRUE)\\b"}]},"TypeModifiers":{"name":"storage.type.modifier.4gl","match":"\\b(?i)(DYNAMIC|PRIVATE|PUBLIC)\\b"},"Types":{"name":"storage.type.4gl","match":"\\b(?i)(RECORD|SMALLINT|ARRAY|DATE|DECIMAL|INTEGER|PRECISION|FLOAT|VARCHAR|BOOLEAN|MONEY|BYTE|DATETIME|TEXT|INT|INTERVAL|NUMERIC|CHARGETYPE|DEC|SMALLFLOAT|CHARACTER|CHAR|STRING|DO|DOUBLE|NCHAR|NVARCHAR|TINYINT)\\b"}}}