github-linguist 7.28.0 → 7.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +7 -3
  3. data/bin/github-linguist +6 -3
  4. data/grammars/etc.json +1 -1
  5. data/grammars/inline.graphql.json +1 -1
  6. data/grammars/inline.graphql.markdown.codeblock.json +1 -0
  7. data/grammars/inline.hbs.json +1 -1
  8. data/grammars/markdown.commonlisp.codeblock.json +1 -0
  9. data/grammars/markdown.gleam.codeblock.json +1 -0
  10. data/grammars/markdown.glimmer.codeblock.json +1 -0
  11. data/grammars/markdown.move.codeblock.json +1 -1
  12. data/grammars/markdown.rego.codeblock.json +1 -0
  13. data/grammars/source.8xp.json +1 -0
  14. data/grammars/source.Caddyfile-test.json +1 -0
  15. data/grammars/source.Caddyfile.json +1 -0
  16. data/grammars/source.abl.json +1 -1
  17. data/grammars/source.amxxpawn.json +1 -0
  18. data/grammars/source.astro.json +1 -1
  19. data/grammars/source.bb.json +1 -0
  20. data/grammars/source.bh.json +1 -0
  21. data/grammars/source.bicep.json +1 -1
  22. data/grammars/source.bms.json +1 -1
  23. data/grammars/source.bqn.json +1 -0
  24. data/grammars/source.brs.json +1 -1
  25. data/grammars/source.clarion.json +1 -1
  26. data/grammars/source.cobol.json +1 -1
  27. data/grammars/source.commonlisp.json +1 -0
  28. data/grammars/source.cs.json +1 -1
  29. data/grammars/source.csound.json +1 -1
  30. data/grammars/source.d2.json +1 -1
  31. data/grammars/source.dart.json +1 -1
  32. data/grammars/source.did.json +1 -1
  33. data/grammars/source.elvish-transcript.json +1 -1
  34. data/grammars/source.firrtl.json +1 -0
  35. data/grammars/source.fsharp.json +1 -1
  36. data/grammars/source.gdscript.json +1 -1
  37. data/grammars/source.generic-db.json +1 -1
  38. data/grammars/source.gjs.json +1 -1
  39. data/grammars/source.gleam.json +1 -1
  40. data/grammars/source.gts.json +1 -1
  41. data/grammars/source.hcl.json +1 -1
  42. data/grammars/source.hcl.terraform.json +1 -1
  43. data/grammars/source.hx.json +1 -1
  44. data/grammars/source.ice.json +1 -1
  45. data/grammars/source.julia.json +1 -1
  46. data/grammars/source.kotlin.json +1 -1
  47. data/grammars/source.lean4.json +1 -1
  48. data/grammars/source.lua.json +1 -1
  49. data/grammars/source.luau.json +1 -0
  50. data/grammars/source.m2.json +1 -1
  51. data/grammars/source.markdown.caddy.codeblock.json +1 -0
  52. data/grammars/source.matlab.json +1 -1
  53. data/grammars/source.mdx.json +1 -1
  54. data/grammars/source.mojo.json +1 -0
  55. data/grammars/source.move.json +1 -1
  56. data/grammars/source.nasal.json +1 -1
  57. data/grammars/source.nim.json +1 -1
  58. data/grammars/source.nushell.json +1 -1
  59. data/grammars/source.odin.json +1 -1
  60. data/grammars/source.p4.json +1 -1
  61. data/grammars/source.pip-requirements.json +1 -0
  62. data/grammars/source.pkl.json +1 -0
  63. data/grammars/source.praat.json +1 -1
  64. data/grammars/source.rego.json +1 -1
  65. data/grammars/source.rescript.json +1 -1
  66. data/grammars/source.roc.json +1 -0
  67. data/grammars/source.ron.json +1 -0
  68. data/grammars/source.rust.json +1 -1
  69. data/grammars/source.scala.json +1 -1
  70. data/grammars/source.slice.json +1 -1
  71. data/grammars/source.slint.json +1 -0
  72. data/grammars/source.solidity.json +1 -1
  73. data/grammars/source.sourcepawn.json +1 -1
  74. data/grammars/source.sqf.json +1 -1
  75. data/grammars/source.swift.json +1 -1
  76. data/grammars/source.templ.json +1 -0
  77. data/grammars/source.toit.json +1 -1
  78. data/grammars/source.ts.json +1 -1
  79. data/grammars/source.tsx.json +1 -1
  80. data/grammars/source.vba.json +1 -1
  81. data/grammars/source.wsd.json +1 -1
  82. data/grammars/sp-jsdoc.injection.json +1 -0
  83. data/grammars/text.adblock.json +1 -1
  84. data/grammars/text.crontab.json +1 -0
  85. data/grammars/text.html.edge.json +1 -0
  86. data/grammars/text.html.ember-handlebars.json +1 -1
  87. data/grammars/text.html.statamic.json +1 -1
  88. data/grammars/text.md.json +1 -1
  89. data/grammars/text.srt.json +1 -1
  90. data/grammars/text.valve-cfg.json +1 -0
  91. data/grammars/text.valve-kv.json +1 -0
  92. data/grammars/version +1 -1
  93. data/lib/linguist/VERSION +1 -1
  94. data/lib/linguist/generated.rb +39 -1
  95. data/lib/linguist/heuristics.yml +26 -2
  96. data/lib/linguist/languages.json +1 -1
  97. data/lib/linguist/languages.yml +195 -9
  98. data/lib/linguist/repository.rb +8 -6
  99. data/lib/linguist/samples.json +1 -1
  100. metadata +31 -5
  101. data/grammars/markdown.graphql.codeblock.json +0 -1
  102. data/grammars/source.terraform.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.28.0
