github-linguist 7.26.0 → 7.28.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) 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/inline.edgeql.json +1 -0
  6. data/grammars/inline.hbs.json +1 -0
  7. data/grammars/inline.template.json +1 -0
  8. data/grammars/markdown.d2.codeblock.json +1 -0
  9. data/grammars/markdown.lean4.codeblock.json +1 -0
  10. data/grammars/markdown.move.codeblock.json +1 -0
  11. data/grammars/mdx.LANGUAGE.codeblock.json +1 -0
  12. data/grammars/source.abap.json +1 -1
  13. data/grammars/source.aidl.json +1 -1
  14. data/grammars/source.al.json +1 -1
  15. data/grammars/source.ballerina.json +1 -1
  16. data/grammars/source.bicep.json +1 -1
  17. data/grammars/source.cds.json +1 -1
  18. data/grammars/source.cobol.json +1 -1
  19. data/grammars/source.cs.json +1 -1
  20. data/grammars/source.d2.json +1 -1
  21. data/grammars/source.dart.json +1 -1
  22. data/grammars/source.denizenscript.json +1 -1
  23. data/grammars/source.directivesmf.json +1 -0
  24. data/grammars/source.dm.json +1 -1
  25. data/grammars/source.earthfile.json +1 -1
  26. data/grammars/source.edgeql.json +1 -0
  27. data/grammars/source.emacs.lisp.json +1 -1
  28. data/grammars/source.fsharp.json +1 -1
  29. data/grammars/source.gdresource.json +1 -1
  30. data/grammars/source.gdscript.json +1 -1
  31. data/grammars/source.genero-4gl.json +1 -0
  32. data/grammars/source.genero-per.json +1 -0
  33. data/grammars/source.gjs.json +1 -0
  34. data/grammars/source.gleam.json +1 -1
  35. data/grammars/source.gsc.json +1 -1
  36. data/grammars/source.gts.json +1 -0
  37. data/grammars/source.hcl.json +1 -0
  38. data/grammars/source.hcl.terraform.json +1 -0
  39. data/grammars/source.ice.json +1 -0
  40. data/grammars/source.igor.json +1 -1
  41. data/grammars/source.julia.json +1 -1
  42. data/grammars/source.kotlin.json +1 -1
  43. data/grammars/source.lean4.json +1 -0
  44. data/grammars/source.lean4.markdown.json +1 -0
  45. data/grammars/source.matlab.json +1 -1
  46. data/grammars/source.mdx.json +1 -1
  47. data/grammars/source.meta-info.json +1 -1
  48. data/grammars/source.mo.json +1 -1
  49. data/grammars/source.nasal.json +1 -1
  50. data/grammars/source.nim.json +1 -1
  51. data/grammars/source.nushell.json +1 -1
  52. data/grammars/source.odin.json +1 -1
  53. data/grammars/source.pic.json +1 -1
  54. data/grammars/source.praat.json +1 -0
  55. data/grammars/source.prisma.json +1 -1
  56. data/grammars/source.ql.json +1 -1
  57. data/grammars/source.raku.json +1 -1
  58. data/grammars/source.rascal.json +1 -1
  59. data/grammars/source.rbs.json +1 -1
  60. data/grammars/source.rego.json +1 -1
  61. data/grammars/source.rescript.json +1 -1
  62. data/grammars/source.rez.json +1 -0
  63. data/grammars/source.rpgle.json +1 -1
  64. data/grammars/source.rust.json +1 -1
  65. data/grammars/source.scala.json +1 -1
  66. data/grammars/source.scenic.json +1 -1
  67. data/grammars/source.sentinel.json +1 -0
  68. data/grammars/source.slice.json +1 -1
  69. data/grammars/source.solidity.json +1 -1
  70. data/grammars/source.stan.json +1 -1
  71. data/grammars/source.swift.json +1 -1
  72. data/grammars/source.talon.json +1 -1
  73. data/grammars/source.textgrid.json +1 -0
  74. data/grammars/source.toit.json +1 -0
  75. data/grammars/source.ts.json +1 -1
  76. data/grammars/source.tsx.json +1 -1
  77. data/grammars/source.typst.json +1 -0
  78. data/grammars/source.vba.json +1 -1
  79. data/grammars/source.viml.json +1 -1
  80. data/grammars/source.vyper.json +1 -1
  81. data/grammars/source.wit.json +1 -1
  82. data/grammars/source.yul.json +1 -1
  83. data/grammars/text.adblock.json +1 -1
  84. data/grammars/text.hash-commented.json +1 -1
  85. data/grammars/text.html.ember-handlebars.json +1 -0
  86. data/grammars/text.html.statamic.json +1 -1
  87. data/grammars/text.md.json +1 -1
  88. data/grammars/text.tex.json +1 -1
  89. data/grammars/text.tex.latex.sweave.json +1 -0
  90. data/grammars/text.xml.svg.json +1 -1
  91. data/grammars/version +1 -1
  92. data/lib/linguist/VERSION +1 -1
  93. data/lib/linguist/generated.rb +14 -4
  94. data/lib/linguist/heuristics.rb +2 -0
  95. data/lib/linguist/heuristics.yml +26 -11
  96. data/lib/linguist/languages.json +1 -1
  97. data/lib/linguist/languages.yml +129 -12
  98. data/lib/linguist/samples.json +1 -1
  99. metadata +35 -14
  100. data/grammars/govulncheck.json +0 -1
  101. data/grammars/source.dmf.json +0 -1
  102. data/grammars/source.genero-forms.json +0 -1
  103. data/grammars/source.genero.json +0 -1
  104. data/grammars/source.nimcfg.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.26.0