4
+ version: 7.30.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-12-12 00:00:00.000000000 Z
11
+ date: 2024-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -241,6 +241,7 @@ files:
241
241
  - grammars/injections.etc.json
242
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
246
247
  - grammars/inline.graphql.re.json
@@ -253,9 +254,11 @@ files:
253
254
  - grammars/markdown.bicep.codeblock.json
254
255
  - grammars/markdown.cadence.codeblock.json
255
256
  - grammars/markdown.codeblock.proto.json
257
+ - grammars/markdown.commonlisp.codeblock.json
256
258
  - grammars/markdown.curry.codeblock.json
257
259
  - grammars/markdown.d2.codeblock.json
258
- - grammars/markdown.graphql.codeblock.json
260
+ - grammars/markdown.gleam.codeblock.json
261
+ - grammars/markdown.glimmer.codeblock.json
259
262
  - grammars/markdown.hack.codeblock.json
260
263
  - grammars/markdown.haxe.codeblock.json
261
264
  - grammars/markdown.hxml.codeblock.json
@@ -265,6 +268,7 @@ files:
265
268
  - grammars/markdown.move.codeblock.json
266
269
  - grammars/markdown.plantuml.codeblock.json
267
270
  - grammars/markdown.prisma.codeblock.json
271
+ - grammars/markdown.rego.codeblock.json
268
272
  - grammars/markdown.rescript.codeblock.json
269
273
  - grammars/markdown.talon.codeblock.json
270
274
  - grammars/markdown.textproto.codeblock.json
@@ -272,6 +276,9 @@ files:
272
276
  - grammars/objdump.x86asm.json
273
277
  - grammars/source.2da.json
274
278
  - grammars/source.4dm.json
279
+ - grammars/source.8xp.json
280
+ - grammars/source.Caddyfile-test.json
281
+ - grammars/source.Caddyfile.json
275
282
  - grammars/source.abap.json
276
283
  - grammars/source.abapcds.json
277
284
  - grammars/source.abl.json
@@ -287,6 +294,7 @@ files:
287
294
  - grammars/source.al.json
288
295
  - grammars/source.alloy.json
289
296
  - grammars/source.ampl.json
297
+ - grammars/source.amxxpawn.json
290
298
  - grammars/source.angelscript.json
291
299
  - grammars/source.antlr.json
292
300
  - grammars/source.apache-config.json
@@ -308,12 +316,14 @@ files:
308
316
  - grammars/source.ballerina.json
309
317
  - grammars/source.basic.json
310
318
  - grammars/source.batchfile.json
319
+ - grammars/source.bb.json
311
320
  - grammars/source.bc.json
312
321
  - grammars/source.bdf.json
313
322
  - grammars/source.befunge.json
314
323
  - grammars/source.berry.bytecode.json
315
324
  - grammars/source.berry.json
316
325
  - grammars/source.bf.json
326
+ - grammars/source.bh.json
317
327
  - grammars/source.bicep.json
318
328
  - grammars/source.blitzmax.json
319
329
  - grammars/source.bms.json
@@ -323,6 +333,7 @@ files:
323
333
  - grammars/source.boo.json
324
334
  - grammars/source.boogie.json
325
335
  - grammars/source.bp.json