4
+ version: 7.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-19 00:00:00.000000000 Z
11
+ date: 2023-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.3'
103
+ version: '2.1'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.3'
110
+ version: '2.1'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: plist
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -209,7 +209,7 @@ dependencies:
209
209
  description: We use this library at GitHub to detect blob languages, highlight code,
210
210
  ignore binary files, suppress generated files in diffs, and generate language breakdown
211
211
  graphs.
212
- email:
212
+ email:
213
213
  executables:
214
214
  - github-linguist
215
215
  - git-linguist
@@ -233,36 +233,42 @@ 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
244
  - grammars/inline.graphql.php.json
245
245
  - grammars/inline.graphql.python.json
246
246
  - grammars/inline.graphql.re.json
247
247
  - grammars/inline.graphql.res.json
248
248
  - grammars/inline.graphql.scala.json
249
+ - grammars/inline.hbs.json
249
250
  - grammars/inline.prisma.json
251
+ - grammars/inline.template.json
250
252
  - grammars/liquid.injection.json
251
253
  - grammars/markdown.bicep.codeblock.json
252
254
  - grammars/markdown.cadence.codeblock.json
253
255
  - grammars/markdown.codeblock.proto.json
254
256
  - grammars/markdown.curry.codeblock.json
257
+ - grammars/markdown.d2.codeblock.json
255
258
  - grammars/markdown.graphql.codeblock.json
256
259
  - grammars/markdown.hack.codeblock.json
257
260
  - grammars/markdown.haxe.codeblock.json
258
261
  - grammars/markdown.hxml.codeblock.json
259
262
  - grammars/markdown.lean.codeblock.json
263
+ - grammars/markdown.lean4.codeblock.json
260
264
  - grammars/markdown.mcfunction.codeblock.json
265
+ - grammars/markdown.move.codeblock.json
261
266
  - grammars/markdown.plantuml.codeblock.json
262
267
  - grammars/markdown.prisma.codeblock.json
263
268
  - grammars/markdown.rescript.codeblock.json
264
269
  - grammars/markdown.talon.codeblock.json
265
270
  - grammars/markdown.textproto.codeblock.json
271
+ - grammars/mdx.LANGUAGE.codeblock.json
266
272
  - grammars/objdump.x86asm.json
267
273
  - grammars/source.2da.json
268
274
  - grammars/source.4dm.json
@@ -401,11 +407,11 @@ files:
401
407
  - grammars/source.dir.json
402
408
  - grammars/source.dircolors.json
403
409
  - grammars/source.direct-x.json
410
+ - grammars/source.directivesmf.json
404
411
  - grammars/source.disasm.json
405
412
  - grammars/source.ditroff.desc.json
406
413
  - grammars/source.ditroff.json
407
414
  - grammars/source.dm.json
408
- - grammars/source.dmf.json
409
415
  - grammars/source.dockerfile.json
410
416
  - grammars/source.dosbox-conf.json
411
417
  - grammars/source.dot.json
@@ -415,6 +421,7 @@ files:
415
421
  - grammars/source.ebnf.json
416
422
  - grammars/source.ecl.json
417
423
  - grammars/source.ed.json
424
+ - grammars/source.edgeql.json
418
425
  - grammars/source.editorconfig.json
419
426
  - grammars/source.eiffel.json
420
427
  - grammars/source.elixir.json
@@ -461,8 +468,8 @@ files:
461
468
  - grammars/source.gemini.json
462
469
  - grammars/source.generic-config.json
463
470
  - grammars/source.generic-db.json
464
- - grammars/source.genero-forms.json
465
- - grammars/source.genero.json
471
+ - grammars/source.genero-4gl.json
472
+ - grammars/source.genero-per.json
466
473
  - grammars/source.gerber.json
467
474
  - grammars/source.gf.json
468
475
  - grammars/source.gfm.blade.json
@@ -470,6 +477,7 @@ files:
470
477
  - grammars/source.gitattributes.json
471
478
  - grammars/source.gitconfig.json
472
479
  - grammars/source.gitignore.json
480
+ - grammars/source.gjs.json
473
481
  - grammars/source.gleam.json
474
482
  - grammars/source.glsl.json
475
483
  - grammars/source.gn.json
@@ -484,11 +492,14 @@ files:
484
492
  - grammars/source.groovy.gradle.json
485
493
  - grammars/source.groovy.json
486
494
  - grammars/source.gsc.json
495
+ - grammars/source.gts.json
487
496
  - grammars/source.hack.json
488
497
  - grammars/source.haproxy-config.json
489
498
  - grammars/source.harbour.json
490
499
  - grammars/source.haskell.json
491
500
  - grammars/source.hc.json
501
+ - grammars/source.hcl.json
502
+ - grammars/source.hcl.terraform.json
492
503
  - grammars/source.hgignore.json
493
504
  - grammars/source.hlasm.json
494
505
  - grammars/source.hlcode.json
@@ -505,6 +516,7 @@ files:
505
516
  - grammars/source.hx.type.json
506
517
  - grammars/source.hxml.json
507
518
  - grammars/source.hy.json
519
+ - grammars/source.ice.json
508
520
  - grammars/source.icurry.json
509
521
  - grammars/source.ideal.json
510
522
  - grammars/source.idl-dlm.json
@@ -558,6 +570,8 @@ files:
558
570
  - grammars/source.lcov.json
559
571
  - grammars/source.lean.json
560
572
  - grammars/source.lean.markdown.json
573
+ - grammars/source.lean4.json
574
+ - grammars/source.lean4.markdown.json
561
575
  - grammars/source.lex.json
562
576
  - grammars/source.lex.regexp.json
563
577
  - grammars/source.lid.json
@@ -637,7 +651,6 @@ files:
637
651
  - grammars/source.nextflow.json
638
652
  - grammars/source.nginx.json
639
653
  - grammars/source.nim.json
640
- - grammars/source.nimcfg.json
641
654
  - grammars/source.ninja.json
642
655
  - grammars/source.nit.json
643
656
  - grammars/source.nix.json
@@ -702,6 +715,7 @@ files:
702
715
  - grammars/source.postscript.json
703
716
  - grammars/source.pov-ray sdl.json
704
717
  - grammars/source.powershell.json
718
+ - grammars/source.praat.json
705
719
  - grammars/source.prisma.json
706
720
  - grammars/source.processing.json
707
721
  - grammars/source.procfile.json
@@ -749,6 +763,7 @@ files:
749
763
  - grammars/source.renpy.json
750
764
  - grammars/source.rescript.json
751
765
  - grammars/source.rexx.json
766
+ - grammars/source.rez.json
752
767
  - grammars/source.ring.json
753
768
  - grammars/source.rmcobol.json
754
769
  - grammars/source.rpg.json
@@ -770,6 +785,7 @@ files:
770
785
  - grammars/source.scilab.json
771
786
  - grammars/source.sdbl.json
772
787
  - grammars/source.sed.json
788
+ - grammars/source.sentinel.json
773
789
  - grammars/source.sepolicy.json
774
790
  - grammars/source.sexp.json
775
791
  - grammars/source.sfv.json
@@ -814,6 +830,7 @@ files:
814
830
  - grammars/source.tea.json
815
831
  - grammars/source.terra.json
816
832
  - grammars/source.terraform.json
833
+ - grammars/source.textgrid.json
817
834
  - grammars/source.textproto.json
818
835
  - grammars/source.thrift.json
819
836
  - grammars/source.tl.json
@@ -822,6 +839,7 @@ files:
822
839
  - grammars/source.tm-properties.json
823
840
  - grammars/source.tnsaudit.json
824
841
  - grammars/source.toc.json
842
+ - grammars/source.toit.json
825
843
  - grammars/source.toml.json
826
844
  - grammars/source.ts.json
827
845
  - grammars/source.ts.prismaClientRawSQL.json
@@ -830,6 +848,7 @@ files:
830
848
  - grammars/source.turing.json
831
849
  - grammars/source.turtle.json
832
850
  - grammars/source.txl.json