336
+ - grammars/source.bqn.json
326
337
  - grammars/source.brs.json
327
338
  - grammars/source.bsl.json
328
339
  - grammars/source.bsv.json
@@ -366,6 +377,7 @@ files:
366
377
  - grammars/source.cobolit.json
367
378
  - grammars/source.cobsql_dir.json
368
379
  - grammars/source.coffee.json
380
+ - grammars/source.commonlisp.json
369
381
  - grammars/source.context.json
370
382
  - grammars/source.cool.json
371
383
  - grammars/source.coq.json
@@ -440,6 +452,7 @@ files:
440
452
  - grammars/source.figctrl.json
441
453
  - grammars/source.figfont.json
442
454
  - grammars/source.firestore.json
455
+ - grammars/source.firrtl.json
443
456
  - grammars/source.fish.json
444
457
  - grammars/source.fnl.json
445
458
  - grammars/source.fontdir.json
@@ -588,6 +601,7 @@ files:
588
601
  - grammars/source.lsl.json
589
602
  - grammars/source.ltspice.symbol.json
590
603
  - grammars/source.lua.json
604
+ - grammars/source.luau.json
591
605
  - grammars/source.m2.json
592
606
  - grammars/source.m4.json
593
607
  - grammars/source.m68k.json
@@ -595,6 +609,7 @@ files:
595
609
  - grammars/source.makefile.json
596
610
  - grammars/source.makegen.json
597
611
  - grammars/source.man-conf.json
612
+ - grammars/source.markdown.caddy.codeblock.json
598
613
  - grammars/source.mask.json
599
614
  - grammars/source.mata.json
600
615
  - grammars/source.mathematica.json
@@ -631,6 +646,7 @@ files:
631
646
  - grammars/source.modelica.json
632
647
  - grammars/source.modula-3.json
633
648
  - grammars/source.modula2.json
649
+ - grammars/source.mojo.json
634
650
  - grammars/source.monkey.json
635
651
  - grammars/source.moonscript.json
636
652
  - grammars/source.move.json
@@ -703,6 +719,8 @@ files:
703
719
  - grammars/source.pic.json
704
720
  - grammars/source.pig_latin.json
705
721
  - grammars/source.pike.json
722
+ - grammars/source.pip-requirements.json
723
+ - grammars/source.pkl.json
706
724
  - grammars/source.pli.json
707
725
  - grammars/source.plist.json
708
726
  - grammars/source.pnlgrp.json
@@ -766,6 +784,8 @@ files:
766
784
  - grammars/source.rez.json
767
785
  - grammars/source.ring.json
768
786
  - grammars/source.rmcobol.json
787
+ - grammars/source.roc.json
788
+ - grammars/source.ron.json
769
789
  - grammars/source.rpg.json
770
790
  - grammars/source.rpgle.json
771
791
  - grammars/source.rpm-spec.json
@@ -796,6 +816,7 @@ files:
796
816
  - grammars/source.sieve.json
797
817
  - grammars/source.singularity.json
798
818
  - grammars/source.slice.json
819
+ - grammars/source.slint.json
799
820
  - grammars/source.smali.json
800
821
  - grammars/source.smalltalk.json
801
822
  - grammars/source.smithy.json
@@ -828,8 +849,8 @@ files:
828
849
  - grammars/source.talon.json
829
850
  - grammars/source.tcl.json
830
851
  - grammars/source.tea.json
852
+ - grammars/source.templ.json
831
853
  - grammars/source.terra.json
832
- - grammars/source.terraform.json
833
854
  - grammars/source.textgrid.json
834
855
  - grammars/source.textproto.json
835
856
  - grammars/source.thrift.json
@@ -902,6 +923,7 @@ files:
902
923
  - grammars/source.zenscript.json
903
924
  - grammars/source.zig.json
904
925
  - grammars/source.zil.json
926
+ - grammars/sp-jsdoc.injection.json
905
927
  - grammars/text.adblock.json
906
928
  - grammars/text.bibtex.json
907
929
  - grammars/text.browserslist.json
@@ -909,6 +931,7 @@ files:
909
931
  - grammars/text.checksums.json
910
932
  - grammars/text.codeowners.json
911
933
  - grammars/text.conllu.json
934
+ - grammars/text.crontab.json
912
935
  - grammars/text.dfy.dafny.json
913
936
  - grammars/text.elixir.json
914
937
  - grammars/text.eml.basic.json
@@ -929,6 +952,7 @@ files:
929
952
  - grammars/text.html.django.json
930
953
  - grammars/text.html.ecmarkup.json