851
+ - grammars/source.typst.json
833
852
  - grammars/source.ucd.nameslist.json
834
853
  - grammars/source.ucd.unidata.json
835
854
  - grammars/source.ucfconstraints.json
@@ -911,6 +930,7 @@ files:
911
930
  - grammars/text.html.ecmarkup.json
912
931
  - grammars/text.html.ecr.json
913
932
  - grammars/text.html.elixir.json
933
+ - grammars/text.html.ember-handlebars.json
914
934
  - grammars/text.html.erb.json
915
935
  - grammars/text.html.erlang.yaws.json
916
936
  - grammars/text.html.factor.json
@@ -973,6 +993,7 @@ files:
973
993
  - grammars/text.tex.latex.json
974
994
  - grammars/text.tex.latex.memoir.json
975
995
  - grammars/text.tex.latex.rd.json
996
+ - grammars/text.tex.latex.sweave.json
976
997
  - grammars/text.texinfo.json
977
998
  - grammars/text.vim-help.json
978
999
  - grammars/text.vtt.json
@@ -1023,7 +1044,7 @@ licenses:
1023
1044
  - MIT
1024
1045
  metadata:
1025
1046
  github_repo: ssh://github.com/github-linguist/linguist
1026
- post_install_message:
1047
+ post_install_message:
1027
1048
  rdoc_options: []
1028
1049
  require_paths:
1029
1050
  - lib
@@ -1039,8 +1060,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1039
1060
  - !ruby/object:Gem::Version
1040
1061
  version: '0'
1041
1062
  requirements: []
1042
- rubygems_version: 3.3.26
1043
- signing_key:
1063
+ rubygems_version: 3.4.10
1064
+ signing_key:
1044
1065
  specification_version: 4
1045
1066
  summary: GitHub Language detection
1046
1067
  test_files: []
@@ -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
- {"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"}}}
@@ -1 +0,0 @@
1
- {"name":"Nim Config","scopeName":"source.nimcfg","patterns":[{"include":"#comments"},{"include":"#directives"},{"include":"#assignements"}],"repository":{"assignements":{"patterns":[{"begin":"(--?)?[A-Za-z]\\w*","end":"(?:(\\[)([A-Za-z]\\w*)(]))? *(?=:|%?=)|$\\n?","patterns":[{"include":"#comments"},{"match":"(\\.)[A-Za-z]\\w*","captures":{"1":{"name":"punctuation.accessor.dot.nimcfg"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.variable.nimcfg"}},"endCaptures":{"1":{"name":"punctuation.section.brackets.begin.nimcfg"},"2":{"name":"entity.other.attribute-name.nimcfg"},"3":{"name":"punctuation.section.brackets.end.nimcfg"}}},{"begin":":|%?=","end":"$\\n?","patterns":[{"include":"#comments"},{"include":"#exprs"},{"name":"keyword.operator.nimcfg","match":"\u0026"},{"name":"punctuation.separator.key-value.nimcfg","match":"[:=]"}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.nimcfg"}}}]},"block-comments":{"patterns":[{"name":"comment.block.nimcfg","begin":"#\\[","end":"]#","patterns":[{"include":"#block-comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.nimcfg"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.nimcfg"}}}]},"comments":{"patterns":[{"include":"#block-comments"},{"name":"comment.line.number-sign.nimcfg","begin":"(#)(?: *(TODO|todo)\\b)?","end":"$\\n?","beginCaptures":{"1":{"name":"punctuation.definition.comment.nimcfg"},"2":{"name":"invalid.deprecated.nimcfg"}}}]},"cond-expr":{"patterns":[{"include":"#groups"},{"include":"#language-constants"},{"name":"keyword.operator.logical.nimcfg","match":"(?:and|or|not)\\b"},{"match":"[A-Za-z]\\w*"}]},"directives":{"patterns":[{"include":"#if-stmt"},{"match":"(@) *(else)(?: *(:))?","captures":{"1":{"name":"punctuation.definition.keyword.nimcfg"},"2":{"name":"keyword.control.conditional.else.nimcfg"},"3":{"name":"punctuation.section.block.begin.nimcfg"}}},{"match":"(@) *(end)","captures":{"1":{"name":"punctuation.definition.keyword.nimcfg"},"2":{"name":"keyword.control.conditional.end.nimcfg"}}},{"include":"#env-stmt"}]},"env-stmt":{"patterns":[{"begin":"(@) *((?:put|append|prepend)[Ee]nv|write)\\b","end":"$\\n?","patterns":[{"include":"#exprs"}],"beginCaptures":{"1":{"name":"punctuation.definition.keyword.nimcfg"},"2":{"name":"keyword.other.nimcfg"}}}]},"exprs":{"patterns":[{"include":"#str-lits"},{"include":"#numbers"},{"include":"#language-constants"},{"name":"string.unquoted.nimcfg","match":"[A-Za-z]\\w*"}]},"groups":{"patterns":[{"name":"meta.group.nimcfg","begin":"\\(","end":"\\)","patterns":[{"include":"#cond-expr"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.nimcfg"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.nimcfg"}}}]},"if-stmt":{"patterns":[{"begin":"(@)(?:(elif)|(if))\\b","end":"(:)|$","patterns":[{"include":"#cond-expr"}],"beginCaptures":{"1":{"name":"punctuation.definition.keyword.nimcfg"},"2":{"name":"keyword.control.conditional.elseif.nimcfg"},"3":{"name":"keyword.control.conditional.if.nimcfg"}},"endCaptures":{"1":{"name":"punctuation.section.block.begin.nimcfg"}}}]},"language-constants":{"patterns":[{"name":"constant.language.boolean.nimcfg","match":"\\b(?:true|false|on|off)\\b"}]},"numbers":{"patterns":[{"match":"(?x: \\b(0[Xx]) ([[:xdigit:]](?:_?[[:xdigit:]])*) ('?[Ii](?:8|16|32|64))? )","captures":{"0":{"name":"meta.number.integer.hexadecimal.nimcfg"},"1":{"name":"constant.numeric.base.nimcfg"},"2":{"name":"constant.numeric.value.nimcfg"},"3":{"name":"constant.numeric.suffix.nimcfg"}}},{"match":"(?x: \\b(0o) ([0-7](?:_?[0-7])*) ('?[Ii](?:8|16|32|64))? )","captures":{"0":{"name":"meta.number.integer.octal.nimcfg"},"1":{"name":"constant.numeric.base.nimcfg"},"2":{"name":"constant.numeric.value.nimcfg"},"3":{"name":"constant.numeric.suffix.nimcfg"}}},{"match":"(?x: \\b(0[Bb]) ([01](?:_?[01])*) ('?[Ii](?:8|16|32|64))? )","captures":{"0":{"name":"meta.number.integer.binary.nimcfg"},"1":{"name":"constant.numeric.base.nimcfg"},"2":{"name":"constant.numeric.value.nimcfg"},"3":{"name":"constant.numeric.suffix.nimcfg"}}},{"match":"(?x: \\b(\\d(?:_?\\d)*) ('?[Ii](?:8|16|32|64))? )","captures":{"0":{"name":"meta.number.integer.decimal.nimcfg"},"1":{"name":"constant.numeric.value.nimcfg"},"2":{"name":"constant.numeric.suffix.nimcfg"}}}]},"rstr-lit":{"patterns":[{"contentName":"string.quoted.double.nimcfg","begin":"([Rr])(\")","end":"(\"(?!\"))|(\\n)","patterns":[{"name":"constant.character.escape.nimcfg","match":"\"\""}],"beginCaptures":{"1":{"name":"storage.type.nimcfg"},"2":{"name":"string.quoted.double.nimcfg punctuation.definition.string.begin.nimcfg"}},"endCaptures":{"1":{"name":"string.quoted.double.nimcfg punctuation.definition.string.end.nimcfg"},"2":{"name":"string.quoted.double.nimcfg invalid.illegal.unclosed-string.nimcfg"}}}]},"str-lit":{"patterns":[{"name":"string.quoted.double.nimcfg","begin":"\"","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.nimcfg","match":"\\\\(?:[ABCEFLNPRTVabceflnprtv\"'\\\\]|\\d+|[Xx][[:xdigit:]]{2}|[Uu](?:[[:xdigit:]]{4}|\\{[[:xdigit:]]+}))"},{"name":"invalid.illegal.lone-escape.nimcfg","match":"\\\\"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nimcfg"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.nimcfg"},"2":{"name":"invalid.illegal.nimcfg"}}}]},"str-lits":{"patterns":[{"include":"#triplestr-lit"},{"include":"#rstr-lit"},{"include":"#str-lit"}]},"triplestr-lit":{"patterns":[{"contentName":"string.quoted.triple.nimcfg","begin":"([Rr])?(\"\"\")","end":"\"\"\"(?!\")","beginCaptures":{"1":{"name":"storage.type.nimcfg"},"2":{"name":"string.quoted.triple.nimcfg punctuation.definition.string.begin.nimcfg"}},"endCaptures":{"0":{"name":"string.quoted.triple.nimcfg punctuation.definition.string.end.nimcfg"}}}]}}}