931
954
  - grammars/text.html.ecr.json
955
+ - grammars/text.html.edge.json
932
956
  - grammars/text.html.elixir.json
933
957
  - grammars/text.html.ember-handlebars.json
934
958
  - grammars/text.html.erb.json
@@ -995,6 +1019,8 @@ files:
995
1019
  - grammars/text.tex.latex.rd.json
996
1020
  - grammars/text.tex.latex.sweave.json
997
1021
  - grammars/text.texinfo.json
1022
+ - grammars/text.valve-cfg.json
1023
+ - grammars/text.valve-kv.json
998
1024
  - grammars/text.vim-help.json
999
1025
  - grammars/text.vtt.json
1000
1026
  - grammars/text.xml.ant.json
@@ -1060,7 +1086,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1060
1086
  - !ruby/object:Gem::Version
1061
1087
  version: '0'
1062
1088
  requirements: []
1063
- rubygems_version: 3.4.10
1089
+ rubygems_version: 3.5.9
1064
1090
  signing_key:
1065
1091
  specification_version: 4
1066
1092
  summary: GitHub Language detection
@@ -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":"Terraform","scopeName":"source.terraform","patterns":[{"include":"#comments"},{"include":"#top_level_attribute_definition"},{"include":"#imports"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.","end":"(\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b)|(\\*)|(\\d+)","beginCaptures":{"0":{"name":"keyword.operator.accessor.terraform"}},"endCaptures":{"1":{"name":"variable.other.member.terraform"},"2":{"name":"keyword.operator.splat.terraform"},"3":{"name":"constant.numeric.integer.terraform"}}},"block":{"name":"meta.type.terraform","begin":"(\\b(resource|provider|variable|output|locals|module|data|terraform)\\b|(\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b))(?=[\\s\\\"\\-[:word:]]*(\\{))","end":"(?=\\{)","patterns":[{"name":"string.quoted.double.terraform","begin":"\\\"","end":"\\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.terraform"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.terraform"}}},{"name":"entity.name.label.terraform","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}],"beginCaptures":{"2":{"name":"storage.type.terraform"},"3":{"name":"entity.name.type.terraform"}}},"block_comments":{"name":"comment.block.terraform","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.terraform"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.terraform"}}},"brackets":{"begin":"\\[","end":"(\\*)?\\]","patterns":[{"include":"#comma"},{"include":"#comments"},{"include":"#expressions"},{"include":"#tuple_for_expression"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.terraform"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.terraform"},"1":{"name":"keyword.operator.splat.terraform"}}},"comma":{"name":"punctuation.separator.terraform","match":"\\,"},"comments":{"patterns":[{"include":"#inline_comments"},{"include":"#block_comments"}]},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#functions"},{"include":"#parens"}]},"functions":{"name":"meta.function-call.terraform","begin":"((abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)|\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b))(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"2":{"name":"support.function.builtin.terraform"},"3":{"name":"variable.function.terraform"},"4":{"name":"punctuation.section.parens.begin.terraform"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.terraform"}}},"heredoc":{"name":"string.unquoted.heredoc.terraform","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.terraform"},"2":{"name":"keyword.control.heredoc.terraform"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.terraform"}}},"imports":{"begin":"\\s*(terraform)\\s*(import)\\s*","end":"$\\n?","patterns":[{"include":"#string_literals"},{"name":"entity.name.label.terraform","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},{"include":"#numeric_literals"},{"include":"#attribute_access"}],"beginCaptures":{"1":{"name":"support.constant.terraform"},"2":{"name":"keyword.control.import.terraform"}}},"inline_comments":{"name":"comment.line.terraform","begin":"#|//","end":"$\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.terraform"}}},"language_constants":{"name":"constant.language.terraform","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#type_keywords"},{"include":"#named_value_references"}]},"main":{"patterns":[{"include":"#comments"},{"include":"#block"},{"include":"#expressions"}]},"named_value_references":{"name":"support.constant.terraform","match":"\\b(var|local|module|data|path|terraform)\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.terraform","match":"\\b\\d+(([Ee][+-]?))\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.terraform"}}},{"name":"constant.numeric.float.terraform","match":"\\b\\d+(\\.)\\d+(?:(([Ee][+-]?))\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.terraform"},"2":{"name":"punctuation.separator.exponent.terraform"}}},{"name":"constant.numeric.integer.terraform","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"\\bfor\\b","end":"(?=\\})","patterns":[{"name":"storage.type.function.terraform","match":"\\=\\\u003e"},{"name":"keyword.operator.word.terraform","match":"\\bin\\b"},{"name":"keyword.control.conditional.terraform","match":"\\bif\\b"},{"name":"keyword.operator.terraform","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"name":"variable.other.readwrite.terraform","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}],"beginCaptures":{"0":{"name":"keyword.control.terraform"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#expressions"}]},"objects":{"name":"meta.braces.terraform","begin":"\\{","end":"\\}","patterns":[{"include":"#object_for_expression"},{"include":"#comments"},{"begin":"\\s*(\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b)\\s*(\\=)\\s*","end":"((\\,)|($\\n?)|(?=\\}))","patterns":[{"include":"#object_key_values"}],"beginCaptures":{"1":{"name":"meta.mapping.key.terraform string.unquoted.terraform"},"2":{"name":"keyword.operator.terraform"}},"endCaptures":{"1":{"name":"punctuation.separator.terraform"},"3":{"name":"punctuation.section.braces.end.terraform"}}},{"begin":"((\\\").*(\\\"))\\s*(\\=)\\s*","end":"((\\,)|($\\n?)|(?=\\}))","patterns":[{"include":"#object_key_values"}],"beginCaptures":{"1":{"name":"meta.mapping.key.terraform string.quoted.double.terraform"},"2":{"name":"punctuation.definition.string.begin.terraform"},"3":{"name":"punctuation.definition.string.end.terraform"},"4":{"name":"keyword.operator.terraform"}},"endCaptures":{"1":{"name":"punctuation.separator.terraform"},"3":{"name":"punctuation.section.braces.end.terraform"}}},{"name":"meta.mapping.key.terraform","begin":"\\(","end":"(\\))\\s*(\\=)\\s*","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.terraform"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.terraform"},"2":{"name":"keyword.operator.terraform"}}},{"patterns":[{"include":"#main"}]}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.terraform"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.terraform"}}},"operators":{"patterns":[{"name":"keyword.operator.terraform","match":"\\\u003e\\="},{"name":"keyword.operator.terraform","match":"\\\u003c\\="},{"name":"keyword.operator.terraform","match":"\\=\\="},{"name":"keyword.operator.terraform","match":"\\!\\="},{"name":"keyword.operator.arithmetic.terraform","match":"\\+"},{"name":"keyword.operator.arithmetic.terraform","match":"\\-"},{"name":"keyword.operator.arithmetic.terraform","match":"\\*"},{"name":"keyword.operator.arithmetic.terraform","match":"\\/"},{"name":"keyword.operator.arithmetic.terraform","match":"\\%"},{"name":"keyword.operator.logical.terraform","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.terraform","match":"\\|\\|"},{"name":"keyword.operator.logical.terraform","match":"\\!"},{"name":"keyword.operator.terraform","match":"\\\u003e"},{"name":"keyword.operator.terraform","match":"\\\u003c"},{"name":"keyword.operator.terraform","match":"\\?"},{"name":"keyword.operator.terraform","match":"\\.\\.\\."},{"name":"keyword.operator.terraform","match":"\\:"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expressions"},{"name":"variable.other.readwrite.terraform","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.terraform"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.terraform"}}},"string_interpolation":{"name":"meta.interpolation.terraform","begin":"(\\$|\\%)\\{","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.terraform","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.terraform","match":"\\s\\~"},{"name":"keyword.control.terraform","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"keyword.other.interpolation.begin.terraform"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.terraform"}}},"string_literals":{"name":"string.quoted.double.terraform","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"name":"constant.character.escape.terraform","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.terraform"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.terraform"}}},"top_level_attribute_definition":{"name":"variable.declaration.terraform","match":"(\\()?(\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b)(\\))?\\s*(\\=[^\\=|\\\u003e])\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.terraform"},"2":{"name":"variable.other.readwrite.terraform"},"3":{"name":"punctuation.section.parens.end.terraform"},"4":{"name":"keyword.operator.assignment.terraform"}}},"tuple_for_expression":{"begin":"\\bfor\\b","end":"(?=\\])","patterns":[{"name":"keyword.operator.word.terraform","match":"\\bin\\b"},{"name":"keyword.control.conditional.terraform","match":"\\bif\\b"},{"name":"keyword.operator.terraform","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"name":"variable.other.readwrite.terraform","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}],"beginCaptures":{"0":{"name":"keyword.control.terraform"}}},"type_keywords":{"name":"storage.type.terraform","match":"\\b(any|string|number|bool)\\b"}}}