github-linguist 7.18.0 → 7.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +1 -0
  3. data/grammars/liquid.injection.json +1 -0
  4. data/grammars/markdown.curry.codeblock.json +1 -0
  5. data/grammars/markdown.textproto.codeblock.json +1 -0
  6. data/grammars/source.2da.json +1 -0
  7. data/grammars/source.aidl.json +1 -1
  8. data/grammars/source.ballerina.json +1 -1
  9. data/grammars/source.bnd.json +1 -0
  10. data/grammars/source.cl.json +1 -0
  11. data/grammars/source.clar.json +1 -0
  12. data/grammars/source.clarion.json +1 -1
  13. data/grammars/source.clojure.json +1 -1
  14. data/grammars/source.cmd.json +1 -0
  15. data/grammars/source.cs.json +1 -1
  16. data/grammars/source.csound.json +1 -1
  17. data/grammars/source.curry.json +1 -0
  18. data/grammars/source.data-weave.json +1 -1
  19. data/grammars/source.dds.dspf.json +1 -0
  20. data/grammars/source.dds.icff.json +1 -0
  21. data/grammars/source.dds.lf.json +1 -0
  22. data/grammars/source.dds.pf.json +1 -0
  23. data/grammars/source.dds.prtf.json +1 -0
  24. data/grammars/source.deb-control.json +1 -0
  25. data/grammars/source.debian.makefile.json +1 -0
  26. data/grammars/source.denizenscript.json +1 -0
  27. data/grammars/source.elixir.json +1 -1
  28. data/grammars/source.euphoria.json +1 -0
  29. data/grammars/source.fsharp.json +1 -1
  30. data/grammars/source.gitignore.json +1 -1
  31. data/grammars/source.gleam.json +1 -0
  32. data/grammars/source.gsc.json +1 -0
  33. data/grammars/source.hoon.json +1 -0
  34. data/grammars/source.icurry.json +1 -0
  35. data/grammars/source.janet.json +1 -0
  36. data/grammars/source.js.json +1 -1
  37. data/grammars/source.julia.json +1 -1
  38. data/grammars/source.mi.json +1 -0
  39. data/grammars/source.miniyaml.json +1 -0
  40. data/grammars/source.mint.json +1 -0
  41. data/grammars/source.mlir.json +1 -1
  42. data/grammars/source.pcb.schematic.json +1 -1
  43. data/grammars/source.pcb.sexp.json +1 -1
  44. data/grammars/source.pnlgrp.json +1 -0
  45. data/grammars/source.procfile.json +1 -0
  46. data/grammars/source.proto.json +1 -1
  47. data/grammars/source.python.kivy.json +1 -0
  48. data/grammars/source.qsharp.json +1 -1
  49. data/grammars/source.rascal.json +1 -1
  50. data/grammars/source.rescript.json +1 -1
  51. data/grammars/source.rpg.json +1 -0
  52. data/grammars/source.rpgle.json +1 -0
  53. data/grammars/source.shellcheckrc.json +1 -1
  54. data/grammars/source.smali.json +1 -1
  55. data/grammars/source.solidity.json +1 -1
  56. data/grammars/source.textproto.json +1 -0
  57. data/grammars/source.ts.json +1 -1
  58. data/grammars/source.tsx.json +1 -1
  59. data/grammars/source.vyper.json +1 -1
  60. data/grammars/source.witcherscript.json +1 -0
  61. data/grammars/source.wsd.json +1 -1
  62. data/grammars/text.html.liquid.json +1 -1
  63. data/grammars/text.rtf.json +1 -1
  64. data/grammars/version +1 -1
  65. data/lib/linguist/VERSION +1 -1
  66. data/lib/linguist/generated.rb +13 -1
  67. data/lib/linguist/heuristics.yml +51 -1
  68. data/lib/linguist/languages.json +1 -1
  69. data/lib/linguist/languages.yml +179 -1
  70. data/lib/linguist/samples.json +1 -1
  71. data/lib/linguist/vendor.yml +1 -1
  72. metadata +67 -34
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 479963cea2583521ef3b938494866b0470a8860f5aec9e2cbddf623c181b6287
4
- data.tar.gz: f87659e0ee3abcf45ebdc4488cae7c136419930f305c86dfe601f2716b8bdfb4
3
+ metadata.gz: 9350dcdafb2bcd21688ea679926d0581c9ce56a6478bdd4b4a3bc7b3ef7665fd
4
+ data.tar.gz: 4ed0ed2338c748e21996a9538284032d218dfec4549c408ca4777c4d76f63870
5
5
  SHA512:
6
- metadata.gz: 4f5c07aebc39099dd98aa735b1175606cf355367746750f79b0ac810f8d52254ec8263b3230b0a6a9a3c3c132ae29f0c3cd2c990ae0a96fd5dea7094f668b9b5
7
- data.tar.gz: bea425498ac0774098ab690814b01889c1fa4f363cdec78a6b81858ff0097215fbf036780763c5dec982954644fdd3dd99bd24246fa63d6218ac3bbee255f949
6
+ metadata.gz: 7428c61b1805af3ec52a09399739b4226c73cc69c993231467c560e68a93fef8a1b81ae3cc1f58db8a9421d6c22b02bac7a61e2106de80e619863049c88c8ddb
7
+ data.tar.gz: 6d041e813b9764403e85e3d4ffbedde7a242670195a016364de21558c7ff8d9e3e45541a199734d3b549832b3dcf2cd17ee54bb53b0f05ba33061db0d8908825
data/bin/github-linguist CHANGED
@@ -24,6 +24,7 @@ def github_linguist(args)
24
24
 
25
25
  parser = OptionParser.new do |opts|
26
26
  opts.banner = HELP_TEXT
27
+ opts.version = Linguist::VERSION
27
28
 
28
29
  opts.on("-b", "--breakdown", "Analyze entire repository and display detailed usage statistics") { breakdown = true }
29
30
  opts.on("-j", "--json", "Output results as JSON") { json_output = true }
@@ -0,0 +1 @@
1
+ {"scopeName":"liquid.injection","patterns":[{"include":"#injection"}]}
@@ -0,0 +1 @@
1
+ {"scopeName":"markdown.curry.codeblock","patterns":[{"include":"#curry-code-block"}],"repository":{"curry-code-block":{"begin":"\\b(curry)\\b(\\s+[^`~]*)?$","end":"(^|\\G)(?=\\s*[`~]{3,}\\s*$)","patterns":[{"contentName":"meta.embedded.block.curry","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.curry"}]}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"markdown.textproto.codeblock","patterns":[{"include":"#textproto-code-block"}],"repository":{"textproto-code-block":{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(pbtxt|prototxt|textproto)(\\s+[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.textproto","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.textproto"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"2-Dimensional Array","scopeName":"source.2da","patterns":[{"name":"meta.header.2da","begin":"(?x) \\A\n[ \\t]* (2DA\\s+V(?:\\d+\\.\\d+)) # Format signature\n[ \\t]* (?:(\\S.*?) [ \\t]*)? # Unexpected junk\n$ \\s*","end":"(?!\\G)$","patterns":[{"include":"#default"}],"beginCaptures":{"0":{"name":"meta.file-signature.2da"},"1":{"name":"keyword.control.format-version.2da"},"2":{"name":"invalid.illegal.unexpected-characters.2da"}}},{"name":"meta.header.2da","begin":"\\A[ \\t]*(\\S+)[ \\t]*$","end":"(?!\\G)","beginCaptures":{"1":{"patterns":[{"include":"#default"}]}}},{"name":"meta.body.2da","begin":"^","end":"(?=A)B","patterns":[{"name":"meta.column-headers.2da","contentName":"constant.other.reference.link","begin":"\\G","end":"$","patterns":[{"include":"#headers"}]},{"name":"meta.records.2da","begin":"(?!\\G)^","end":"(?=A)B","patterns":[{"include":"#row"}]}]}],"repository":{"blankEntry":{"name":"keyword.operator.null-value.2da","match":"(?:\\G|^|(?\u003c=\\s))\\*{4}(?=\\s|$)"},"default":{"name":"meta.default-value.2da","begin":"(?:\\G|^)[ \\t]*(?:(DEFAULT(:))[ \\t]*)?","end":"(?=[ \\t]*$)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"variable.assignment.default-value.2da"},"2":{"name":"keyword.operator.assignment.colon.2da"}}},"float":{"name":"constant.numeric.float.decimal.2da","match":"[-+]?(?:[0-9]+\\.[0-9]+|\\.[0-9]+)(?=\\s|$)"},"headers":{"patterns":[{"name":"entity.name.column.header.unquoted.2da","match":"[^\"\\s]+"},{"name":"entity.name.column.header.quoted.2da","match":"(\")(?=\\w)[^\"]+(\")","captures":{"1":{"name":"punctuation.definition.header.begin.2da"},"2":{"name":"punctuation.definition.header.end.2da"}}}]},"integer":{"patterns":[{"name":"constant.numeric.integer.dec.decimal.2da","match":"[-+]?[0-9]+(?=\\s|$)"},{"name":"constant.numeric.integer.hex.hexadecimal.2da","match":"[-+]?0[Xx][A-Fa-f0-9]+(?=\\s|$)"}]},"row":{"patterns":[{"match":"(?:\\G|^)[ \\t]*(\\d+)(?=\\s|$)","captures":{"1":{"name":"constant.numeric.integer.row-index.2da"}}},{"name":"punctuation.whitespace.column-separator.2da","match":"[ \\t]+"},{"include":"#value"}]},"string":{"patterns":[{"name":"string.quoted.double.2da","begin":"\"","end":"(\")|([^\"]*?)(?=[ \\t]*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.2da"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.2da"},"2":{"name":"invalid.illegal.unclosed-string.2da"}}},{"name":"string.unquoted.2da","match":"(?![-+]?\\d)[^\\s\"]+"}]},"value":{"patterns":[{"include":"#blankEntry"},{"include":"#float"},{"include":"#integer"},{"include":"#string"}]}}}
@@ -1 +1 @@
1
- {"name":"AIDL","scopeName":"source.aidl","patterns":[{"include":"#main"}],"repository":{"annotation":{"patterns":[{"name":"storage.type.annotation.aidl","contentName":"meta.annotation.parameters.aidl","begin":"(@)([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"name":"punctuation.separator.parameter.method.aidl","match":","},{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#const_expr"},{"name":"variable.parameter.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"punctuation.definition.annotation.aidl"},"2":{"name":"meta.annotation.identifier.aidl"},"3":{"name":"punctuation.definition.parameters.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.aidl"}}},{"name":"storage.type.annotation.aidl","match":"(@)([_a-zA-Z][_a-zA-Z0-9]*)","captures":{"1":{"name":"punctuation.definition.annotation.aidl"},"2":{"name":"meta.annotation.identifier.aidl"}}}]},"comments":{"patterns":[{"include":"#multi_line_comment"},{"name":"comment.line.double-slash.aidl","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.aidl"}}}]},"const_expr":{"patterns":[{"include":"#numeric"},{"name":"constant.character.aidl","match":"('.')"},{"name":"meta.string.aidl","match":"(\")([^\\\"]*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.aidl"},"2":{"name":"string.quoted.double.aidl"},"3":{"name":"punctuation.definition.string.end.aidl"}}},{"name":"constant.language.aidl","match":"(true|false)"},{"name":"keyword.operator.logical.aidl","match":"([!\u003c\u003e]|\u0026\u0026|\\|\\||\u003c=|\u003e=|==|!=)"},{"name":"keyword.operator.bitwise.aidl","match":"([\u0026|~\\^]|\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.arithmetic.aidl","match":"([+*/%\\-])"},{"name":"meta.braces.aidl","begin":"(\\{})","end":"(\\})","patterns":[{"name":"punctuation.separator.aidl","match":","},{"include":"#const_expr"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}}]},"constant_decl":{"patterns":[{"name":"meta.constant.aidl","begin":"(const)","end":"(;)","patterns":[{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#comments"},{"include":"#type"},{"include":"#const_expr"},{"name":"entity.name.constant.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"storage.type.constant.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"decls":{"patterns":[{"include":"#annotation"},{"name":"meta.interface.aidl","begin":"(?:(oneway)\\s+)?(interface)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#interface_members"}],"beginCaptures":{"1":{"name":"storage.modifier.aidl"},"2":{"name":"storage.type.interface.aidl"},"3":{"name":"entity.name.type.interface.aidl"},"4":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}},{"name":"meta.parcelable.aidl","begin":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(\\{)","end":"(\\})","patterns":[{"include":"#parcelable_members"}],"beginCaptures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(;)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.terminator.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(cpp_header)\\s*(\")([^\\\"]*)(\")(;)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"keyword.aidl"},"4":{"name":"punctuation.definition.string.begin.aidl"},"5":{"name":"string.quoted.double.aidl"},"6":{"name":"punctuation.definition.string.end.aidl"},"7":{"name":"punctuation.terminator.aidl"}}},{"name":"meta.enum.aidl","begin":"(enum)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#enum_decl_body"}],"beginCaptures":{"1":{"name":"storage.type.enum.aidl"},"2":{"name":"entity.name.type.enum.aidl"},"3":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}},{"name":"meta.union.aidl","begin":"(union)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(\\{)","end":"(\\})","patterns":[{"include":"#parcelable_members"}],"beginCaptures":{"1":{"name":"storage.type.union.aidl"},"2":{"name":"entity.name.type.union.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}}]},"enum_decl_body":{"patterns":[{"include":"#comments"},{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#const_expr"},{"name":"variable.other.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}]},"import":{"patterns":[{"begin":"(import)","end":"(;)","patterns":[{"name":"entity.name.type.aidl","match":"(([_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)"}],"beginCaptures":{"1":{"name":"keyword.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"interface_members":{"patterns":[{"include":"#comments"},{"include":"#constant_decl"},{"include":"#method_decl"}]},"main":{"patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#import"},{"include":"#decls"},{"name":"invalid.illegal.aidl","match":"([^\\s])"}]},"method_decl":{"patterns":[{"include":"#annotation"},{"include":"#type"},{"name":"storage.modifier.aidl","match":"oneway"},{"name":"entity.name.function.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"},{"name":"keyword.operator.assignment.aidl","match":"="},{"name":"punctuation.terminator.aidl","match":";"},{"name":"meta.function.parameters.aidl","begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.parameter.method.aidl","match":","},{"name":"storage.modifier.aidl","match":"\\b(in|out|inout)\\b"},{"include":"#type"},{"name":"variable.parameter.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.aidl"}}}]},"multi_line_comment":{"patterns":[{"name":"comment.block.documentation.aidl","begin":"(/\\*\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}}},{"name":"comment.block.aidl","begin":"(/\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}}}]},"multi_line_comment__1":{},"multi_line_comment__2":{},"numeric":{"patterns":[{"name":"constant.numeric.hex.aidl","match":"(0[x\\x{007c}X][0-9a-fA-F]+[lL]?)"},{"name":"constant.numeric.float.aidl","match":"([0-9]*\\.[0-9]+([eE][-\\x{002b}]?[0-9]+)?f?|[0-9]*\\.?[0-9]+([eE][-\\x{002b}]?[0-9]+)?f)"},{"name":"constant.numeric.decimal.aidl","match":"([0-9]+[lL]?)"}]},"package":{"patterns":[{"begin":"(package)","end":"(;)","patterns":[{"name":"entity.name.namespace.aidl","match":"(([_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))+)"}],"beginCaptures":{"1":{"name":"keyword.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"parcelable_members":{"patterns":[{"include":"#comments"},{"include":"#constant_decl"},{"include":"#variable_decl"}]},"type":{"patterns":[{"include":"#annotation"},{"name":"storage.type.aidl","match":"\\b(void|boolean|byte|char|int|long|float|double)\\b"},{"name":"support.class.aidl","match":"\\b(CharSequence|FileDescriptor|IBinder|List|Map|ParcelableHolder|ParcelFileDescriptor|String)\\b"},{"name":"punctuation.aidl","match":"\\[\\]"},{"name":"meta.generic.aidl","begin":"(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.generic.end.aidl"}}}]},"variable_decl":{"patterns":[{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#type"},{"include":"#const_expr"},{"name":"variable.other.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"},{"name":"punctuation.terminator.aidl","match":";"}]}}}
1
+ {"name":"AIDL","scopeName":"source.aidl","patterns":[{"include":"#main"}],"repository":{"annotation":{"patterns":[{"name":"storage.type.annotation.aidl","contentName":"meta.annotation.parameters.aidl","begin":"(@)([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"name":"punctuation.separator.parameter.method.aidl","match":","},{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#const_expr"},{"name":"variable.parameter.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"punctuation.definition.annotation.aidl"},"2":{"name":"meta.annotation.identifier.aidl"},"3":{"name":"punctuation.definition.parameters.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.aidl"}}},{"name":"storage.type.annotation.aidl","match":"(@)([_a-zA-Z][_a-zA-Z0-9]*)","captures":{"1":{"name":"punctuation.definition.annotation.aidl"},"2":{"name":"meta.annotation.identifier.aidl"}}}]},"comments":{"patterns":[{"include":"#multi_line_comment"},{"name":"comment.line.double-slash.aidl","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.aidl"}}}]},"const_expr":{"patterns":[{"include":"#numeric"},{"name":"constant.character.aidl","match":"('.')"},{"name":"meta.string.aidl","match":"(\")([^\\\"]*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.aidl"},"2":{"name":"string.quoted.double.aidl"},"3":{"name":"punctuation.definition.string.end.aidl"}}},{"name":"constant.language.aidl","match":"(true|false)"},{"name":"keyword.operator.logical.aidl","match":"([!\u003c\u003e]|\u0026\u0026|\\|\\||\u003c=|\u003e=|==|!=)"},{"name":"keyword.operator.bitwise.aidl","match":"([\u0026|~\\^]|\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.arithmetic.aidl","match":"([+*/%\\-])"},{"name":"meta.braces.aidl","begin":"(\\{})","end":"(\\})","patterns":[{"name":"punctuation.separator.aidl","match":","},{"include":"#const_expr"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}}]},"constant_decl":{"patterns":[{"name":"meta.constant.aidl","begin":"(const)","end":"(;)","patterns":[{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#comments"},{"include":"#type"},{"include":"#const_expr"},{"name":"entity.name.constant.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"storage.type.constant.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"decls":{"patterns":[{"include":"#annotation"},{"name":"punctuation.section.braces.end.aidl","match":"(\\})"},{"name":"meta.interface.aidl","match":"(?:(oneway)\\s+)?(interface)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\{)","captures":{"1":{"name":"storage.modifier.aidl"},"2":{"name":"storage.type.interface.aidl"},"3":{"name":"entity.name.type.interface.aidl"},"4":{"name":"punctuation.section.braces.begin.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(\\{)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.section.braces.begin.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(;)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.terminator.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(cpp_header)\\s*(\")([^\\\"]*)(\")(;)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"keyword.aidl"},"4":{"name":"punctuation.definition.string.begin.aidl"},"5":{"name":"string.quoted.double.aidl"},"6":{"name":"punctuation.definition.string.end.aidl"},"7":{"name":"punctuation.terminator.aidl"}}},{"name":"meta.enum.aidl","begin":"(enum)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#enum_decl_body"}],"beginCaptures":{"1":{"name":"storage.type.enum.aidl"},"2":{"name":"entity.name.type.enum.aidl"},"3":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}},{"name":"meta.union.aidl","match":"(union)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(\\{)","captures":{"1":{"name":"storage.type.union.aidl"},"2":{"name":"entity.name.type.union.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.section.braces.begin.aidl"}}},{"include":"#comments"},{"include":"#constant_decl"},{"include":"#method_decl"},{"include":"#variable_decl"}]},"enum_decl_body":{"patterns":[{"include":"#comments"},{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#const_expr"},{"name":"variable.other.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}]},"import":{"patterns":[{"begin":"(import)","end":"(;)","patterns":[{"name":"entity.name.type.aidl","match":"(([_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)"}],"beginCaptures":{"1":{"name":"keyword.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"main":{"patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#import"},{"include":"#decls"},{"name":"invalid.illegal.aidl","match":"([^\\s])"}]},"method_decl":{"patterns":[{"include":"#annotation"},{"include":"#type"},{"name":"storage.modifier.aidl","match":"oneway"},{"name":"keyword.operator.assignment.aidl","match":"="},{"name":"punctuation.terminator.aidl","match":";"},{"contentName":"meta.function.parameters.aidl","begin":"([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.parameter.method.aidl","match":","},{"name":"storage.modifier.aidl","match":"\\b(in|out|inout)\\b"},{"include":"#type"},{"name":"variable.parameter.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"entity.name.function.aidl"},"2":{"name":"punctuation.definition.parameters.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.aidl"}}}]},"multi_line_comment":{"patterns":[{"name":"comment.block.documentation.aidl","begin":"(/\\*\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}}},{"name":"comment.block.aidl","begin":"(/\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}}}]},"multi_line_comment__1":{},"multi_line_comment__2":{},"numeric":{"patterns":[{"name":"constant.numeric.hex.aidl","match":"(0[x\\x{007c}X][0-9a-fA-F]+[lL]?)"},{"name":"constant.numeric.float.aidl","match":"([0-9]*\\.[0-9]+([eE][-\\x{002b}]?[0-9]+)?f?|[0-9]*\\.?[0-9]+([eE][-\\x{002b}]?[0-9]+)?f)"},{"name":"constant.numeric.decimal.aidl","match":"([0-9]+[lL]?)"}]},"package":{"patterns":[{"begin":"(package)","end":"(;)","patterns":[{"name":"entity.name.namespace.aidl","match":"(([_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))+)"}],"beginCaptures":{"1":{"name":"keyword.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"type":{"patterns":[{"include":"#annotation"},{"name":"storage.type.aidl","match":"\\b(void|boolean|byte|char|int|long|float|double)\\b"},{"name":"support.class.aidl","match":"\\b(CharSequence|FileDescriptor|IBinder|List|Map|ParcelableHolder|ParcelFileDescriptor|String)\\b"},{"name":"punctuation.aidl","match":"\\[\\]"},{"name":"meta.generic.aidl","begin":"(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.generic.end.aidl"}}}]},"variable_decl":{"patterns":[{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#type"},{"include":"#const_expr"},{"name":"variable.other.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"},{"name":"punctuation.terminator.aidl","match":";"}]}}}
@@ -1 +1 @@
1
- {"name":"Ballerina","scopeName":"source.ballerina","patterns":[{"include":"#statements"}],"repository":{"access-modifier":{"patterns":[{"name":"storage.modifier.ballerina keyword.other.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(public|private)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}]},"annotationAttachment":{"patterns":[{"match":"(@)((?:[_$[:alpha:]][_$[:alnum:]]*))\\s*(:?)\\s*((?:[_$[:alpha:]][_$[:alnum:]]*)?)","captures":{"1":{"name":"punctuation.decorator.ballerina"},"2":{"name":"support.type.ballerina"},"3":{"name":"punctuation.decorator.ballerina"},"4":{"name":"support.type.ballerina"}}}]},"annotationDefinition":{"patterns":[{"begin":"\\bannotation\\b","end":";","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"array-literal":{"name":"meta.array.literal.ballerina","begin":"\\s*(\\[)","end":"\\]","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"meta.brace.square.ballerina"}},"endCaptures":{"0":{"name":"meta.brace.square.ballerina"}}},"booleans":{"patterns":[{"name":"constant.language.boolean.ballerina","match":"\\b(true|false)\\b"}]},"butClause":{"patterns":[{"begin":"=\u003e","end":",|(?=\\})","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"}}}]},"butExp":{"patterns":[{"begin":"\\bbut\\b","end":"\\}","patterns":[{"include":"#butExpBody"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}}}]},"butExpBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#parameter"},{"include":"#butClause"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}}}]},"call":{"patterns":[{"name":"entity.name.function.ballerina","match":"(?:\\')?([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=\\()"}]},"callableUnitBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#workerDef"},{"include":"#service-decl"},{"include":"#objectDec"},{"include":"#function-defn"},{"include":"#forkStatement"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"class-body":{"name":"meta.class.body.ballerina","begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#function-defn"},{"include":"#var-expr"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#keywords"},{"begin":"(?\u003c=:)\\s*","end":"(?=\\s|[;),}\\]:\\-\\+]|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}},"class-defn":{"name":"meta.class.ballerina","begin":"(\\s+)(class\\b)|^class\\b(?=\\s+|/[/*])","end":"(?\u003c=\\})","patterns":[{"include":"#keywords"},{"match":"[_$[:alpha:]][_$[:alnum:]]*","captures":{"0":{"name":"entity.name.type.class.ballerina"}}},{"include":"#class-body"}],"beginCaptures":{"0":{"name":"storage.type.class.ballerina keyword.other.ballerina"}}},"code":{"patterns":[{"include":"#booleans"},{"include":"#matchStatement"},{"include":"#butExp"},{"include":"#xml"},{"include":"#stringTemplate"},{"include":"#keywords"},{"include":"#strings"},{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#annotationAttachment"},{"include":"#numbers"},{"include":"#maps"},{"include":"#paranthesised"},{"include":"#paranthesisedBracket"}]},"comment":{"patterns":[{"name":"comment.ballerina","match":"\\/\\/.*"}]},"constrainType":{"patterns":[{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#comment"},{"include":"#constrainType"},{"name":"storage.type.ballerina","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}}}]},"control-statement":{"patterns":[{"begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(return)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","end":"(?=[;}]|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.control.flow.ballerina"}}},{"include":"#for-loop"},{"include":"#if-statement"},{"name":"keyword.control.conditional.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(else|if)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}]},"decl-block":{"name":"meta.block.ballerina","begin":"\\{","end":"(?=\\} external;)|(\\})","patterns":[{"include":"#statements"},{"include":"#mdDocumentation"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}},"declaration":{"patterns":[{"include":"#import-declaration"},{"include":"#var-expr"},{"include":"#typeDefinition"},{"include":"#function-defn"},{"include":"#service-decl"},{"include":"#class-defn"},{"include":"#enum-decl"},{"include":"#keywords"}]},"defaultValue":{"patterns":[{"begin":"[=:]","end":"(?=[,)])","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.operator.ballerina"}}}]},"defaultWithParentheses":{"patterns":[{"begin":"\\(","end":"\\)","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"documentationBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"match":"(P|R|T|F|V)({{)(.*)(}})","captures":{"1":{"name":"keyword.other.ballerina.documentation"},"2":{"name":"keyword.other.ballerina.documentation"},"3":{"name":"variable.parameter.ballerina.documentation"},"4":{"name":"keyword.other.ballerina.documentation"}}},{"name":"comment.block.code.ballerina.documentation","begin":"\\```","end":"\\```"},{"name":"comment.block.code.ballerina.documentation","begin":"\\``","end":"\\``"},{"name":"comment.block.code.ballerina.documentation","begin":"\\`","end":"\\`"},{"name":"comment.block.ballerina.documentation","match":"."}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}}}]},"documentationDef":{"patterns":[{"begin":"\\b(?:documentation|deprecated)\\b","end":"\\}","patterns":[{"include":"#documentationBody"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"delimiter.curly"}}}]},"enum-decl":{"name":"meta.enum.declaration.ballerina","begin":"(?:\\b(const)\\s+)?\\b(enum)\\s+([_$[:alpha:]][_$[:alnum:]]*)","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=,|\\}|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"variable.other.enummember.ballerina"}}},{"begin":"(?=((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))","end":"(?=,|\\}|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}],"beginCaptures":{"1":{"name":"storage.modifier.ballerina"},"2":{"name":"keyword.other.ballerina"},"3":{"name":"entity.name.type.enum.ballerina"}}},"errorDestructure":{"patterns":[{"begin":"error","end":"(?==\u003e)","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"expression":{"patterns":[{"include":"#keywords"},{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"}]},"expression-operators":{"patterns":[{"name":"keyword.operator.assignment.compound.ballerina","match":"\\*=|(?\u003c!\\()/=|%=|\\+=|\\-="},{"name":"keyword.operator.assignment.compound.bitwise.ballerina","match":"\\\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.ballerina","match":"\u003c\u003c|\u003e\u003e\u003e|\u003e\u003e"},{"name":"keyword.operator.comparison.ballerina","match":"===|!==|==|!="},{"name":"keyword.operator.relational.ballerina","match":"\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e"},{"match":"(?\u003c=[_$[:alnum:]])(\\!)\\s*(?:(/=)|(?:(/)(?![/*])))","captures":{"1":{"name":"keyword.operator.logical.ballerina"},"2":{"name":"keyword.operator.assignment.compound.ballerina"},"3":{"name":"keyword.operator.arithmetic.ballerina"}}},{"name":"keyword.operator.logical.ballerina","match":"\\!|\u0026\u0026|\\|\\||\\?\\?"},{"name":"keyword.operator.bitwise.ballerina","match":"\\\u0026|~|\\^|\\|"},{"name":"keyword.operator.assignment.ballerina","match":"\\="},{"name":"keyword.operator.decrement.ballerina","match":"--"},{"name":"keyword.operator.increment.ballerina","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.ballerina","match":"%|\\*|/|-|\\+"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#xml"},{"include":"#string"},{"include":"#stringTemplate"},{"include":"#comment"},{"include":"#object-literal"},{"include":"#ternary-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"include":"#paranthesised"}]},"for-loop":{"begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))foreach\\s*","end":"(?=\\{)","patterns":[{"name":"keyword.other.ballerina","match":"\\bin\\b"},{"include":"#identifiers"},{"include":"#comment"},{"include":"#var-expr"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.control.loop.ballerina"},"1":{"name":"support.type.primitive.ballerina"}}},"forkBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#workerDef"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"forkStatement":{"patterns":[{"begin":"\\bfork\\b","end":"\\}","patterns":[{"include":"#forkBody"}],"beginCaptures":{"0":{"name":"keyword.control.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"function-body":{"patterns":[{"include":"#comment"},{"include":"#functionParameters"},{"include":"#decl-block"},{"name":"meta.block.ballerina","begin":"\\=\u003e","end":"(?=\\;)|(?=\\,)","patterns":[{"include":"#statements"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"}}},{"name":"keyword.generator.asterisk.ballerina","match":"\\*"}]},"function-defn":{"name":"meta.function.ballerina","begin":"(?:(public|private)\\s+)?(function\\b)","end":"(?\u003c=\\;)|(?\u003c=\\})|(?\u003c=\\,)","patterns":[{"name":"keyword.ballerina","match":"\\bexternal\\b"},{"include":"#stringTemplate"},{"include":"#annotationAttachment"},{"include":"#functionReturns"},{"include":"#functionName"},{"include":"#functionParameters"},{"include":"#punctuation-semicolon"},{"include":"#function-body"}],"beginCaptures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"keyword.other.ballerina"}}},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#numbers"},{"include":"#string"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#keywords"},{"include":"#parameter-name"},{"include":"#array-literal"},{"include":"#variable-initializer"},{"include":"#identifiers"},{"name":"punctuation.separator.parameter.ballerina","match":"\\,"}]},"functionName":{"patterns":[{"name":"keyword.other.ballerina","match":"\\bfunction\\b"},{"include":"#type-primitive"},{"include":"#self-literal"},{"include":"#string"},{"match":"\\s+(\\b(self)|\\b(is|new|isolated|null|function|in)\\b|(string|int|boolean|float|byte|decimal|json|xml)\\b|\\b(readonly|error|map)\\b|([_$[:alpha:]][_$[:alnum:]]*))","captures":{"2":{"name":"variable.language.this.ballerina"},"3":{"name":"keyword.other.ballerina"},"4":{"name":"support.type.primitive.ballerina"},"5":{"name":"storage.type.ballerina"},"6":{"name":"meta.definition.function.ballerina entity.name.function.ballerina"}}}]},"functionParameters":{"name":"meta.parameters.ballerina","begin":"\\(|\\[","end":"\\)|\\]","patterns":[{"include":"#function-parameters-body"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}}},"functionReturns":{"name":"meta.type.function.return.ballerina","begin":"\\s*(returns)\\s*","end":"(?==\u003e)|(\\=)|(?=\\{)|(\\))|(?=\\;)","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numbers"},{"include":"#keywords"},{"include":"#type-primitive"},{"match":"\\s*\\b(var)(?=\\s+|\\[|\\?)","captures":{"1":{"name":"support.type.primitive.ballerina"}}},{"name":"keyword.operator.ballerina","match":"\\|"},{"name":"keyword.operator.optional.ballerina","match":"\\?"},{"include":"#type-annotation"},{"include":"#type-tuple"},{"include":"#keywords"},{"name":"variable.other.readwrite.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}],"beginCaptures":{"1":{"name":"keyword.other.ballerina"}},"endCaptures":{"1":{"name":"keyword.operator.ballerina"}}},"functionType":{"patterns":[{"begin":"\\bfunction\\b","end":"(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)|(?=\\))|(?=\\])","patterns":[{"include":"#comment"},{"include":"#functionTypeParamList"},{"include":"#functionTypeReturns"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"functionTypeParamList":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"name":"keyword","match":"public"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#parameterTuple"},{"include":"#functionTypeType"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"delimiter.parenthesis"}},"endCaptures":{"0":{"name":"delimiter.parenthesis"}}}]},"functionTypeReturns":{"patterns":[{"begin":"\\breturns\\b","end":"(?=\\,)|(?:\\|)|(?=\\])|(?=\\))","patterns":[{"include":"#functionTypeReturnsParameter"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"keyword"}}}]},"functionTypeReturnsParameter":{"patterns":[{"begin":"((?=record|object|function)|(?:[_$[:alpha:]][_$[:alnum:]]*))","end":"(?=\\,)|(?:\\|)|(?:\\:)|(?==\u003e)|(?=\\))|(?=\\])","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#defaultValue"},{"include":"#comment"},{"include":"#parameterTuple"},{"name":"default.variable.parameter.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"functionTypeType":{"patterns":[{"begin":"[_$[:alpha:]][_$[:alnum:]]*","end":"(?=\\,)|(?:\\|)|(?=\\])|(?=\\))","beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"identifiers":{"patterns":[{"match":"(?x)(?:(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(\n ((\n (function\\s*[(\u003c*]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e)\n )) |\n ((\n ((\u003c\\s*$)|((\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))) |\n # sure shot arrow functions even if =\u003e is on new line\n(\n (\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)?\n [(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*\n (\n ([)]\\s*:) | # ():\n ((\\.\\.\\.\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\s*:) # [(]param: | [(]...param:\n )\n) |\n\n# arrow function possible to detect only with =\u003e on same line\n(\n (\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)? # typeparameters\n \\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$[:alpha:]]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\) # parameters\n (\\s*:\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)? # return type\n \\s*=\u003e # arrow operator\n)\n ))\n))","captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"entity.name.function.ballerina"}}},{"match":"(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*(\\#?[_$[:alpha:]][_$[:alnum:]]*)\\s*(?=\\()","captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"entity.name.function.ballerina"}}},{"match":"(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*(\\#?[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"variable.other.property.ballerina"}}},{"include":"#type-primitive"},{"include":"#self-literal"},{"name":"keyword.control.ballerina","match":"\\b(check|foreach|if|checkpanic)\\b"},{"include":"#call"},{"name":"support.type.primitive.ballerina","match":"\\b(var)\\b"},{"match":"([_$[:alpha:]][_$[:alnum:]]*)((\\.)([_$[:alpha:]][_$[:alnum:]]*)(\\()(\\)))?","captures":{"1":{"name":"variable.other.readwrite.ballerina"},"3":{"name":"punctuation.accessor.ballerina"},"4":{"name":"entity.name.function.ballerina"},"5":{"name":"punctuation.definition.parameters.begin.ballerina"},"6":{"name":"punctuation.definition.parameters.end.ballerina"}}},{"name":"variable.other.property.ballerina","match":"(\\')([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#type-annotation"}]},"if-statement":{"patterns":[{"begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?=\\bif\\b\\s*(?!\\{))","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(if)\\s*(\\()?","end":"(\\))|(?=\\{)","patterns":[{"include":"#decl-block"},{"include":"#keywords"},{"include":"#identifiers"},{"include":"#type-primitive"},{"include":"#xml"},{"include":"#string"},{"include":"#stringTemplate"},{"include":"#comment"},{"include":"#ternary-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"include":"#paranthesised"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.ballerina"},"2":{"name":"meta.brace.round.ballerina"}},"endCaptures":{"1":{"name":"meta.brace.round.ballerina"}}},{"begin":"(?\u003c=\\))","end":"(?=\\{)","patterns":[{"include":"#literal"},{"include":"#keywords"}]},{"include":"#decl-block"}]}]},"import-clause":{"patterns":[{"include":"#comment"},{"match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:(\\bdefault)|(\\*)|(\\b[_$[:alpha:]][_$[:alnum:]]*))","captures":{"1":{"name":"keyword.control.default.ballerina"},"3":{"name":"variable.other.readwrite.ballerina meta.import.module.ballerina"},"5":{"name":"keyword.control.default.ballerina"},"6":{"name":"variable.other.readwrite.alias.ballerina"}}},{"name":"variable.other.readwrite.alias.ballerina","match":"([_$[:alpha:]][_$[:alnum:]]*)"}]},"import-declaration":{"name":"meta.import.ballerina","begin":"\\bimport\\b","end":"\\;","patterns":[{"name":"variable.other.property.ballerina","match":"(\\')([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#keywords"},{"include":"#comment"},{"include":"#import-clause"},{"include":"#punctuation-accessor"}],"beginCaptures":{"0":{"name":"keyword.control.import.ballerina"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.ballerina"}}},"keywords":{"patterns":[{"name":"keyword.control.ballerina","match":"\\b(fork|join|while|returns|transaction|transactional|retry|commit|rollback|typeof|enum|wait|match)\\b"},{"name":"keyword.control.flow.ballerina","match":"\\b(return|break|continue|check|checkpanic|panic|trap|from|where)\\b"},{"name":"keyword.other.ballerina","match":"\\b(public|private|external|return|record|object|remote|abstract|client|true|false|fail|import|version)\\b"},{"name":"keyword.other.ballerina","match":"\\b(as|on|function|resource|listener|const|final|is|null|lock|annotation|source|worker|parameter|field|isolated|in)\\b"},{"name":"keyword.other.ballerina","match":"\\b(xmlns|table|key|let|new|select|start|flush|default|do|base16|base64|conflict)\\b"},{"name":"keyword.other.ballerina","match":"\\b(limit|outer|equals|order|by|ascending|descending|class|configurable|variable|module|service)\\b"},{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina","match":"(=\u003e)"},{"name":"keyword.operator.ballerina","match":"(!|%|\\+|\\-|~=|===|==|=|!=|!==|\u003c|\u003e|\u0026|\\||\\?:|\\.\\.\\.|\u003c=|\u003e=|\u0026\u0026|\\|\\||~|\u003e\u003e|\u003e\u003e\u003e)"},{"include":"#types"},{"include":"#self-literal"},{"include":"#type-primitive"}]},"literal":{"patterns":[{"include":"#booleans"},{"include":"#numbers"},{"include":"#strings"},{"include":"#maps"},{"include":"#self-literal"},{"include":"#array-literal"}]},"maps":{"patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}]}]},"matchBindingPattern":{"patterns":[{"begin":"var","end":"(?==\u003e)|,","patterns":[{"include":"#errorDestructure"},{"include":"#code"},{"name":"variable.parameter.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"matchStatement":{"patterns":[{"begin":"\\bmatch\\b","end":"\\}","patterns":[{"include":"#matchStatementBody"},{"include":"#comment"},{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.control.ballerina"}}}]},"matchStatementBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#literal"},{"include":"#matchBindingPattern"},{"include":"#matchStatementPatternClause"},{"include":"#comment"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}}}]},"matchStatementPatternClause":{"patterns":[{"begin":"=\u003e","end":"((\\})|;|,)","patterns":[{"include":"#callableUnitBody"},{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"mdDocumentation":{"name":"comment.mddocs.ballerina","begin":"\\#","end":"[\\r\\n]+","patterns":[{"include":"#mdDocumentationReturnParamDescription"},{"include":"#mdDocumentationParamDescription"}]},"mdDocumentationParamDescription":{"patterns":[{"begin":"(\\+\\s+)([_$[:alpha:]][_$[:alnum:]]*)(\\s*\\-\\s+)","end":"(?=[^#\\r\\n]|(?:# *?\\+))","patterns":[{"name":"comment.mddocs.paramdesc.ballerina","match":"#.*"}],"beginCaptures":{"1":{"name":"keyword.operator.ballerina"},"2":{"name":"variable.other.readwrite.ballerina"},"3":{"name":"keyword.operator.ballerina"}}}]},"mdDocumentationReturnParamDescription":{"patterns":[{"begin":"(#)(?: *?)(\\+)(?: *)(return)(?: *)(-)?(.*)","end":"(?=[^#\\r\\n]|(?:# *?\\+))","patterns":[{"name":"comment.mddocs.returnparamdesc.ballerina","match":"#.*"}],"beginCaptures":{"1":{"name":"comment.mddocs.ballerina"},"2":{"name":"keyword.ballerina"},"3":{"name":"keyword.ballerina"},"4":{"name":"keyword.ballerina"},"5":{"name":"comment.mddocs.returnparamdesc.ballerina"}}}]},"multiType":{"patterns":[{"name":"storage.type.ballerina","match":"(?\u003c=\\|)([_$[:alpha:]][_$[:alnum:]]*)|([_$[:alpha:]][_$[:alnum:]]*)(?=\\|)"},{"name":"keyword.operator.ballerina","match":"\\|"}]},"numbers":{"patterns":[{"name":"constant.numeric.decimal.ballerina","match":"\\b0[xX][\\da-f]+\\b|\\b\\d+(?:\\.(?:\\d+|$))?"}]},"object-literal":{"name":"meta.objectliteral.ballerina","begin":"\\{","end":"\\}","patterns":[{"include":"#object-member"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}},"object-member":{"patterns":[{"include":"#comment"},{"include":"#function-defn"},{"include":"#literal"},{"include":"#keywords"},{"include":"#expression"},{"name":"meta.object.member.ballerina meta.object-literal.key.ballerina","begin":"(?=\\[)","end":"(?=:)|((?\u003c=[\\]])(?=\\s*[\\(\\\u003c]))","patterns":[{"include":"#comment"}]},{"name":"meta.object.member.ballerina meta.object-literal.key.ballerina","begin":"(?=[\\'\\\"\\`])","end":"(?=:)|((?\u003c=[\\'\\\"\\`])(?=((\\s*[\\(\\\u003c,}])|(\\n*})|(\\s+(as)\\s+))))","patterns":[{"include":"#comment"},{"include":"#string"}]},{"name":"meta.object.member.ballerina meta.object-literal.key.ballerina","begin":"(?x)(?=(\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?\u003c!\\$)(?:\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n (?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3\n (?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1\n (?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.\n (?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1\n (?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1\n)(?!\\$)))","end":"(?=:)|(?=\\s*([\\(\\\u003c,}])|(\\s+as\\s+))","patterns":[{"include":"#comment"},{"include":"#numbers"}]},{"name":"meta.method.declaration.ballerina","begin":"(?\u003c=[\\]\\'\\\"\\`])(?=\\s*[\\(\\\u003c])","end":"(?=\\}|;|,)|(?\u003c=\\})","patterns":[{"include":"#function-body"}]},{"name":"meta.object.member.ballerina","match":"(?![_$[:alpha:]])([[:digit:]]+)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)","captures":{"0":{"name":"meta.object-literal.key.ballerina"},"1":{"name":"constant.numeric.decimal.ballerina"}}},{"name":"meta.object.member.ballerina","match":"(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:(\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/)*\\s*(\n ((\n (function\\s*[(\u003c*]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e)\n )) |\n ((\n ((\u003c\\s*$)|((\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))) |\n # sure shot arrow functions even if =\u003e is on new line\n(\n (\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)?\n [(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*\n (\n ([)]\\s*:) | # ():\n ((\\.\\.\\.\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\s*:) # [(]param: | [(]...param:\n )\n) |\n\n# arrow function possible to detect only with =\u003e on same line\n(\n (\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)? # typeparameters\n \\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$[:alpha:]]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\) # parameters\n (\\s*:\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)? # return type\n \\s*=\u003e # arrow operator\n)\n ))\n)))","captures":{"0":{"name":"meta.object-literal.key.ballerina"},"1":{"name":"entity.name.function.ballerina"}}},{"name":"meta.object.member.ballerina","match":"(?:[_$[:alpha:]][_$[:alnum:]]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)","captures":{"0":{"name":"meta.object-literal.key.ballerina"}}},{"name":"meta.object.member.ballerina","begin":"\\.\\.\\.","end":"(?=,|\\})","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.spread.ballerina"}}},{"name":"meta.object.member.ballerina","match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=,|\\}|$|\\/\\/|\\/\\*)","captures":{"1":{"name":"variable.other.readwrite.ballerina"}}},{"name":"meta.object.member.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(as)\\s+(const)(?=\\s*([,}]|$))","captures":{"1":{"name":"keyword.control.as.ballerina"},"2":{"name":"storage.modifier.ballerina"}}},{"name":"meta.object.member.ballerina","begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(as)\\s+","end":"(?=[;),}\\]:?\\-\\+\\\u003e]|\\|\\||\\\u0026\\\u0026|\\!\\=\\=|$|^|((?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(as)\\s+))","beginCaptures":{"1":{"name":"keyword.control.as.ballerina"}}},{"name":"meta.object.member.ballerina","begin":"(?=[_$[:alpha:]][_$[:alnum:]]*\\s*=)","end":"(?=,|\\}|$|\\/\\/|\\/\\*)","patterns":[{"include":"#expression"}]}]},"objectDec":{"patterns":[{"begin":"\\bobject\\b(?!:)","end":"(?\u003c=\\})","patterns":[{"include":"#decl-block"}],"beginCaptures":{"0":{"name":"keyword.other.ballerina"}}}]},"objectInitBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"objectInitParameters":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#code"},{"name":"variable.parameter.ballerina","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}}}]},"objectMemberFunctionDec":{"patterns":[{"begin":"\\bfunction\\b","end":";","patterns":[{"include":"#functionParameters"},{"name":"keyword.ballerina","match":"\\breturns\\b"},{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"parameter":{"patterns":[{"begin":"((?=record|object|function)|([_$[:alpha:]][_$[:alnum:]]*)(?=\\|)|(?:[_$[:alpha:]][_$[:alnum:]]*))","end":"(?:\\,)|(?:\\|)|(?:\\:)|(?==\u003e)|(?=\\))|(?=\\])","patterns":[{"include":"#parameterWithDescriptor"},{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#defaultValue"},{"include":"#comment"},{"include":"#parameterTuple"},{"name":"default.variable.parameter.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"parameter-name":{"patterns":[{"match":"\\s*\\b(var)\\s+","captures":{"1":{"name":"support.type.primitive.ballerina"}}},{"match":"(?x)(?:(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))\\s+)?(?:(\\.\\.\\.)\\s*)?(?\u003c!=|:)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:(this)|(string|int|boolean|float|byte|decimal|json|xml)|\\b(is|new|isolated|null|function|in)\\b|\\b(true|false)\\b|\\b(check|foreach|if|checkpanic)\\b|\\b(readonly|error|map)\\b|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)","captures":{"10":{"name":"keyword.operator.optional.ballerina"},"2":{"name":"keyword.operator.rest.ballerina"},"3":{"name":"support.type.primitive.ballerina"},"4":{"name":"keyword.other.ballerina"},"5":{"name":"constant.language.boolean.ballerina"},"6":{"name":"keyword.control.flow.ballerina"},"7":{"name":"storage.type.ballerina"},"8":{"name":"variable.parameter.ballerina"},"9":{"name":"variable.parameter.ballerina"}}}]},"parameterTuple":{"patterns":[{"begin":"\\[","end":"(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)|(?=\\))","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#parameterTupleType"},{"include":"#parameterTupleEnd"},{"include":"#comment"}]}]},"parameterTupleEnd":{"patterns":[{"begin":"\\]","end":"(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)|(?=\\))","patterns":[{"include":"#defaultWithParentheses"},{"name":"default.variable.parameter.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}]}]},"parameterTupleType":{"patterns":[{"begin":"[_$[:alpha:]][_$[:alnum:]]*","end":"(?:\\,)|(?:\\|)|(?=\\])","beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"parameterWithDescriptor":{"patterns":[{"begin":"\\\u0026","end":"(?=\\,)|(?=\\|)|(?=\\))","patterns":[{"include":"#parameter"}],"beginCaptures":{"0":{"name":"keyword.operator.ballerina"}}}]},"paranthesised":{"name":"meta.brace.round.block.ballerina","begin":"\\(","end":"\\)","patterns":[{"include":"#self-literal"},{"include":"#function-defn"},{"include":"#decl-block"},{"include":"#comment"},{"include":"#string"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#stringTemplate"},{"include":"#parameter-name"},{"include":"#variable-initializer"},{"name":"punctuation.separator.parameter.ballerina","match":"\\,"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.round.ballerina"}},"endCaptures":{"0":{"name":"meta.brace.round.ballerina"}}},"paranthesisedBracket":{"patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#comment"},{"include":"#code"}]}]},"punctuation-accessor":{"patterns":[{"match":"(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))","captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"}}}]},"punctuation-comma":{"patterns":[{"name":"punctuation.separator.comma.ballerina","match":","}]},"punctuation-semicolon":{"patterns":[{"name":"punctuation.terminator.statement.ballerina","match":";"}]},"record":{"name":"meta.record.ballerina","begin":"\\brecord\\b","end":"(?\u003c=\\})","patterns":[{"include":"#recordBody"}],"beginCaptures":{"0":{"name":"keyword.other.ballerina"}}},"recordBody":{"patterns":[{"include":"#decl-block"}]},"recordLiteral":{"patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"self-literal":{"patterns":[{"match":"(\\bself\\b)\\s*(.)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=\\()","captures":{"1":{"name":"variable.language.this.ballerina"},"2":{"name":"punctuation.accessor.ballerina"},"3":{"name":"entity.name.function.ballerina"}}},{"name":"variable.language.this.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))self\\b(?!\\$)"}]},"service-decl":{"name":"meta.service.declaration.ballerina","begin":"\\bservice\\b","end":"(?=;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))|(?\u003c=\\})","patterns":[{"include":"#class-defn"},{"include":"#serviceName"},{"include":"#serviceOn"},{"include":"#serviceBody"},{"include":"#objectDec"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}},"serviceBody":{"patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#documentationDef"},{"include":"#decl-block"}]},"serviceName":{"patterns":[{"include":"#string"},{"name":"entity.service.path.ballerina"}]},"serviceOn":{"patterns":[{"begin":"on","end":"(?={)","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.other.ballerina"}}}]},"statements":{"patterns":[{"include":"#stringTemplate"},{"include":"#declaration"},{"include":"#control-statement"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-semicolon"},{"include":"#string"},{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#keywords"},{"include":"#annotationAttachment"}]},"string":{"patterns":[{"name":"string.quoted.double.ballerina","begin":"\"","end":"(\")|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ballerina"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ballerina"},"2":{"name":"invalid.illegal.newline.ballerina"}}}]},"string-character-escape":{"patterns":[{"name":"constant.character.escape.ballerina","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"}]},"stringTemplate":{"patterns":[{"name":"string.template.ballerina","begin":"((string)|([_$[:alpha:]][_$[:alnum:]]*))?(`)","end":"\\\\?`","patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ballerina"},"2":{"name":"support.type.primitive.ballerina"},"4":{"name":"punctuation.definition.string.template.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.ballerina"}}}]},"strings":{"patterns":[{"begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.ballerina","match":"\\\\."},{"name":"string","match":"."}],"beginCaptures":{"0":{"name":"string.begin.ballerina"}},"endCaptures":{"0":{"name":"string.end.ballerina"}}}]},"template-substitution-element":{"patterns":[{"name":"meta.template.expression.ballerina","contentName":"meta.embedded.line.ballerina","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ballerina"}}}]},"templateVariable":{"patterns":[{"begin":"\\${","end":"}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"constant.character.escape.ballerina"}},"endCaptures":{"0":{"name":"constant.character.escape.ballerina"}}}]},"ternary-expression":{"begin":"(?!\\?\\.\\s*[^[:digit:]])(\\?)(?!\\?)","end":"\\s*","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.ternary.ballerina"}},"endCaptures":{"1":{"name":"keyword.operator.ternary.ballerina"}}},"tupleType":{"patterns":[{"begin":"\\[","end":"(?=\\]|;)","patterns":[{"include":"#comment"},{"include":"#constrainType"},{"include":"#paranthesisedBracket"},{"name":"storage.type.ballerina","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}]}]},"type":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numbers"},{"include":"#type-primitive"},{"include":"#type-tuple"}]},"type-annotation":{"patterns":[{"name":"meta.type.annotation.ballerina","begin":"(\\:)","end":"(?\u003c![:|\u0026])((?=$|^|[,);\\}\\]\\?\\\u003e\\=\u003e]|//)|(?==[^\u003e])|((?\u003c=[\\}\u003e\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))(\\?)?","patterns":[{"include":"#booleans"},{"include":"#self-literal"},{"include":"#call"},{"match":"\\b(is|new|isolated|null|function|in)\\b|\\b(true|false)\\b|\\b(check|foreach|if|checkpanic)\\b|\\b(readonly|error|map)\\b|\\b(var)\\b|([_$[:alpha:]][_$[:alnum:]]*)((\\.)([_$[:alpha:]][_$[:alnum:]]*)(\\()(\\)))?","captures":{"1":{"name":"keyword.other.ballerina"},"10":{"name":"punctuation.definition.parameters.begin.ballerina"},"11":{"name":"punctuation.definition.parameters.end.ballerina"},"2":{"name":"constant.language.boolean.ballerina"},"3":{"name":"keyword.control.ballerina"},"4":{"name":"storage.type.ballerina"},"5":{"name":"support.type.primitive.ballerina"},"6":{"name":"variable.other.readwrite.ballerina"},"8":{"name":"punctuation.accessor.ballerina"},"9":{"name":"entity.name.function.ballerina"}}},{"name":"keyword.operator.optional.ballerina","match":"\\?"},{"include":"#multiType"},{"include":"#type"},{"include":"#paranthesised"}],"beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ballerina"}}}]},"type-primitive":{"patterns":[{"name":"support.type.primitive.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(string|int|boolean|float|byte|decimal|json|xml)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}]},"type-tuple":{"name":"meta.type.tuple.ballerina","begin":"\\[","end":"\\]","patterns":[{"include":"#self-literal"},{"include":"#booleans"},{"name":"keyword.operator.rest.ballerina","match":"\\.\\.\\."},{"match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\?)?\\s*(:)","captures":{"1":{"name":"entity.name.label.ballerina"},"2":{"name":"keyword.operator.optional.ballerina"},"3":{"name":"punctuation.separator.label.ballerina"}}},{"include":"#identifiers"},{"include":"#type"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.ballerina"}},"endCaptures":{"0":{"name":"meta.brace.square.ballerina"}}},"typeDefinition":{"patterns":[{"begin":"(\\btype\\b)\\s+([_$[:alpha:]][_$[:alnum:]]*)","end":"\\;","patterns":[{"include":"#functionParameters"},{"include":"#functionReturns"},{"include":"#mdDocumentation"},{"include":"#record"},{"include":"#string"},{"include":"#keywords"},{"include":"#multiType"},{"include":"#type-primitive"},{"name":"variable.other.readwrite.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"},{"include":"#type-annotation"},{"include":"#typeDescription"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"entity.name.type.ballerina"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.ballerina"}}}]},"typeDescription":{"patterns":[{"begin":"[_$[:alpha:]][_$[:alnum:]]*","end":"(?=;)","patterns":[{"include":"#numbers"},{"include":"#decl-block"},{"include":"#type-primitive"},{"name":"storage.type.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}]}]},"types":{"patterns":[{"name":"storage.type.ballerina","match":"\\b(handle|any|anydata|future|typedesc)\\b"},{"name":"support.type.primitive.ballerina","match":"\\b(boolean|int|string|float|decimal|byte|json|xml)\\b"},{"name":"storage.type.ballerina","match":"\\b(map|error|never|readonly|distinct)\\b"},{"name":"storage.type.ballerina","match":"\\b(stream)\\b"}]},"var-expr":{"patterns":[{"name":"meta.var.expr.ballerina","begin":"(?=\\b(var))","end":"(?!\\b(var))((?=;|}|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))|((?\u003c!^string|[^\\._$[:alnum:]]string|^int|[^\\._$[:alnum:]]int)(?=\\s*$)))","patterns":[{"begin":"\\b(var)(?=\\s+|\\[|\\?|\\||\\:)","end":"(?=\\S)","beginCaptures":{"0":{"name":"support.type.primitive.ballerina"}}},{"name":"keyword.operator.type.annotation.ballerina","match":"\\|"},{"name":"keyword.other.ballerina","match":"\\bin\\b"},{"include":"#stringTemplate"},{"include":"#numbers"},{"include":"#multiType"},{"include":"#self-literal"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"},{"include":"#type-annotation"},{"include":"#keywords"},{"include":"#type-tuple"}],"beginCaptures":{"0":{"name":"storage.modifier.ballerina support.type.primitive.ballerina"}}},{"include":"#punctuation-comma"},{"name":"meta.var.expr.ballerina","begin":"(?=\\b(const(?!\\s+enum\\b)))","end":"(?!\\b(const(?!\\s+enum\\b)))((?=;|}|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))|((?\u003c!^string|[^\\._$[:alnum:]]string|^int|[^\\._$[:alnum:]]int)(?=\\s*$)))","patterns":[{"begin":"\\b(const(?!\\s+enum\\b))\\s+","end":"(?=\\S)","beginCaptures":{"0":{"name":"keyword.other.ballerina"}}},{"include":"#stringTemplate"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"},{"include":"#type-annotation"}]},{"include":"#punctuation-comma"},{"name":"meta.var.expr.ballerina","begin":"(string|int|boolean|float|byte|decimal|json|xml)(?=\\s+|\\[|\\?|\\||\\:)","end":"(?!\\b(var))((?=;|}|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))|((?\u003c!^string|[^\\._$[:alnum:]]string|^int|[^\\._$[:alnum:]]int)(?=\\s*$)))","patterns":[{"include":"#xml"},{"begin":"(string|int|boolean|float|byte|decimal|json|xml)(?=\\s+|\\[|\\?|\\||\\:)","end":"(?=\\S)","beginCaptures":{"0":{"name":"support.type.primitive.ballerina"}}},{"name":"keyword.operator.type.annotation.ballerina","match":"\\|"},{"include":"#stringTemplate"},{"include":"#numbers"},{"include":"#multiType"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"},{"include":"#type-annotation"},{"include":"#keywords"},{"include":"#type-tuple"}],"beginCaptures":{"0":{"name":"support.type.primitive.ballerina"}}},{"include":"#punctuation-comma"}]},"var-single-const":{"patterns":[{"name":"meta.var-single-variable.expr.ballerina"},{"begin":"\\b(var)\\s*","end":"(?=\\S)","beginCaptures":{"0":{"name":"support.type.primitive.ballerina"}}},{"include":"#types"},{"begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=$|^|[;,=}]|((?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))\\s+))","beginCaptures":{"1":{"name":"meta.definition.variable.ballerina variable.other.constant.ballerina"}}}]},"var-single-variable":{"patterns":[{"name":"meta.var-single-variable.expr.ballerina","begin":"((string|int|boolean|float|byte|decimal|json|xml)|\\b(readonly|error|map)\\b|([_$[:alpha:]][_$[:alnum:]]*))(?=\\s+|\\;|\\\u003e|\\|)","end":"(?=$|^|[;,=}])","patterns":[{"include":"#call"},{"include":"#self-literal"},{"include":"#if-statement"},{"include":"#string"},{"include":"#numbers"},{"include":"#keywords"}],"beginCaptures":{"2":{"name":"support.type.primitive.ballerina"},"3":{"name":"storage.type.ballerina"},"4":{"name":"meta.definition.variable.ballerina variable.other.readwrite.ballerina"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.ballerina"}}},{"name":"meta.var-single-variable.expr.ballerina","begin":"([_$[:alpha:]][_$[:alnum:]]*)\\s+(\\!)?","end":"(?=$|^|[;,=}]|((?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))\\s+))","beginCaptures":{"1":{"name":"meta.definition.variable.ballerina variable.other.readwrite.ballerina"},"2":{"name":"keyword.operator.definiteassignment.ballerina"}}}]},"variable-initializer":{"patterns":[{"begin":"(?\u003c!=|!)(=)(?!=|\u003e)(?=\\s*\\S)","end":"(?=$|[,);}\\]])","patterns":[{"name":"variable.other.property.ballerina","match":"(\\')([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#xml"},{"include":"#function-defn"},{"include":"#expression"},{"include":"#punctuation-accessor"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.ballerina"}}},{"begin":"(?\u003c!=|!)(=)(?!=|\u003e)","end":"(?=[,);}\\]]|((?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))\\s+))|(?=^\\s*$)|(?\u003c=\\S)(?\u003c!=)(?=\\s*$)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.ballerina"}}}]},"variableDef":{"patterns":[{"begin":"(?:(?!\\+)[_$[:alpha:]][_$[:alnum:]]*)(?: |\\t)|(?=\\()","end":"(?:[_$[:alpha:]][_$[:alnum:]]*)|(?=\\,)|(?=;)|\\.\\.\\.","patterns":[{"include":"#tupleType"},{"include":"#constrainType"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"variableDefInline":{"patterns":[{"begin":"(?=record)|(?=object)","end":"(?=;)","patterns":[{"include":"#record"},{"include":"#objectDec"}]}]},"workerBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#code"}]}]},"workerDef":{"patterns":[{"begin":"\\bworker\\b","end":"\\}","patterns":[{"include":"#functionReturns"},{"include":"#workerBody"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"xml":{"patterns":[{"name":"string.template.ballerina","begin":"(\\bxml)(\\s*)(`)","end":"`","patterns":[{"include":"#xmlTag"},{"include":"#xmlComment"},{"include":"#templateVariable"},{"name":"string","match":"."}],"beginCaptures":{"1":{"name":"support.type.primitive.ballerina"},"3":{"name":"punctuation.definition.string.template.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.ballerina"}}}]},"xmlComment":{"patterns":[{"name":"comment.block.xml.ballerina","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"comment.block.xml.ballerina"}},"endCaptures":{"0":{"name":"comment.block.xml.ballerina"}}}]},"xmlDoubleQuotedString":{"patterns":[{"begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.ballerina","match":"\\\\."},{"name":"string","match":"."}],"beginCaptures":{"0":{"name":"string.begin.ballerina"}},"endCaptures":{"0":{"name":"string.end.ballerina"}}}]},"xmlSingleQuotedString":{"patterns":[{"begin":"\\'","end":"\\'","patterns":[{"name":"constant.character.escape.ballerina","match":"\\\\."},{"name":"string","match":"."}],"beginCaptures":{"0":{"name":"string.begin.ballerina"}},"endCaptures":{"0":{"name":"string.end.ballerina"}}}]},"xmlTag":{"patterns":[{"begin":"(\u003c\\/?\\??)\\s*([-_a-zA-Z0-9]+)","end":"\\??\\/?\u003e","patterns":[{"include":"#xmlSingleQuotedString"},{"include":"#xmlDoubleQuotedString"},{"name":"keyword.other.ballerina","match":"xmlns"},{"name":"entity.other.attribute-name.xml.ballerina","match":"([a-zA-Z0-9-]+)"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.ballerina"},"2":{"name":"entity.name.tag.xml.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.xml.ballerina"}}}]}}}
1
+ {"name":"Ballerina","scopeName":"source.ballerina","patterns":[{"include":"#statements"}],"repository":{"access-modifier":{"patterns":[{"name":"storage.modifier.ballerina keyword.other.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(public|private)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}]},"annotationAttachment":{"patterns":[{"match":"(@)((?:[_$[:alpha:]][_$[:alnum:]]*))\\s*(:?)\\s*((?:[_$[:alpha:]][_$[:alnum:]]*)?)","captures":{"1":{"name":"punctuation.decorator.ballerina"},"2":{"name":"support.type.ballerina"},"3":{"name":"punctuation.decorator.ballerina"},"4":{"name":"support.type.ballerina"}}}]},"annotationDefinition":{"patterns":[{"begin":"\\bannotation\\b","end":";","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"array-literal":{"name":"meta.array.literal.ballerina","begin":"\\s*(\\[)","end":"\\]","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"meta.brace.square.ballerina"}},"endCaptures":{"0":{"name":"meta.brace.square.ballerina"}}},"booleans":{"patterns":[{"name":"constant.language.boolean.ballerina","match":"\\b(true|false)\\b"}]},"butClause":{"patterns":[{"begin":"=\u003e","end":",|(?=\\})","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"}}}]},"butExp":{"patterns":[{"begin":"\\bbut\\b","end":"\\}","patterns":[{"include":"#butExpBody"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}}}]},"butExpBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#parameter"},{"include":"#butClause"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}}}]},"call":{"patterns":[{"name":"entity.name.function.ballerina","match":"(?:\\')?([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=\\()"}]},"callableUnitBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#workerDef"},{"include":"#service-decl"},{"include":"#objectDec"},{"include":"#function-defn"},{"include":"#forkStatement"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"class-body":{"name":"meta.class.body.ballerina","begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#function-defn"},{"include":"#var-expr"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#keywords"},{"begin":"(?\u003c=:)\\s*","end":"(?=\\s|[;),}\\]:\\-\\+]|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}},"class-defn":{"name":"meta.class.ballerina","begin":"(\\s+)(class\\b)|^class\\b(?=\\s+|/[/*])","end":"(?\u003c=\\})","patterns":[{"include":"#keywords"},{"match":"[_$[:alpha:]][_$[:alnum:]]*","captures":{"0":{"name":"entity.name.type.class.ballerina"}}},{"include":"#class-body"}],"beginCaptures":{"0":{"name":"storage.type.class.ballerina keyword.other.ballerina"}}},"code":{"patterns":[{"include":"#booleans"},{"include":"#matchStatement"},{"include":"#butExp"},{"include":"#xml"},{"include":"#stringTemplate"},{"include":"#keywords"},{"include":"#strings"},{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#annotationAttachment"},{"include":"#numbers"},{"include":"#maps"},{"include":"#paranthesised"},{"include":"#paranthesisedBracket"}]},"comment":{"patterns":[{"name":"comment.ballerina","match":"\\/\\/.*"}]},"constrainType":{"patterns":[{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#comment"},{"include":"#constrainType"},{"name":"storage.type.ballerina","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}}}]},"control-statement":{"patterns":[{"begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(return)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))","end":"(?=[;}]|$|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.control.flow.ballerina"}}},{"include":"#for-loop"},{"include":"#if-statement"},{"name":"keyword.control.conditional.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(else|if)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}]},"decl-block":{"name":"meta.block.ballerina","begin":"\\{","end":"(?=\\} external;)|(\\})","patterns":[{"include":"#statements"},{"include":"#mdDocumentation"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}},"declaration":{"patterns":[{"include":"#import-declaration"},{"include":"#var-expr"},{"include":"#typeDefinition"},{"include":"#function-defn"},{"include":"#service-decl"},{"include":"#class-defn"},{"include":"#enum-decl"},{"include":"#source"},{"include":"#keywords"}]},"defaultValue":{"patterns":[{"begin":"[=:]","end":"(?=[,)])","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.operator.ballerina"}}}]},"defaultWithParentheses":{"patterns":[{"begin":"\\(","end":"\\)","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"documentationBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"match":"(P|R|T|F|V)({{)(.*)(}})","captures":{"1":{"name":"keyword.other.ballerina.documentation"},"2":{"name":"keyword.other.ballerina.documentation"},"3":{"name":"variable.parameter.ballerina.documentation"},"4":{"name":"keyword.other.ballerina.documentation"}}},{"name":"comment.block.code.ballerina.documentation","begin":"\\```","end":"\\```"},{"name":"comment.block.code.ballerina.documentation","begin":"\\``","end":"\\``"},{"name":"comment.block.code.ballerina.documentation","begin":"\\`","end":"\\`"},{"name":"comment.block.ballerina.documentation","match":"."}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}}}]},"documentationDef":{"patterns":[{"begin":"\\b(?:documentation|deprecated)\\b","end":"\\}","patterns":[{"include":"#documentationBody"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"delimiter.curly"}}}]},"enum-decl":{"name":"meta.enum.declaration.ballerina","begin":"(?:\\b(const)\\s+)?\\b(enum)\\s+([_$[:alpha:]][_$[:alnum:]]*)","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=,|\\}|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"variable.other.enummember.ballerina"}}},{"begin":"(?=((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))","end":"(?=,|\\}|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}],"beginCaptures":{"1":{"name":"storage.modifier.ballerina"},"2":{"name":"keyword.other.ballerina"},"3":{"name":"entity.name.type.enum.ballerina"}}},"errorDestructure":{"patterns":[{"begin":"error","end":"(?==\u003e)","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"expression":{"patterns":[{"include":"#keywords"},{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"}]},"expression-operators":{"patterns":[{"name":"keyword.operator.assignment.compound.ballerina","match":"\\*=|(?\u003c!\\()/=|%=|\\+=|\\-="},{"name":"keyword.operator.assignment.compound.bitwise.ballerina","match":"\\\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.ballerina","match":"\u003c\u003c|\u003e\u003e\u003e|\u003e\u003e"},{"name":"keyword.operator.comparison.ballerina","match":"===|!==|==|!="},{"name":"keyword.operator.relational.ballerina","match":"\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e"},{"match":"(?\u003c=[_$[:alnum:]])(\\!)\\s*(?:(/=)|(?:(/)(?![/*])))","captures":{"1":{"name":"keyword.operator.logical.ballerina"},"2":{"name":"keyword.operator.assignment.compound.ballerina"},"3":{"name":"keyword.operator.arithmetic.ballerina"}}},{"name":"keyword.operator.logical.ballerina","match":"\\!|\u0026\u0026|\\|\\||\\?\\?"},{"name":"keyword.operator.bitwise.ballerina","match":"\\\u0026|~|\\^|\\|"},{"name":"keyword.operator.assignment.ballerina","match":"\\="},{"name":"keyword.operator.decrement.ballerina","match":"--"},{"name":"keyword.operator.increment.ballerina","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.ballerina","match":"%|\\*|/|-|\\+"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#xml"},{"include":"#string"},{"include":"#stringTemplate"},{"include":"#comment"},{"include":"#object-literal"},{"include":"#ternary-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"include":"#paranthesised"}]},"for-loop":{"begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))foreach\\s*","end":"(?=\\{)","patterns":[{"name":"keyword.other.ballerina","match":"\\bin\\b"},{"include":"#identifiers"},{"include":"#comment"},{"include":"#var-expr"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.control.loop.ballerina"},"1":{"name":"support.type.primitive.ballerina"}}},"forkBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#workerDef"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"forkStatement":{"patterns":[{"begin":"\\bfork\\b","end":"\\}","patterns":[{"include":"#forkBody"}],"beginCaptures":{"0":{"name":"keyword.control.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"function-body":{"patterns":[{"include":"#comment"},{"include":"#functionParameters"},{"include":"#decl-block"},{"name":"meta.block.ballerina","begin":"\\=\u003e","end":"(?=\\;)|(?=\\,)","patterns":[{"include":"#statements"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"}}},{"name":"keyword.generator.asterisk.ballerina","match":"\\*"}]},"function-defn":{"name":"meta.function.ballerina","begin":"(?:(public|private)\\s+)?(function\\b)","end":"(?\u003c=\\;)|(?\u003c=\\})|(?\u003c=\\,)","patterns":[{"name":"keyword.ballerina","match":"\\bexternal\\b"},{"include":"#stringTemplate"},{"include":"#annotationAttachment"},{"include":"#functionReturns"},{"include":"#functionName"},{"include":"#functionParameters"},{"include":"#punctuation-semicolon"},{"include":"#function-body"}],"beginCaptures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"keyword.other.ballerina"}}},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#numbers"},{"include":"#string"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#keywords"},{"include":"#parameter-name"},{"include":"#array-literal"},{"include":"#variable-initializer"},{"include":"#identifiers"},{"name":"punctuation.separator.parameter.ballerina","match":"\\,"}]},"functionName":{"patterns":[{"name":"keyword.other.ballerina","match":"\\bfunction\\b"},{"include":"#type-primitive"},{"include":"#self-literal"},{"include":"#string"},{"match":"\\s+(\\b(self)|\\b(is|new|isolated|null|function|in)\\b|(string|int|boolean|float|byte|decimal|json|xml)\\b|\\b(readonly|error|map)\\b|([_$[:alpha:]][_$[:alnum:]]*))","captures":{"2":{"name":"variable.language.this.ballerina"},"3":{"name":"keyword.other.ballerina"},"4":{"name":"support.type.primitive.ballerina"},"5":{"name":"storage.type.ballerina"},"6":{"name":"meta.definition.function.ballerina entity.name.function.ballerina"}}}]},"functionParameters":{"name":"meta.parameters.ballerina","begin":"\\(|\\[","end":"\\)|\\]","patterns":[{"include":"#function-parameters-body"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}}},"functionReturns":{"name":"meta.type.function.return.ballerina","begin":"\\s*(returns)\\s*","end":"(?==\u003e)|(\\=)|(?=\\{)|(\\))|(?=\\;)","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numbers"},{"include":"#keywords"},{"include":"#type-primitive"},{"match":"\\s*\\b(var)(?=\\s+|\\[|\\?)","captures":{"1":{"name":"support.type.primitive.ballerina"}}},{"name":"keyword.operator.ballerina","match":"\\|"},{"name":"keyword.operator.optional.ballerina","match":"\\?"},{"include":"#type-annotation"},{"include":"#type-tuple"},{"include":"#keywords"},{"name":"variable.other.readwrite.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}],"beginCaptures":{"1":{"name":"keyword.other.ballerina"}},"endCaptures":{"1":{"name":"keyword.operator.ballerina"}}},"functionType":{"patterns":[{"begin":"\\bfunction\\b","end":"(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)|(?=\\))|(?=\\])","patterns":[{"include":"#comment"},{"include":"#functionTypeParamList"},{"include":"#functionTypeReturns"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"functionTypeParamList":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"name":"keyword","match":"public"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#parameterTuple"},{"include":"#functionTypeType"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"delimiter.parenthesis"}},"endCaptures":{"0":{"name":"delimiter.parenthesis"}}}]},"functionTypeReturns":{"patterns":[{"begin":"\\breturns\\b","end":"(?=\\,)|(?:\\|)|(?=\\])|(?=\\))","patterns":[{"include":"#functionTypeReturnsParameter"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"keyword"}}}]},"functionTypeReturnsParameter":{"patterns":[{"begin":"((?=record|object|function)|(?:[_$[:alpha:]][_$[:alnum:]]*))","end":"(?=\\,)|(?:\\|)|(?:\\:)|(?==\u003e)|(?=\\))|(?=\\])","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#defaultValue"},{"include":"#comment"},{"include":"#parameterTuple"},{"name":"default.variable.parameter.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"functionTypeType":{"patterns":[{"begin":"[_$[:alpha:]][_$[:alnum:]]*","end":"(?=\\,)|(?:\\|)|(?=\\])|(?=\\))","beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"identifiers":{"patterns":[{"match":"(?x)(?:(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(\n ((\n (function\\s*[(\u003c*]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e)\n )) |\n ((\n ((\u003c\\s*$)|((\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))) |\n # sure shot arrow functions even if =\u003e is on new line\n(\n (\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)?\n [(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*\n (\n ([)]\\s*:) | # ():\n ((\\.\\.\\.\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\s*:) # [(]param: | [(]...param:\n )\n) |\n\n# arrow function possible to detect only with =\u003e on same line\n(\n (\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)? # typeparameters\n \\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$[:alpha:]]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\) # parameters\n (\\s*:\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)? # return type\n \\s*=\u003e # arrow operator\n)\n ))\n))","captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"entity.name.function.ballerina"}}},{"match":"(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*(\\#?[_$[:alpha:]][_$[:alnum:]]*)\\s*(?=\\()","captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"entity.name.function.ballerina"}}},{"match":"(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))\\s*(\\#?[_$[:alpha:]][_$[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"variable.other.property.ballerina"}}},{"include":"#type-primitive"},{"include":"#self-literal"},{"name":"keyword.control.ballerina","match":"\\b(check|foreach|if|checkpanic)\\b"},{"include":"#call"},{"name":"support.type.primitive.ballerina","match":"\\b(var)\\b"},{"match":"([_$[:alpha:]][_$[:alnum:]]*)((\\.)([_$[:alpha:]][_$[:alnum:]]*)(\\()(\\)))?","captures":{"1":{"name":"variable.other.readwrite.ballerina"},"3":{"name":"punctuation.accessor.ballerina"},"4":{"name":"entity.name.function.ballerina"},"5":{"name":"punctuation.definition.parameters.begin.ballerina"},"6":{"name":"punctuation.definition.parameters.end.ballerina"}}},{"name":"variable.other.property.ballerina","match":"(\\')([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#type-annotation"}]},"if-statement":{"patterns":[{"begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?=\\bif\\b\\s*(?!\\{))","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(if)\\s*(\\()?","end":"(\\))|(?=\\{)","patterns":[{"include":"#decl-block"},{"include":"#keywords"},{"include":"#identifiers"},{"include":"#type-primitive"},{"include":"#xml"},{"include":"#string"},{"include":"#stringTemplate"},{"include":"#comment"},{"include":"#ternary-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"include":"#paranthesised"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.ballerina"},"2":{"name":"meta.brace.round.ballerina"}},"endCaptures":{"1":{"name":"meta.brace.round.ballerina"}}},{"begin":"(?\u003c=\\))","end":"(?=\\{)","patterns":[{"include":"#literal"},{"include":"#keywords"}]},{"include":"#decl-block"}]}]},"import-clause":{"patterns":[{"include":"#comment"},{"match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:(\\bdefault)|(\\*)|(\\b[_$[:alpha:]][_$[:alnum:]]*))","captures":{"1":{"name":"keyword.control.default.ballerina"},"3":{"name":"variable.other.readwrite.ballerina meta.import.module.ballerina"},"5":{"name":"keyword.control.default.ballerina"},"6":{"name":"variable.other.readwrite.alias.ballerina"}}},{"name":"variable.other.readwrite.alias.ballerina","match":"([_$[:alpha:]][_$[:alnum:]]*)"}]},"import-declaration":{"name":"meta.import.ballerina","begin":"\\bimport\\b","end":"\\;","patterns":[{"name":"variable.other.property.ballerina","match":"(\\')([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#keywords"},{"include":"#comment"},{"include":"#import-clause"},{"include":"#punctuation-accessor"}],"beginCaptures":{"0":{"name":"keyword.control.import.ballerina"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.ballerina"}}},"keywords":{"patterns":[{"name":"keyword.control.ballerina","match":"\\b(fork|join|while|returns|transaction|transactional|retry|commit|rollback|typeof|enum|wait|match)\\b"},{"name":"keyword.control.flow.ballerina","match":"\\b(return|break|continue|check|checkpanic|panic|trap|from|where)\\b"},{"name":"keyword.other.ballerina","match":"\\b(public|private|external|return|record|object|remote|abstract|client|true|false|fail|import|version)\\b"},{"name":"keyword.other.ballerina","match":"\\b(as|on|function|resource|listener|const|final|is|null|lock|annotation|source|worker|parameter|field|isolated|in)\\b"},{"name":"keyword.other.ballerina","match":"\\b(xmlns|table|key|let|new|select|start|flush|default|do|base16|base64|conflict)\\b"},{"name":"keyword.other.ballerina","match":"\\b(limit|outer|equals|order|by|ascending|descending|class|configurable|variable|module|service)\\b"},{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina","match":"(=\u003e)"},{"name":"keyword.operator.ballerina","match":"(!|%|\\+|\\-|~=|===|==|=|!=|!==|\u003c|\u003e|\u0026|\\||\\?:|\\.\\.\\.|\u003c=|\u003e=|\u0026\u0026|\\|\\||~|\u003e\u003e|\u003e\u003e\u003e)"},{"include":"#types"},{"include":"#self-literal"},{"include":"#type-primitive"}]},"literal":{"patterns":[{"include":"#booleans"},{"include":"#numbers"},{"include":"#strings"},{"include":"#maps"},{"include":"#self-literal"},{"include":"#array-literal"}]},"maps":{"patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}]}]},"matchBindingPattern":{"patterns":[{"begin":"var","end":"(?==\u003e)|,","patterns":[{"include":"#errorDestructure"},{"include":"#code"},{"name":"variable.parameter.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"matchStatement":{"patterns":[{"begin":"\\bmatch\\b","end":"\\}","patterns":[{"include":"#matchStatementBody"},{"include":"#comment"},{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.control.ballerina"}}}]},"matchStatementBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#literal"},{"include":"#matchBindingPattern"},{"include":"#matchStatementPatternClause"},{"include":"#comment"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}}}]},"matchStatementPatternClause":{"patterns":[{"begin":"=\u003e","end":"((\\})|;|,)","patterns":[{"include":"#callableUnitBody"},{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"mdDocumentation":{"name":"comment.mddocs.ballerina","begin":"\\#","end":"[\\r\\n]+","patterns":[{"include":"#mdDocumentationReturnParamDescription"},{"include":"#mdDocumentationParamDescription"}]},"mdDocumentationParamDescription":{"patterns":[{"begin":"(\\+\\s+)([_$[:alpha:]][_$[:alnum:]]*)(\\s*\\-\\s+)","end":"(?=[^#\\r\\n]|(?:# *?\\+))","patterns":[{"name":"comment.mddocs.paramdesc.ballerina","match":"#.*"}],"beginCaptures":{"1":{"name":"keyword.operator.ballerina"},"2":{"name":"variable.other.readwrite.ballerina"},"3":{"name":"keyword.operator.ballerina"}}}]},"mdDocumentationReturnParamDescription":{"patterns":[{"begin":"(#)(?: *?)(\\+)(?: *)(return)(?: *)(-)?(.*)","end":"(?=[^#\\r\\n]|(?:# *?\\+))","patterns":[{"name":"comment.mddocs.returnparamdesc.ballerina","match":"#.*"}],"beginCaptures":{"1":{"name":"comment.mddocs.ballerina"},"2":{"name":"keyword.ballerina"},"3":{"name":"keyword.ballerina"},"4":{"name":"keyword.ballerina"},"5":{"name":"comment.mddocs.returnparamdesc.ballerina"}}}]},"multiType":{"patterns":[{"name":"storage.type.ballerina","match":"(?\u003c=\\|)([_$[:alpha:]][_$[:alnum:]]*)|([_$[:alpha:]][_$[:alnum:]]*)(?=\\|)"},{"name":"keyword.operator.ballerina","match":"\\|"}]},"numbers":{"patterns":[{"name":"constant.numeric.decimal.ballerina","match":"\\b0[xX][\\da-fA-F]+\\b|\\b\\d+(?:\\.(?:\\d+|$))?"}]},"object-literal":{"name":"meta.objectliteral.ballerina","begin":"\\{","end":"\\}","patterns":[{"include":"#object-member"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}},"object-member":{"patterns":[{"include":"#comment"},{"include":"#function-defn"},{"include":"#literal"},{"include":"#keywords"},{"include":"#expression"},{"name":"meta.object.member.ballerina meta.object-literal.key.ballerina","begin":"(?=\\[)","end":"(?=:)|((?\u003c=[\\]])(?=\\s*[\\(\\\u003c]))","patterns":[{"include":"#comment"}]},{"name":"meta.object.member.ballerina meta.object-literal.key.ballerina","begin":"(?=[\\'\\\"\\`])","end":"(?=:)|((?\u003c=[\\'\\\"\\`])(?=((\\s*[\\(\\\u003c,}])|(\\n*})|(\\s+(as)\\s+))))","patterns":[{"include":"#comment"},{"include":"#string"}]},{"name":"meta.object.member.ballerina meta.object-literal.key.ballerina","begin":"(?x)(?=(\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?\u003c!\\$)(?:\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n (?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3\n (?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1\n (?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.\n (?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1\n (?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1\n)(?!\\$)))","end":"(?=:)|(?=\\s*([\\(\\\u003c,}])|(\\s+as\\s+))","patterns":[{"include":"#comment"},{"include":"#numbers"}]},{"name":"meta.method.declaration.ballerina","begin":"(?\u003c=[\\]\\'\\\"\\`])(?=\\s*[\\(\\\u003c])","end":"(?=\\}|;|,)|(?\u003c=\\})","patterns":[{"include":"#function-body"}]},{"name":"meta.object.member.ballerina","match":"(?![_$[:alpha:]])([[:digit:]]+)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)","captures":{"0":{"name":"meta.object-literal.key.ballerina"},"1":{"name":"constant.numeric.decimal.ballerina"}}},{"name":"meta.object.member.ballerina","match":"(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:(\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/)*\\s*(\n ((\n (function\\s*[(\u003c*]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=\u003e)\n )) |\n ((\n ((\u003c\\s*$)|((\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))) |\n # sure shot arrow functions even if =\u003e is on new line\n(\n (\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)?\n [(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*\n (\n ([)]\\s*:) | # ():\n ((\\.\\.\\.\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\s*:) # [(]param: | [(]...param:\n )\n) |\n\n# arrow function possible to detect only with =\u003e on same line\n(\n (\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\\\u003e)*\u003e\\s*)? # typeparameters\n \\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$[:alpha:]]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\) # parameters\n (\\s*:\\s*([^\u003c\u003e\\(\\)\\{\\}]|\\\u003c([^\u003c\u003e]|\\\u003c([^\u003c\u003e]|\\\u003c[^\u003c\u003e]+\\\u003e)+\\\u003e)+\\\u003e|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)? # return type\n \\s*=\u003e # arrow operator\n)\n ))\n)))","captures":{"0":{"name":"meta.object-literal.key.ballerina"},"1":{"name":"entity.name.function.ballerina"}}},{"name":"meta.object.member.ballerina","match":"(?:[_$[:alpha:]][_$[:alnum:]]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)","captures":{"0":{"name":"meta.object-literal.key.ballerina"}}},{"name":"meta.object.member.ballerina","begin":"\\.\\.\\.","end":"(?=,|\\})","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.spread.ballerina"}}},{"name":"meta.object.member.ballerina","match":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=,|\\}|$|\\/\\/|\\/\\*)","captures":{"1":{"name":"variable.other.readwrite.ballerina"}}},{"name":"meta.object.member.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(as)\\s+(const)(?=\\s*([,}]|$))","captures":{"1":{"name":"keyword.control.as.ballerina"},"2":{"name":"storage.modifier.ballerina"}}},{"name":"meta.object.member.ballerina","begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(as)\\s+","end":"(?=[;),}\\]:?\\-\\+\\\u003e]|\\|\\||\\\u0026\\\u0026|\\!\\=\\=|$|^|((?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(as)\\s+))","beginCaptures":{"1":{"name":"keyword.control.as.ballerina"}}},{"name":"meta.object.member.ballerina","begin":"(?=[_$[:alpha:]][_$[:alnum:]]*\\s*=)","end":"(?=,|\\}|$|\\/\\/|\\/\\*)","patterns":[{"include":"#expression"}]}]},"objectDec":{"patterns":[{"begin":"\\bobject\\b(?!:)","end":"(?\u003c=\\})","patterns":[{"include":"#decl-block"}],"beginCaptures":{"0":{"name":"keyword.other.ballerina"}}}]},"objectInitBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"objectInitParameters":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#code"},{"name":"variable.parameter.ballerina","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}}}]},"objectMemberFunctionDec":{"patterns":[{"begin":"\\bfunction\\b","end":";","patterns":[{"include":"#functionParameters"},{"name":"keyword.ballerina","match":"\\breturns\\b"},{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"parameter":{"patterns":[{"begin":"((?=record|object|function)|([_$[:alpha:]][_$[:alnum:]]*)(?=\\|)|(?:[_$[:alpha:]][_$[:alnum:]]*))","end":"(?:\\,)|(?:\\|)|(?:\\:)|(?==\u003e)|(?=\\))|(?=\\])","patterns":[{"include":"#parameterWithDescriptor"},{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#defaultValue"},{"include":"#comment"},{"include":"#parameterTuple"},{"name":"default.variable.parameter.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"parameter-name":{"patterns":[{"match":"\\s*\\b(var)\\s+","captures":{"1":{"name":"support.type.primitive.ballerina"}}},{"match":"(?x)(?:(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))\\s+)?(?:(\\.\\.\\.)\\s*)?(?\u003c!=|:)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:(this)|(string|int|boolean|float|byte|decimal|json|xml)|\\b(is|new|isolated|null|function|in)\\b|\\b(true|false)\\b|\\b(check|foreach|if|checkpanic)\\b|\\b(readonly|error|map)\\b|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)","captures":{"10":{"name":"keyword.operator.optional.ballerina"},"2":{"name":"keyword.operator.rest.ballerina"},"3":{"name":"support.type.primitive.ballerina"},"4":{"name":"keyword.other.ballerina"},"5":{"name":"constant.language.boolean.ballerina"},"6":{"name":"keyword.control.flow.ballerina"},"7":{"name":"storage.type.ballerina"},"8":{"name":"variable.parameter.ballerina"},"9":{"name":"variable.parameter.ballerina"}}}]},"parameterTuple":{"patterns":[{"begin":"\\[","end":"(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)|(?=\\))","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#parameterTupleType"},{"include":"#parameterTupleEnd"},{"include":"#comment"}]}]},"parameterTupleEnd":{"patterns":[{"begin":"\\]","end":"(?=\\,)|(?=\\|)|(?=\\:)|(?==\u003e)|(?=\\))","patterns":[{"include":"#defaultWithParentheses"},{"name":"default.variable.parameter.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}]}]},"parameterTupleType":{"patterns":[{"begin":"[_$[:alpha:]][_$[:alnum:]]*","end":"(?:\\,)|(?:\\|)|(?=\\])","beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"parameterWithDescriptor":{"patterns":[{"begin":"\\\u0026","end":"(?=\\,)|(?=\\|)|(?=\\))","patterns":[{"include":"#parameter"}],"beginCaptures":{"0":{"name":"keyword.operator.ballerina"}}}]},"paranthesised":{"name":"meta.brace.round.block.ballerina","begin":"\\(","end":"\\)","patterns":[{"include":"#self-literal"},{"include":"#function-defn"},{"include":"#decl-block"},{"include":"#comment"},{"include":"#string"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#stringTemplate"},{"include":"#parameter-name"},{"include":"#variable-initializer"},{"name":"punctuation.separator.parameter.ballerina","match":"\\,"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.round.ballerina"}},"endCaptures":{"0":{"name":"meta.brace.round.ballerina"}}},"paranthesisedBracket":{"patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#comment"},{"include":"#code"}]}]},"punctuation-accessor":{"patterns":[{"match":"(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))","captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"}}}]},"punctuation-comma":{"patterns":[{"name":"punctuation.separator.comma.ballerina","match":","}]},"punctuation-semicolon":{"patterns":[{"name":"punctuation.terminator.statement.ballerina","match":";"}]},"record":{"name":"meta.record.ballerina","begin":"\\brecord\\b","end":"(?\u003c=\\})","patterns":[{"include":"#recordBody"}],"beginCaptures":{"0":{"name":"keyword.other.ballerina"}}},"recordBody":{"patterns":[{"include":"#decl-block"}]},"recordLiteral":{"patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"self-literal":{"patterns":[{"match":"(\\bself\\b)\\s*(.)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=\\()","captures":{"1":{"name":"variable.language.this.ballerina"},"2":{"name":"punctuation.accessor.ballerina"},"3":{"name":"entity.name.function.ballerina"}}},{"name":"variable.language.this.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))self\\b(?!\\$)"}]},"service-decl":{"name":"meta.service.declaration.ballerina","begin":"\\bservice\\b","end":"(?=;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))|(?\u003c=\\})|(?\u003c=\\,)","patterns":[{"include":"#class-defn"},{"include":"#serviceName"},{"include":"#serviceOn"},{"include":"#serviceBody"},{"include":"#objectDec"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}},"serviceBody":{"patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#documentationDef"},{"include":"#decl-block"}]},"serviceName":{"patterns":[{"include":"#string"},{"name":"entity.service.path.ballerina"}]},"serviceOn":{"patterns":[{"begin":"on","end":"(?={)","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.other.ballerina"}}}]},"source":{"patterns":[{"begin":"(\\bsource\\b)\\s+([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=\\,)|(?=\\;)","beginCaptures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"variable.other.readwrite.ballerina"}}}]},"statements":{"patterns":[{"include":"#stringTemplate"},{"include":"#declaration"},{"include":"#control-statement"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-semicolon"},{"include":"#string"},{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#keywords"},{"include":"#annotationAttachment"}]},"string":{"patterns":[{"name":"string.quoted.double.ballerina","begin":"\"","end":"(\")|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ballerina"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ballerina"},"2":{"name":"invalid.illegal.newline.ballerina"}}}]},"string-character-escape":{"patterns":[{"name":"constant.character.escape.ballerina","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"}]},"stringTemplate":{"patterns":[{"name":"string.template.ballerina","begin":"((string)|([_$[:alpha:]][_$[:alnum:]]*))?(`)","end":"\\\\?`","patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ballerina"},"2":{"name":"support.type.primitive.ballerina"},"4":{"name":"punctuation.definition.string.template.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.ballerina"}}}]},"strings":{"patterns":[{"begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.ballerina","match":"\\\\."},{"name":"string","match":"."}],"beginCaptures":{"0":{"name":"string.begin.ballerina"}},"endCaptures":{"0":{"name":"string.end.ballerina"}}}]},"template-substitution-element":{"patterns":[{"name":"meta.template.expression.ballerina","contentName":"meta.embedded.line.ballerina","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ballerina"}}}]},"templateVariable":{"patterns":[{"begin":"\\${","end":"}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"constant.character.escape.ballerina"}},"endCaptures":{"0":{"name":"constant.character.escape.ballerina"}}}]},"ternary-expression":{"begin":"(?!\\?\\.\\s*[^[:digit:]])(\\?)(?!\\?)","end":"\\s*","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.ternary.ballerina"}},"endCaptures":{"1":{"name":"keyword.operator.ternary.ballerina"}}},"tupleType":{"patterns":[{"begin":"\\[","end":"(?=\\]|;)","patterns":[{"include":"#comment"},{"include":"#constrainType"},{"include":"#paranthesisedBracket"},{"name":"storage.type.ballerina","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}]}]},"type":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numbers"},{"include":"#type-primitive"},{"include":"#type-tuple"}]},"type-annotation":{"patterns":[{"name":"meta.type.annotation.ballerina","begin":"(\\:)","end":"(?\u003c![:|\u0026])((?=$|^|[,);\\}\\]\\?\\\u003e\\=\u003e]|//)|(?==[^\u003e])|((?\u003c=[\\}\u003e\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)))(\\?)?","patterns":[{"include":"#booleans"},{"include":"#stringTemplate"},{"include":"#self-literal"},{"include":"#xml"},{"include":"#call"},{"match":"\\b(is|new|isolated|null|function|in)\\b|\\b(true|false)\\b|\\b(check|foreach|if|checkpanic)\\b|\\b(readonly|error|map)\\b|\\b(var)\\b|([_$[:alpha:]][_$[:alnum:]]*)((\\.)([_$[:alpha:]][_$[:alnum:]]*)(\\()(\\)))?","captures":{"1":{"name":"keyword.other.ballerina"},"10":{"name":"punctuation.definition.parameters.begin.ballerina"},"11":{"name":"punctuation.definition.parameters.end.ballerina"},"2":{"name":"constant.language.boolean.ballerina"},"3":{"name":"keyword.control.ballerina"},"4":{"name":"storage.type.ballerina"},"5":{"name":"support.type.primitive.ballerina"},"6":{"name":"variable.other.readwrite.ballerina"},"8":{"name":"punctuation.accessor.ballerina"},"9":{"name":"entity.name.function.ballerina"}}},{"name":"keyword.operator.optional.ballerina","match":"\\?"},{"include":"#multiType"},{"include":"#type"},{"include":"#paranthesised"}],"beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ballerina"}}}]},"type-primitive":{"patterns":[{"name":"support.type.primitive.ballerina","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(string|int|boolean|float|byte|decimal|json|xml)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}]},"type-tuple":{"name":"meta.type.tuple.ballerina","begin":"\\[","end":"\\]","patterns":[{"include":"#self-literal"},{"include":"#booleans"},{"name":"keyword.operator.rest.ballerina","match":"\\.\\.\\."},{"match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\?)?\\s*(:)","captures":{"1":{"name":"entity.name.label.ballerina"},"2":{"name":"keyword.operator.optional.ballerina"},"3":{"name":"punctuation.separator.label.ballerina"}}},{"include":"#identifiers"},{"include":"#type"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.ballerina"}},"endCaptures":{"0":{"name":"meta.brace.square.ballerina"}}},"typeDefinition":{"patterns":[{"begin":"(\\btype\\b)\\s+([_$[:alpha:]][_$[:alnum:]]*)","end":"\\;","patterns":[{"include":"#functionParameters"},{"include":"#functionReturns"},{"include":"#mdDocumentation"},{"include":"#record"},{"include":"#string"},{"include":"#keywords"},{"include":"#multiType"},{"include":"#type-primitive"},{"name":"variable.other.readwrite.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"},{"include":"#type-annotation"},{"include":"#typeDescription"},{"include":"#decl-block"}],"beginCaptures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"entity.name.type.ballerina"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.ballerina"}}}]},"typeDescription":{"patterns":[{"begin":"[_$[:alpha:]][_$[:alnum:]]*","end":"(?=;)","patterns":[{"include":"#numbers"},{"include":"#decl-block"},{"include":"#type-primitive"},{"name":"storage.type.ballerina","match":"[_$[:alpha:]][_$[:alnum:]]*"}]}]},"types":{"patterns":[{"name":"storage.type.ballerina","match":"\\b(handle|any|anydata|future|typedesc)\\b"},{"name":"support.type.primitive.ballerina","match":"\\b(boolean|int|string|float|decimal|byte|json|xml)\\b"},{"name":"storage.type.ballerina","match":"\\b(map|error|never|readonly|distinct)\\b"},{"name":"storage.type.ballerina","match":"\\b(stream)\\b"}]},"var-expr":{"patterns":[{"name":"meta.var.expr.ballerina","begin":"(?=\\b(var))","end":"(?!\\b(var))((?=;|}|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))|((?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?=(if)\\s+))|((?\u003c!^string|[^\\._$[:alnum:]]string|^int|[^\\._$[:alnum:]]int)(?=\\s*$)))","patterns":[{"begin":"\\b(var)(?=\\s+|\\[|\\?|\\||\\:)","end":"(?=\\S)","beginCaptures":{"0":{"name":"support.type.primitive.ballerina"}}},{"name":"keyword.operator.type.annotation.ballerina","match":"\\|"},{"name":"keyword.other.ballerina","match":"\\bin\\b"},{"include":"#comment"},{"include":"#stringTemplate"},{"include":"#numbers"},{"include":"#multiType"},{"include":"#self-literal"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"},{"include":"#type-annotation"},{"include":"#keywords"},{"include":"#type-tuple"}],"beginCaptures":{"0":{"name":"storage.modifier.ballerina support.type.primitive.ballerina"}}},{"include":"#punctuation-comma"},{"name":"meta.var.expr.ballerina","begin":"(?=\\b(const(?!\\s+enum\\b)))","end":"(?!\\b(const(?!\\s+enum\\b)))((?=\\bannotation\\b|;|}|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))|((?\u003c!^string|[^\\._$[:alnum:]]string|^int|[^\\._$[:alnum:]]int)(?=\\s*$)))","patterns":[{"begin":"\\b(const(?!\\s+enum\\b))\\s+","end":"(?=\\S)","beginCaptures":{"0":{"name":"keyword.other.ballerina"}}},{"include":"#comment"},{"include":"#stringTemplate"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"},{"include":"#type-annotation"}]},{"include":"#punctuation-comma"},{"name":"meta.var.expr.ballerina","begin":"(string|int|boolean|float|byte|decimal|json|xml)(?=\\s+|\\[|\\?|\\||\\:)","end":"(?!\\b(var))((?=;|}|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))|((?\u003c!^string|[^\\._$[:alnum:]]string|^int|[^\\._$[:alnum:]]int)(?=\\s*$)))","patterns":[{"include":"#xml"},{"begin":"(string|int|boolean|float|byte|decimal|json|xml)(?=\\s+|\\[|\\?|\\||\\:)","end":"(?=\\S)","beginCaptures":{"0":{"name":"support.type.primitive.ballerina"}}},{"name":"keyword.operator.type.annotation.ballerina","match":"\\|"},{"include":"#stringTemplate"},{"include":"#numbers"},{"include":"#multiType"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"},{"include":"#type-annotation"},{"include":"#keywords"},{"include":"#type-tuple"}],"beginCaptures":{"0":{"name":"support.type.primitive.ballerina"}}},{"include":"#punctuation-comma"}]},"var-single-const":{"patterns":[{"name":"meta.var-single-variable.expr.ballerina"},{"begin":"\\b(var)\\s*","end":"(?=\\S)","beginCaptures":{"0":{"name":"support.type.primitive.ballerina"}}},{"include":"#types"},{"begin":"([_$[:alpha:]][_$[:alnum:]]*)","end":"(?=$|^|[;,=}]|((?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))\\s+))","beginCaptures":{"1":{"name":"meta.definition.variable.ballerina variable.other.constant.ballerina"}}}]},"var-single-variable":{"patterns":[{"name":"meta.var-single-variable.expr.ballerina","begin":"((string|int|boolean|float|byte|decimal|json|xml)|\\b(readonly|error|map)\\b|([_$[:alpha:]][_$[:alnum:]]*))(?=\\s+|\\;|\\\u003e|\\|)","end":"(?=$|^|[;,=}])","patterns":[{"include":"#call"},{"include":"#self-literal"},{"include":"#if-statement"},{"include":"#string"},{"include":"#numbers"},{"include":"#keywords"}],"beginCaptures":{"2":{"name":"support.type.primitive.ballerina"},"3":{"name":"storage.type.ballerina"},"4":{"name":"meta.definition.variable.ballerina variable.other.readwrite.ballerina"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.ballerina"}}},{"name":"meta.var-single-variable.expr.ballerina","begin":"([_$[:alpha:]][_$[:alnum:]]*)\\s+(\\!)?","end":"(?=$|^|[;,=}]|((?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))\\s+))","beginCaptures":{"1":{"name":"meta.definition.variable.ballerina variable.other.readwrite.ballerina"},"2":{"name":"keyword.operator.definiteassignment.ballerina"}}}]},"variable-initializer":{"patterns":[{"begin":"(?\u003c!=|!)(=)(?!=|\u003e)(?=\\s*\\S)","end":"(?=$|[,);}\\]])","patterns":[{"name":"variable.other.property.ballerina","match":"(\\')([_$[:alpha:]][_$[:alnum:]]*)"},{"include":"#xml"},{"include":"#function-defn"},{"include":"#expression"},{"include":"#punctuation-accessor"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.ballerina"}}},{"begin":"(?\u003c!=|!)(=)(?!=|\u003e)","end":"(?=[,);}\\]]|((?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))\\s+))|(?=^\\s*$)|(?\u003c=\\S)(?\u003c!=)(?=\\s*$)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.ballerina"}}}]},"variableDef":{"patterns":[{"begin":"(?:(?!\\+)[_$[:alpha:]][_$[:alnum:]]*)(?: |\\t)|(?=\\()","end":"(?:[_$[:alpha:]][_$[:alnum:]]*)|(?=\\,)|(?=;)|\\.\\.\\.","patterns":[{"include":"#tupleType"},{"include":"#constrainType"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"variableDefInline":{"patterns":[{"begin":"(?=record)|(?=object)","end":"(?=;)","patterns":[{"include":"#record"},{"include":"#objectDec"}]}]},"workerBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#code"}]}]},"workerDef":{"patterns":[{"begin":"\\bworker\\b","end":"\\}","patterns":[{"include":"#functionReturns"},{"include":"#workerBody"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"xml":{"patterns":[{"name":"string.template.ballerina","begin":"(\\bxml)(\\s*)(`)","end":"`","patterns":[{"include":"#xmlTag"},{"include":"#xmlComment"},{"include":"#templateVariable"},{"name":"string","match":"."}],"beginCaptures":{"1":{"name":"support.type.primitive.ballerina"},"3":{"name":"punctuation.definition.string.template.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.ballerina"}}}]},"xmlComment":{"patterns":[{"name":"comment.block.xml.ballerina","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"comment.block.xml.ballerina"}},"endCaptures":{"0":{"name":"comment.block.xml.ballerina"}}}]},"xmlDoubleQuotedString":{"patterns":[{"begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.ballerina","match":"\\\\."},{"name":"string","match":"."}],"beginCaptures":{"0":{"name":"string.begin.ballerina"}},"endCaptures":{"0":{"name":"string.end.ballerina"}}}]},"xmlSingleQuotedString":{"patterns":[{"begin":"\\'","end":"\\'","patterns":[{"name":"constant.character.escape.ballerina","match":"\\\\."},{"name":"string","match":"."}],"beginCaptures":{"0":{"name":"string.begin.ballerina"}},"endCaptures":{"0":{"name":"string.end.ballerina"}}}]},"xmlTag":{"patterns":[{"begin":"(\u003c\\/?\\??)\\s*([-_a-zA-Z0-9]+)","end":"\\??\\/?\u003e","patterns":[{"include":"#xmlSingleQuotedString"},{"include":"#xmlDoubleQuotedString"},{"name":"keyword.other.ballerina","match":"xmlns"},{"name":"entity.other.attribute-name.xml.ballerina","match":"([a-zA-Z0-9-]+)"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.xml.ballerina"},"2":{"name":"entity.name.tag.xml.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.xml.ballerina"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"BND","scopeName":"source.bnd","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#strings"},{"include":"#support"}],"repository":{"comments":{"patterns":[{"name":"comment.line.bnd","begin":"(\\/\\*)","end":"(\\*\\/)"},{"name":"comment.line.bnd","begin":"\\-\\-","end":"\n"}]},"constants":{"patterns":[{"name":"constant.numeric.bnd","match":"(\\b[0-9]+)|([0-9]*[.][0-9]*)"},{"name":"constant.language.bnd","match":"[*][a-zA-Z][a-zA-Z0-9]*"}]},"keywords":{"patterns":[{"name":"keyword.other.bnd","match":"(?i)(STRPGMEXP|ENDPGMEXP|EXPORT)"},{"name":"keyword.other.bnd","match":"\u003c"}]},"strings":{"patterns":[{"name":"string.other.bnd.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.bnd","begin":"('|\")","end":"'|\"","patterns":[{"name":"constant.character.escape.bnd","match":"\\\\."}]}]},"support":{"patterns":[{"name":"support.function.bnd","match":"(?i)[A-Za-z]+(?=\\()"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"CL","scopeName":"source.cl","patterns":[{"include":"#comments"},{"include":"#support"},{"include":"#variables"},{"include":"#constants"},{"include":"#keywords"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.cl","begin":"(\\/\\*)","end":"(\\*\\/)"}]},"constants":{"patterns":[{"name":"constant.language.cl","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.numeric.cl","match":"(\\b[0-9]+)|([0-9]*[.][0-9]*)"},{"name":"constant.language.cl","match":"[*][a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.language.cl","match":"(?i)(QYEAR|QVFYOBJRST|QUTCOFFSET|QUSRLIBL|QUSEADPAUT|QUPSMSGQ|QUPSDLYTIM|QTSEPOOL|QTOTJOB|QTIMZON|QTIMSEP|QTIME|QTIMADJ|QTHDRSCAFN|QTHDRSCADJ|QSYSLIBL|QSVRAUTITV|QSTSMSG|QSTRUPPGM|QSTRPRTWTR|QSTGLOWLMT|QSTGLOWACN|QSSLPCL|QSSLCSLCTL|QSSLCSL|QSRVDMP|QSRTSEQ|QSRLNBR|QSPLFACN|QSPCENV|QSHRMEMCTL|QSFWERRLOG|QSETJOBATR|QSECURITY|QSECOND|QSCPFCONS|QSCANFSCTL|QSCANFS|QSAVACCPTH|QRMTSRVATR|QRMTSIGN|QRMTIPL|QRETSVRSEC|QRCLSPLSTG|QQRYTIMLMT|QQRYDEGREE|QPWRRSTIPL|QPWRDWNLMT|QPWDVLDPGM|QPWDRULES|QPWDRQDDIF|QPWDRQDDGT|QPWDPOSDIF|QPWDMINLEN|QPWDMAXLEN|QPWDLVL|QPWDLMTREP|QPWDLMTCHR|QPWDLMTAJC|QPWDEXPWRN|QPWDEXPITV|QPWDCHGBLK|QPRTTXT|QPRTKEYFMT|QPRTDEV|QPRCMLTTSK|QPRCFEAT|QPRBHLDITV|QPRBFTR|QPFRADJ|QPASTHRSVR|QMONTH|QMODEL|QMLTTHDACN|QMINUTE|QMCHPOOL|QMAXSPLF|QMAXSIGN|QMAXSGNACN|QMAXJOB|QMAXACTLVL|QLOGOUTPUT|QLOCALE|QLMTSECOFR|QLMTDEVSSN|QLIBLCKLVL|QLEAPADJ|QLANGID|QKBDTYPE|QKBDBUF|QJOBSPLA|QJOBMSGQTL|QJOBMSGQSZ|QJOBMSGQMX|QJOBMSGQFL|QIPLTYPE|QIPLSTS|QIPLDATTIM|QINACTMSGQ|QINACTITV|QIGCFNTSIZ|QIGCCDEFNT|QIGC|QHSTLOGSIZ|QHOUR|QFRCCVNRST|QENDJOBLMT|QDYNPTYSCD|QDYNPTYADJ|QDSPSGNINF|QDSCJOBITV|QDEVRCYACN|QDEVNAMING|QDECFMT|QDBRCVYWT|QDBFSTCCOL|QDAYOFWEEK|QDAY|QDATSEP|QDATFMT|QDATETIME|QDATE|QCURSYM|QCTLSBSD|QCRTOBJAUD|QCRTAUT|QCONSOLE|QCNTRYID|QCMNRCYLMT|QCMNARB|QCHRIDCTL|QCHRID|QCFGMSGQ|QCENTURY|QCCSID|QBOOKPATH|QBASPOOL|QBASACTLVL|QAUTOVRT|QAUTOSPRPT|QAUTORMT|QAUTOCFG|QAUDLVL2|QAUDLVL|QAUDFRCLVL|QAUDENDACN|QAUDCTL|QATNPGM|QASTLVL|QALWUSRDMN|QALWOBJRST|QALWJOBITP|QADLTOTJ|QADLSPLA|QADLACTJ|QACTJOB|QACGLVL|QABNORMSW)"}]},"keywords":{"patterns":[{"name":"keyword.control.cl.label","match":"^\\s*[a-zA-Z_][a-zA-Z0-9_]*:"},{"name":"keyword.other.cl","match":"(?i)[%](ADDRESS|BINARY|CHAR|CHECKR|CHECK|OFFSET|SCAN|SUBSTRING|SWITCH|TRIML|TRIMR|TRIM|ADDR|BIN|DEC|INT|OFS|SST|LEN|LOWER|PARMS|SIZE|UINT|UPPER)"},{"name":"keyword.other.cl","match":"(?i)\\b(WRKRMTDFN|WRKRJESSN|WRKREGINF|WRKRDR|WRKRDBDIRE|WRKRCYBRM|WRKRCVCRQA|WRKQST|WRKQRY|WRKQMQRY|WRKQMFORM|WRKPTFORD|WRKPTFGRP|WRKPTF|WRKPSFCFG|WRKPRTSTS|WRKPRDINF|WRKPRB|WRKPNLGRP|WRKPMSCH|WRKPMRPTO|WRKPMRMTS|WRKPGMTBL|WRKPGM|WRKPFDL|WRKPFCST|WRKPEXFTR|WRKPEXDFN|WRKPDFMAPE|WRKPCYBRM|WRKPCLTBLE|WRKPAGSEG|WRKPAGDFN|WRKOVL|WRKOUTQD|WRKOUTQ|WRKOPTVOL|WRKOPTF|WRKOPTDIR|WRKOPCACT|WRKOBJPVT|WRKOBJPGP|WRKOBJPDM|WRKOBJOWN|WRKOBJLCK|WRKOBJBRM|WRKOBJAMT|WRKOBJ|WRKNWSSTS|WRKNWSSTG|WRKNWSENR|WRKNWSD|WRKNWSCFG|WRKNWID|WRKNTBD|WRKNODLE|WRKNODL|WRKNETTBLE|WRKNETJOBE|WRKNETF|WRKNCK|WRKNAMSMTP|WRKMSGQ|WRKMSGF|WRKMSGD|WRKMSG|WRKMODD|WRKMOD|WRKMNU|WRKMLMBRM|WRKMLBSTS|WRKMLBRSCQ|WRKMLBBRM|WRKMGRIBRM|WRKMEDIBRM|WRKMEDBRM|WRKMBRPDM|WRKMBRAMT|WRKLOCBRM|WRKLNKBRM|WRKLNK|WRKLIND|WRKLICINF|WRKLIBPDM|WRKLIBAMT|WRKLIB|WRKLBRM|WRKLANADPT|WRKJVMJOB|WRKJRNRCV|WRKJRNA|WRKJRN|WRKJOBSCDE|WRKJOBQD|WRKJOBQ|WRKJOBLOG|WRKJOBJS|WRKJOBD|WRKJOB|WRKIPXD)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(WRKIMGCLGE|WRKIMGCLG|WRKHYSSTS|WRKHSTJS|WRKHLDOPTF|WRKHDWRSC|WRKHDWPRD|WRKHACFGD|WRKGSS|WRKFTRSLTE|WRKFTRACNE|WRKFTR|WRKFORMDF|WRKFNTRSC|WRKFLRBRM|WRKFLR|WRKFCT|WRKFCNUSG|WRKFCNARA|WRKF|WRKENVVAR|WRKEDTD|WRKDTAQ|WRKDTADFN|WRKDTADCT|WRKDTAARA|WRKDSTQ|WRKDSTL|WRKDSTCLGE|WRKDSKSTS|WRKDPCQ|WRKDOCPRTQ|WRKDOCLIB|WRKDOC|WRKDIRSHD|WRKDIRLOC|WRKDIRE|WRKDEVTBL|WRKDEVD|WRKDEVBRM|WRKDDMF|WRKDBFIDD|WRKCTLGBRM|WRKCTLD|WRKCSI|WRKCRQD|WRKCOSD|WRKCNTINF|WRKCNRBRM|WRKCNNL|WRKCMTDFN|WRKCMD|WRKCLU|WRKCLSBRM|WRKCLS|WRKCICSTST|WRKCICSTCT|WRKCICSTCS|WRKCICSSTS|WRKCICSSIT|WRKCICSPPT|WRKCICSPCT|WRKCICSJCT|WRKCICSGRP|WRKCICSGLT|WRKCICSFCT|WRKCICSDCT|WRKCICSCVT|WRKCHTFMT|WRKCFGSTS|WRKCFGL|WRKCALBRM|WRKCADMRE|WRKBPTBL|WRKBNDDIRE|WRKBNDDIR|WRKAUTL|WRKAUT|WRKASPJOB|WRKASPCPYD|WRKASPBRM|WRKARMJOB|WRKAPPNSTS|WRKALRTBL|WRKALRD|WRKALR|WRKACTJOB|WHEN|WAIT|VRYCFG|VFYTCPCNN|VFYTAP|VFYSRVCFG|VFYSRVAGT|VFYPRT|VFYOPT|VFYOPCCNN|VFYMOVBRM|VFYLNKLPDA|VFYIMGCLG)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(VFYCMN|VFYAPPCCNN|UPDTCPINF|UPDSYSINF|UPDSRVPGM|UPDPTFINF|UPDPGM|UPDDTA|UNMOUNT|TRNCKMKSF|TRCTCPRTE|TRCTCPAPP|TRCREX|TRCJOB|TRCINT|TRCICF|TRCCPIC|TRCCNN|TRCASPBAL|TRACEROUTE|TFRSECJOB|TFRPASTHR|TFRJOB|TFRGRPJOB|TFRCTL|TFRBCHJOB|TELNET|SUBR|STRWCH|STRVPNCNN|STRTRPMGR|STRTRC|STRTIESSN|STRTFMMGR|STRTCPTELN|STRTCPSVR|STRTCPPTP|STRTCPIFC|STRTCPFTP|STRTCP|STRSYSMGR|STRSVCSSN|STRSST|STRSRVJOB|STRSRVAGT|STRSQL|STRSPTN|STRSPLRCL|STRSEU|STRSDA|STRSCHIDX|STRSBSBRM|STRSBS|STRSAVSYNC|STRS36PRC|STRS36|STRRSESVR|STRRMTWTR|STRRMTSPT|STRRMCRDAR|STRRLU|STRRJEWTR|STRRJESSN|STRRJERDR|STRRJECSL|STRREXPRC|STRRCYBRM|STRQST|STRQSH|STRQRY|STRQMQRY|STRQMPRC|STRQM|STRPRTWTR|STRPRTEML|STRPJ|STRPGMPRF|STRPGMMNU|STRPGMEXP|STRPFU|STRPFRTRC|STRPFRT|STRPFRG|STRPFRCOL|STRPEX|STRPDM|STRPCO|STRPCCMD|STRPASTHR|STROVLU|STROBJCVN|STRNFSSVR|STRNETINS|STRMSF|STRMONOND|STRMOD|STRMNTBRM|STRMGRSRV|STRMGRBRM|STRMGDSYS)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(STRLOGSVR|STRJW|STRJS|STRJRNPF|STRJRNOBJ|STRJRNLIB|STRJRNAP|STRJRN|STRJOBTRC|STRITF|STRISDB|STRIPSIFC|STRIMPSMTP|STRIMPOND|STRIDD|STRHOSTSVR|STRHOSTQRY|STRGRPJS|STRFNTDWN|STRFMA|STREXPBRM|STREPMENV|STREML3270|STREDU|STRDW|STRDSMOND|STRDSKRGZ|STRDPRCAP|STRDPRAPY|STRDNSQRY|STRDIRSHD|STRDIGQRY|STRDFU|STRDBRDR|STRDBMON|STRDBGSVR|STRDBG|STRCRG|STRCPYSCN|STRCODECMD|STRCODE|STRCMTCTL|STRCMNTRC|STRCMNSVR|STRCLUNOD|STRCLNUP|STRCICSUSR|STRCICS|STRCHTSVR|STRCGU|STRCBLDBG|STRCAD|STRBKUBRM|STRBGU|STRBALBRM|STRASPSSN|STRASPBAL|STRASMOND|STRARCBRM|STRAPF|STRAMT|STRAGTSRV|STRAFPU|STRACCWEB2|STRACCWEB|STATFS|SNDUSRMSG|SNDTIEF|SNDTCPSPLF|SNDSRVRQS|SNDSMTPEMM|SNDSMGOBJ|SNDRPY|SNDRPTJS|SNDRJECMD|SNDRCVF|SNDPTFORD|SNDPTF|SNDPRD|SNDPGMMSG|SNDNETSPLF|SNDNETMSG|SNDNETF|SNDMSG|SNDLIC|SNDJRNE|SNDF|SNDDSTQ|SNDDSTJS|SNDDST|SNDBRKMSG|SNDARPRQS|SLTCMD|SIGNOFF|SETVTTBL|SETVTMAP|SETUSRBRM|SETUPGENV|SETTAPCGY|SETSTPJS)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(SETRTVBRM|SETPGMINF|SETOBJACC|SETMSTKEY|SETMEDBRM|SETKBDMAP|SETDNSRVK|SETDLJS|SETDEPJS|SETCSTDTA|SETATNPGM|SETASPGRP|SELECT|SBMRMTCMD|SBMRJEJOB|SBMNWSCMD|SBMNETJOB|SBMJOBJS|SBMJOB|SBMFNCJOB|SBMDBJOB|SBMCRQ|SBMCODEJOB|SBMCMDJS|SAVSYSINF|SAVSYSBRM|SAVSYS|SAVSECDTA|SAVSAVFDTA|SAVSAVFBRM|SAVS36LIBM|SAVS36F|SAVRSTOBJ|SAVRSTLIB|SAVRSTDLO|SAVRSTCHG|SAVRSTCFG|SAVRST|SAVPFRCOL|SAVOBJLBRM|SAVOBJBRM|SAVOBJ|SAVMEDIBRM|SAVLICPGM|SAVLIBBRM|SAVLIB|SAVFLRLBRM|SAVDLOBRM|SAVDLO|SAVCICSGRP|SAVCHGOBJ|SAVCFG|SAVBRM|SAVAPARDTA|SAV|RVKWSOAUT|RVKUSRPMN|RVKPUBAUT|RVKOBJAUT|RVKDPRAUT|RVKACCAUT|RUNSQLSTM|RUNSQL|RUNSMGOBJ|RUNSMGCMD|RUNRNDCCMD|RUNRMTCMD|RUNQRY|RUNLPDA|RUNJVA|RUNDNSUPD|RUNBCKUP|RTVWSCST|RTVUSRPRTI|RTVUSRPRF|RTVTCPINF|RTVTBLSRC|RTVSYSVAL|RTVSYSINF|RTVSWLSRC|RTVSVCSSN|RTVSVCCPYD|RTVSRVAGT|RTVSMGOBJ|RTVS36A|RTVQMQRY|RTVQMFORM|RTVPWRSCDE|RTVPTF|RTVPRD|RTVPDGPRF|RTVOBJD|RTVNETA|RTVMSG|RTVMBRD|RTVLIBD|RTVJRNE|RTVJOBA|RTVIMGCLG|RTVGRPA)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(RTVDTAARA|RTVDSKINF|RTVDOC|RTVDLONAM|RTVDLOAUT|RTVDIRINF|RTVCURDIR|RTVCRG|RTVCLU|RTVCLSRC|RTVCLNUP|RTVCLDSRC|RTVCFGSTS|RTVCFGSRC|RTVBNDSRC|RTVBCKUP|RTVAUTLE|RTVASPSSN|RTVASPCPYD|RTNSUBR|RSTUSRPRF|RSTSYSINF|RSTS36LIBM|RSTS36F|RSTPFRCOL|RSTOBJBRM|RSTOBJ|RSTLICPGM|RSTLIBBRM|RSTLIB|RSTDLOBRM|RSTDLO|RSTDFROBJ|RSTCFG|RSTBRM|RSTAUTBRM|RSTAUT|RSTAPARDTA|RST|RSMRTVBRM|RSMNWIRCY|RSMLINRCY|RSMDEVRCY|RSMCTLRCY|RSMBKP|RRTJOB|RPLDOC|RPCGEN|RPCBIND|ROLLBACK|RNMTCPHTE|RNMOBJ|RNMNCK|RNMM|RNMLANADPI|RNMJOBJS|RNMDSTL|RNMDLO|RNMDIRE|RNM|RNDC|RMVWSE|RMVWLCPRDE|RMVWLCGRP|RMVUSRSNMP|RMVUSRSMTP|RMVTRCFTR|RMVTRC|RMVTCPTBL|RMVTCPSVR|RMVTCPRTE|RMVTCPRSI|RMVTCPPTP|RMVTCPPORT|RMVTCPIFC|RMVTCPHTE|RMVTAPCTG|RMVSVRAUTE|RMVSVCCPYD|RMVSRVTBLE|RMVSOCE|RMVSMTPLE|RMVSCHIDXE|RMVRTGE|RMVRPYLE|RMVRPTOND|RMVRMTPTF|RMVRMTJRN|RMVRMTDFN|RMVRJEWTRE|RMVRJERDRE|RMVRJECMNE|RMVRIPIGN|RMVRIPIFC|RMVRIPFLT|RMVRIPACP|RMVREXBUF|RMVRDBDIRE|RMVPTF|RMVPJE)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(RMVPGM|RMVPFTRG|RMVPFCST|RMVPEXFTR|RMVPEXDFN|RMVPCLTBLE|RMVOSPFRNG|RMVOSPFLNK|RMVOSPFIFC|RMVOSPFARA|RMVOPTSVR|RMVOPTCTG|RMVNWSSTGL|RMVNODLE|RMVNETTBLE|RMVNETJOBE|RMVNCK|RMVMSGD|RMVMSG|RMVMFS|RMVMEDIBRM|RMVMEDBRM|RMVM|RMVLOGEJS|RMVLOGEBRM|RMVLNK|RMVLICKEY|RMVLIBLE|RMVLANADPT|RMVLANADPI|RMVKRBKTE|RMVJWDFN|RMVJRNCHG|RMVJOBSCDE|RMVJOBQE|RMVJOBJS|RMVIPSRTE|RMVIPSLOC|RMVIPSIFC|RMVIMGCLGE|RMVICFDEVE|RMVHYSSTGD|RMVHSTJS|RMVHACFGD|RMVFTRSLTE|RMVFTRACNE|RMVFNTTBLE|RMVFCTE|RMVEXITPGM|RMVEWCPTCE|RMVEWCBCDE|RMVENVVAR|RMVEMLCFGE|RMVDWDFN|RMVDSTSYSN|RMVDSTRTE|RMVDSTQ|RMVDSTLE|RMVDSTCLGE|RMVDPRSUBM|RMVDPRSUB|RMVDPRREG|RMVDLOAUT|RMVDIRSHD|RMVDIRINST|RMVDIRE|RMVDIR|RMVDFRID|RMVDEVDMNE|RMVCRQDA|RMVCRGNODE|RMVCRGDEVE|RMVCOMSNMP|RMVCMNE|RMVCLUNODE|RMVCLUMON|RMVCKMKSFE|RMVCICSTST|RMVCICSTCT|RMVCICSTCS|RMVCICSSIT|RMVCICSPPT|RMVCICSPCT|RMVCICSJCT|RMVCICSGLT|RMVCICSFCT|RMVCICSDCT|RMVCICSCVT|RMVCFGLE|RMVCCSCLT|RMVCADNODE|RMVCADMRE|RMVBNDDIRE|RMVBKP|RMVAUTLE|RMVASPCPYD|RMVALRD|RMVAJE|RMVACCWEB2|RMVACCWEB)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(RMVACC|RMDIR|RLSWTR|RLSSPLF|RLSSBMCRQA|RLSRMTPHS|RLSRDR|RLSPTF|RLSOUTQ|RLSJOBSCDE|RLSJOBQ|RLSJOBJS|RLSJOB|RLSIFSLCK|RLSDSTQ|RLSCMNDEV|RGZPFM|RGZDLO|RETURN|REN|READFILE|RD|RCVTIEF|RCVNETF|RCVMSG|RCVJRNE|RCVF|RCVDST|RCLTMPSTG|RCLSTG|RCLSPLSTG|RCLRSC|RCLOPT|RCLOBJOWN|RCLLNK|RCLLIB|RCLDLO|RCLDDMCNV|RCLDBXREF|RCLAPPN|RCLACTGRP|QUAL|QSH|QRYTIEF|QRYPRBSTS|QRYDST|QRYDOCLIB|PWRDWNSYS|PRTUSRPRF|PRTUSROBJ|PRTTXTOND|PRTTRGPGM|PRTTRCRPT|PRTTRC|PRTTNSRPT|PRTTCPPTP|PRTSYSSECA|PRTSYSRPT|PRTSYSINF|PRTSWL|PRTSQLINF|PRTSCDJS|PRTSBSDAUT|PRTRSCRPT|PRTRPTOND|PRTRPTBRM|PRTQAUT|PRTPVTAUT|PRTPUBAUT|PRTPRFINT|PRTPOLRPT|PRTPFDDTA|PRTPEXRPT|PRTOPCJOB|PRTOPCACT|PRTMOVBRM|PRTMEDBRM|PRTLCKRPT|PRTLBLBRM|PRTJVMJOB|PRTJOBTRC|PRTJOBRPT|PRTJOBDAUT|PRTIPSCFG|PRTINTDTA|PRTERRLOG|PRTDSKINF|PRTDOC|PRTDIRINF|PRTDEVADR|PRTCPTRPT|PRTCMNTRC|PRTCMNSEC|PRTCMDUSG|PRTCICSTRC|PRTCADMRE|PRTAFPDTA|PRTADPOBJ|PRTACTRPT|POSDBF)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(PMTCTL|PKGPRDOPT|PKGPRDDST|PKGINSOBJ|PING|PGM|PARM|OVRTAPF|OVRSAVF|OVRPRTF|OVRMSGF|OVRICFF|OVRICFDEVE|OVRDSPF|OVRDBF|OTHERWISE|ORDSPTPTF|OPNQRYF|OPNDBF|NSUPDATE|NSLOOKUP|NETSTAT|MRGTCPHT|MRGSRC|MRGSPLFOND|MRGMSGF|MRGMSGCLG|MRGFORMD|MOVSPLFBRM|MOVOBJ|MOVMEDBRM|MOVE|MOVDOC|MOV|MOUNT|MONSWABRM|MONMSG|MKDIR|MGRMEDRDAR|MGRBRM|MD|LPR|LODRUN|LODQSTDB|LODPTF|LODOPTFMW|LODIPFTR|LODIMGCLGE|LODIMGCLG|LNKDTADFN|LEAVE|LDIF2DB|JAVA|ITERATE|INZTAP|INZSYS|INZPFM|INZPCS|INZOPT|INZNWSCFG|INZMEDBRM|INZDSTQ|INZDPRCAP|INZDLFM|INZCICS|INZBRM|INSWNTSVR|INSRMTPRD|INSPTF|INSINTSVR|INSCICSGRP|INCLUDE|IF|HOST|HLDWTR|HLDSPLF|HLDSBMCRQA|HLDRDR|HLDPTF|HLDOUTQ|HLDJOBSCDE|HLDJOBQ|HLDJOBJS|HLDJOB|HLDDSTQ|HLDCMNDEV|GRTWSOAUT|GRTUSRPMN|GRTUSRAUT|GRTOBJAUT|GRTDPRAUT|GRTACCAUT|GOTO|GO|GENLICKEY|GENJVMDMP|GENDNSKEY|GENDNSDSRR|GENCSRC|GENCMDDOC)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(GENCKMKSFE|GENCAT|FTP|FNDSTRPDM2|FNDSTRPDM|FNDSTRAMT2|FNDSTRAMT|FNDKEYOND|FMTDTA|FILDOC|EXTPGMINF|EXTMEDIBRM|EXPORTFS|EXPORT|ERASE|EOF|ENDWTR|ENDWCH|ENDVPNCNN|ENDTRPMGR|ENDTRC|ENDTIESSN|ENDTFMMGR|ENDTCPSVR|ENDTCPPTP|ENDTCPIFC|ENDTCPCNN|ENDTCPABN|ENDTCP|ENDSYSMGR|ENDSYS|ENDSVCSSN|ENDSUBR|ENDSRVJOB|ENDSRVAGT|ENDSELECT|ENDSBS|ENDSBMCRQA|ENDS36|ENDRQS|ENDRPCBIND|ENDRMTSPT|ENDRJESSN|ENDRDR|ENDRCV|ENDPRTEML|ENDPJ|ENDPGMPRF|ENDPGMEXP|ENDPGM|ENDPFRTRC|ENDPFRCOL|ENDPEX|ENDPASTHR|ENDNWIRCY|ENDNFSSVR|ENDMSF|ENDMONOND|ENDMOD|ENDMGRSRV|ENDMGDSYS|ENDLOGSVR|ENDLINRCY|ENDJW|ENDJS|ENDJRNPF|ENDJRNOBJ|ENDJRNLIB|ENDJRNAP|ENDJRN|ENDJOBTRC|ENDJOBABN|ENDJOB|ENDISDB|ENDIPSIFC|ENDINP|ENDHOSTSVR|ENDGRPJOB|ENDFNTDWN|ENDEPMENV|ENDDW|ENDDSKRGZ|ENDDPRCAP|ENDDPRAPY|ENDDO|ENDDIRSHD|ENDDEVRCY|ENDDBMON|ENDDBGSVR|ENDDBG|ENDCTLRCY|ENDCRG|ENDCPYSCN|ENDCMTCTL|ENDCMNTRC|ENDCMNSVR|ENDCLUNOD|ENDCLNUP|ENDCICSUSR|ENDCICS)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(ENDCHTSVR|ENDCBLDBG|ENDCAD|ENDBCHJOB|ENDASPSSN|ENDASPBAL|ENDAGTSRV|ENDACCWEB2|ENDACCWEB|EMLPRTKEY|ELSE|ELEM|EJTEMLOUT|EDTWSOAUT|EDTS36SRCA|EDTS36PRCA|EDTS36PGMA|EDTRCYAP|EDTRBDAP|EDTQST|EDTOBJAUT|EDTLIBL|EDTIGCDCT|EDTF|EDTDOC|EDTDLOAUT|EDTDLFA|EDTCPCST|EDTCLU|EDTBCKUPL|EDTAUTL|DUPTAP|DUPOPT|DUPMEDBRM|DSPWSUSR|DSPWLCGRP|DSPVTMAP|DSPUSRPRTI|DSPUSRPRF|DSPUSRPMN|DSPUDFS|DSPTRCDTA|DSPTRC|DSPTM|DSPTAPSTS|DSPTAPCTG|DSPTAPCGY|DSPTAP|DSPSYSVAL|DSPSYSSTS|DSPSVRAUTE|DSPSVCSSN|DSPSVCCPYD|DSPSSTUSR|DSPSRVSTS|DSPSRVPVDA|DSPSRVPGM|DSPSRVAGT|DSPSRVA|DSPSPLF|DSPSOCSTS|DSPSFWRSC|DSPSECAUD|DSPSECA|DSPSBSD|DSPSBMCRQM|DSPSBMCRQA|DSPSBMCRQ|DSPSAVF|DSPS36|DSPRMTDFN|DSPRJECFG|DSPRIP|DSPRDBDIRE|DSPRCYAP|DSPRCVCMD|DSPRCDLCK|DSPPWRSCD|DSPPTFCVR|DSPPTFAPYI|DSPPTF|DSPPSFCFG|DSPPRB|DSPPGMVAR|DSPPGMREF|DSPPGMADP|DSPPGM|DSPPFRGPH|DSPPFRDTA|DSPPFM|DSPPDGPRF|DSPPDFMAPE|DSPOVR|DSPOSPF|DSPOPTSVR|DSPOPTLCK|DSPOPT|DSPOPCLNK|DSPOBJD|DSPOBJAUT)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(DSPNWSUSRA|DSPNWSSTG|DSPNWSD|DSPNWSCFG|DSPNWSA|DSPNWID|DSPNTBD|DSPNODGRP|DSPNETA|DSPNCK|DSPMSGD|DSPMSG|DSPMODSTS|DSPMODSRC|DSPMODD|DSPMOD|DSPMNUA|DSPMGDSYSA|DSPMFSINF|DSPLOGJS|DSPLOGBRM|DSPLOG|DSPLNK|DSPLIND|DSPLICKEY|DSPLIBL|DSPLIBD|DSPLIB|DSPLANSTS|DSPLANMLB|DSPLANADPP|DSPKRBKTE|DSPKRBCCF|DSPKBDMAP|DSPJVMJOB|DSPJRNRCVA|DSPJRN|DSPJOBTBL|DSPJOBLOG|DSPJOBJS|DSPJOBD|DSPJOB|DSPIPXD|DSPIPLA|DSPIGCDCT|DSPHYSSTS|DSPHYSSTGD|DSPHSTJS|DSPHSTGPH|DSPHLPDOC|DSPHFS|DSPHDWRSC|DSPHACFGD|DSPGDF|DSPFNTTBL|DSPFNTRSCA|DSPFMWSTS|DSPFLR|DSPFFD|DSPFD|DSPFCNUSG|DSPF|DSPEXPSCD|DSPEWLM|DSPEWCPTCE|DSPEWCM|DSPEWCBCDE|DSPEDTD|DSPDUPBRM|DSPDTADCT|DSPDTAARA|DSPDTA|DSPDSTSRV|DSPDSTLOG|DSPDSTL|DSPDSTCLGE|DSPDOC|DSPDLONAM|DSPDLOAUT|DSPDLOAUD|DSPDLFA|DSPDIRE|DSPDEVD|DSPDDMF|DSPDBR|DSPDBGWCH|DSPDBG|DSPCURDIR|DSPCTLD|DSPCSI|DSPCRGINF|DSPCPCST|DSPCOSD|DSPCNNSTS|DSPCNNL|DSPCMD|DSPCLUINF|DSPCLS|DSPCKMKSFE|DSPCICSTST)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(DSPCICSTCT|DSPCICSTCS|DSPCICSSTS|DSPCICSSIT|DSPCICSPPT|DSPCICSPCT|DSPCICSJCT|DSPCICSGLT|DSPCICSFCT|DSPCICSDCT|DSPCICSCVT|DSPCHT|DSPCFGL|DSPCDEFNT|DSPCCSA|DSPBNDDIR|DSPBKUBRM|DSPBKP|DSPBCKUPL|DSPBCKUP|DSPBCKSTS|DSPAUTUSR|DSPAUTLOBJ|DSPAUTLDLO|DSPAUTL|DSPAUTHLR|DSPAUT|DSPAUDJRNE|DSPASPSTS|DSPASPSSN|DSPASPCPYD|DSPASPBRM|DSPAPPNINF|DSPACTSCD|DSPACTPRFL|DSPACTPJ|DSPACCAUT|DSPACC|DSCJOB|DOWHILE|DOUNTIL|DOFOR|DO|DMPUSRTRC|DMPUSRPRF|DMPTRC|DMPTAP|DMPSYSOBJ|DMPOBJ|DMPMEMINF|DMPJOBINT|DMPJOB|DMPDNSJRNF|DMPDLO|DMPCMNTRC|DMPCLUTRC|DMPCLPGM|DMPCICS|DMPBRM|DMP|DLYSRVAGTP|DLYJOB|DLTWSCST|DLTWNTSVR|DLTVLDL|DLTUSRTRC|DLTUSRSPC|DLTUSRQ|DLTUSRPRF|DLTUSRIDX|DLTUDFS|DLTTRC|DLTTIMZON|DLTTBL|DLTTAPCGY|DLTSSND|DLTSRVPGM|DLTSRVCFG|DLTSQLPKG|DLTSPLF|DLTSPADCT|DLTSMGOBJ|DLTSCHIDX|DLTSBSD|DLTSBMCRQ|DLTRMTPTF|DLTRJECFG|DLTQSTDB|DLTQST|DLTQRY|DLTQMQRY|DLTQMFORM|DLTPTF|DLTPSFCFG|DLTPRDLOD|DLTPRDDFN|DLTPRB|DLTPNLGRP|DLTPGM|DLTPFRCOL)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(DLTPEXDTA|DLTPDG|DLTPDFMAP|DLTPAGSEG|DLTPAGDFN|DLTOVRDEVE|DLTOVR|DLTOVL|DLTOUTQ|DLTOBJ|DLTNWSSTG|DLTNWSD|DLTNWSCFG|DLTNWID|DLTNTBD|DLTNODL|DLTNODGRP|DLTNETF|DLTMSGQ|DLTMSGF|DLTMODD|DLTMOD|DLTMNU|DLTMGTCOL|DLTMEDDFN|DLTLOCALE|DLTLNXSVR|DLTLIND|DLTLICPGM|DLTLIB|DLTKRBCCF|DLTJRNRCV|DLTJRN|DLTJOBQ|DLTJOBD|DLTIPXD|DLTINTSVR|DLTIMGCLG|DLTIGCTBL|DLTIGCSRT|DLTIGCDCT|DLTHSTDTA|DLTGSS|DLTGPHPKG|DLTGPHFMT|DLTFTR|DLTFORMDF|DLTFNTTBL|DLTFNTRSC|DLTFCT|DLTFCNARA|DLTF|DLTEXPSPLF|DLTEDTD|DLTDTAQ|DLTDTADCT|DLTDTAARA|DLTDSTL|DLTDST|DLTDOCL|DLTDLO|DLTDFUPGM|DLTDEVMLB|DLTDEVD|DLTCTLD|DLTCSI|DLTCRQD|DLTCRGCLU|DLTCRG|DLTCOSD|DLTCNNL|DLTCMNTRC|DLTCMD|DLTCLU|DLTCLS|DLTCLD|DLTCICSGRP|DLTCHTFMT|DLTCFGL|DLTCAD|DLTBNDDIR|DLTAUTL|DLTAUTHLR|DLTAPARDTA|DLTALRTBL|DLTALR|DLCOBJ|DIG|DEP|DEL|DCPOBJ|DCLPRCOPT|DCLF|DCL|DB2LDIF|DATA|CVTUSRCERT|CVTTOFLR|CVTTCPCL|CVTRPGSRC)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(CVTRPCSRC|CVTRJEDTA|CVTPFRTHD|CVTPFRCOL|CVTPFMPAGS|CVTPCDPAGS|CVTPAGSPFM|CVTOVLPFM|CVTOPTBKU|CVTNAMSMTP|CVTIPSLOC|CVTIPSIFC|CVTEDU|CVTDLSNAM|CVTDIR|CVTDAT|CVTCLSRC|CRTWSCST|CRTVLDL|CRTUSRPRF|CRTUDFS|CRTTIMZON|CRTTBL|CRTTAPF|CRTTAPCGY|CRTSSND|CRTSRVPGM|CRTSRVCFG|CRTSRCPF|CRTSQLRPGI|CRTSQLRPG|CRTSQLPLI|CRTSQLPKG|CRTSQLCPPI|CRTSQLCI|CRTSQLCBLI|CRTSQLCBL|CRTSPADCT|CRTSCHIDX|CRTSBSD|CRTSAVF|CRTS36RPT|CRTS36RPGR|CRTS36RPG|CRTS36MSGF|CRTS36MNU|CRTS36DSPF|CRTS36CBL|CRTRPTPGM|CRTRPGPGM|CRTRPGMOD|CRTRNDCCFG|CRTRJECMNF|CRTRJECFG|CRTRJEBSCF|CRTQSTLOD|CRTQSTDB|CRTQMQRY|CRTQMFORM|CRTPTFPKG|CRTPTF|CRTPSFCFG|CRTPRXCMD|CRTPRTF|CRTPRDLOD|CRTPRDDFN|CRTPNLGRP|CRTPGM|CRTPFRSUM|CRTPFRDTA|CRTPF|CRTPEXDTA|CRTPDG|CRTPDFMAP|CRTPAGSEG|CRTPAGDFN|CRTOVL|CRTOUTQ|CRTNWSSTG|CRTNWSD|CRTNWSCFG|CRTNWIFR|CRTNTBD|CRTNODL|CRTNODGRP|CRTMSGQ|CRTMSGFMNU|CRTMSGF|CRTMODD|CRTMNU|CRTLOCALE|CRTLINX25|CRTLINWLS|CRTLINTRN|CRTLINTDLC|CRTLINSDLC|CRTLINPPP|CRTLINFR|CRTLINFAX|CRTLINETH)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(CRTLINDDI|CRTLINBSC|CRTLINASC|CRTLIB|CRTLF|CRTJRNRCV|CRTJRN|CRTJOBQ|CRTJOBD|CRTINSTOND|CRTIMGCLG|CRTIGCDCT|CRTICFF|CRTHSTDTA|CRTGSS|CRTGPHPKG|CRTGPHFMT|CRTGDF|CRTFTR|CRTFORMDF|CRTFNTTBL|CRTFNTRSC|CRTFMWPRD|CRTFLR|CRTFCT|CRTFCNARA|CRTEDTD|CRTDUPOBJ|CRTDTAQ|CRTDTADCT|CRTDTAARA|CRTDSTL|CRTDSPF|CRTDPRTBL|CRTDOC|CRTDIR|CRTDFUDSPF|CRTDEVTAP|CRTDEVSNUF|CRTDEVSNPT|CRTDEVRTL|CRTDEVPRT|CRTDEVOPT|CRTDEVNWSH|CRTDEVNET|CRTDEVMLB|CRTDEVINTR|CRTDEVHOST|CRTDEVFNC|CRTDEVDSP|CRTDEVCRP|CRTDEVBSC|CRTDEVASP|CRTDEVASC|CRTDEVAPPC|CRTDDNSCFG|CRTDDMF|CRTCTLVWS|CRTCTLTAP|CRTCTLRWS|CRTCTLRTL|CRTCTLNET|CRTCTLLWS|CRTCTLHOST|CRTCTLFNC|CRTCTLBSC|CRTCTLASC|CRTCTLAPPC|CRTCSI|CRTCRQD|CRTCRG|CRTCPPMOD|CRTCOSD|CRTCMOD|CRTCMD|CRTCLU|CRTCLS|CRTCLPGM|CRTCLMOD|CRTCLD|CRTCKMKSF|CRTCICSMAP|CRTCICSGRP|CRTCICSCBL|CRTCICSC|CRTCFGL|CRTCBLPGM|CRTCBLMOD|CRTCAD|CRTBNDRPG|CRTBNDDIR|CRTBNDCPP|CRTBNDCL|CRTBNDCBL|CRTBNDC|CRTAUTL|CRTAUTHLR|CRTALRTBL|CRTAFPDTA|CPYVPNCFGF)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(CPYTOTAP|CPYTOSTMF|CPYTOPCFF|CPYTOPCD|CPYTOMSD|CPYTOLDIF|CPYTOIMPF|CPYTODIR|CPYTOARCF|CPYTCPHT|CPYSRCF|CPYSPLF|CPYPTFSAVF|CPYPTFGRP|CPYPTFCVR|CPYPTF|CPYPFRCOL|CPYOPT|CPYMEDIBRM|CPYLIB|CPYJOBJS|CPYIGCTBL|CPYIGCSRT|CPYGPHPKG|CPYGPHFMT|CPYFRMTAP|CPYFRMSTMF|CPYFRMQRYF|CPYFRMPCFF|CPYFRMPCD|CPYFRMMSD|CPYFRMLDIF|CPYFRMIMPF|CPYFRMDIR|CPYFRMARCF|CPYFCNARA|CPYF|CPYDSTRPSO|CPYDOC|CPYCFGL|CPYAUDJRNE|CPY|CPROBJ|COPYRIGHT|COPY|COMMIT|CNLRJEWTR|CNLRJERDR|CMPPFM|CMPJRNIMG|CMD|CLRTRCDTA|CLRSVRSEC|CLRSAVF|CLRPOOL|CLRPFM|CLROUTQ|CLRMSTKEY|CLRMSGQ|CLRLIB|CLRJOBQ|CLOSE|CLOF|CHKTAP|CHKRCDLCK|CHKPWD|CHKPRDOPT|CHKPFRCOL|CHKOUT|CHKOPTVOL|CHKOBJITG|CHKOBJ|CHKMSTKVV|CHKIN|CHKIGCTBL|CHKEXPBRM|CHKDNSZNE|CHKDNSCFG|CHKDLO|CHKCMNTRC|CHKASPBAL|CHGWTR|CHGWSE|CHGWLCGRP|CHGVTMAP|CHGVAR|CHGUSRTRC|CHGUSRSNMP|CHGUSRSMTP|CHGUSRPRTI|CHGUSRPRF|CHGUSRAUD|CHGTIMZON|CHGTFTPA|CHGTELNA|CHGTCPSVR|CHGTCPRTE|CHGTCPIFC|CHGTCPHTE|CHGTCPDMN)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(CHGTCPA|CHGTAPF|CHGTAPCTG|CHGSYSVAL|CHGSYSLIBL|CHGSYSJOB|CHGSYSDIRA|CHGSVRAUTE|CHGSVCSSN|CHGSVCCPYD|CHGSSNMAX|CHGSSND|CHGSRVPVDA|CHGSRVPGM|CHGSRVCFG|CHGSRVAGTA|CHGSRVAGT|CHGSRVA|CHGSRCPF|CHGSPLFA|CHGSNMPA|CHGSMTPA|CHGSHRPOOL|CHGSECAUD|CHGSECA|CHGSCHIDX|CHGSCDBRM|CHGSBSD|CHGSAVF|CHGS36SRCA|CHGS36PRCA|CHGS36PGMA|CHGS36MSGL|CHGS36A|CHGS36|CHGRXCA|CHGRWSPWD|CHGRTGE|CHGRTDA|CHGRSCCRQA|CHGRPYLE|CHGRMTJRN|CHGRMTDFN|CHGRJEWTRE|CHGRJERDRE|CHGRJECMNE|CHGRIPIFC|CHGRIPFLT|CHGRIPA|CHGRDBDIRE|CHGRCYAP|CHGQSTDB|CHGQRYA|CHGPWRSCDE|CHGPWRSCD|CHGPWD|CHGPTR|CHGPTFCRQA|CHGPSFCFG|CHGPRXCMD|CHGPRTF|CHGPRF|CHGPRDOBJD|CHGPRDCRQA|CHGPRBSLTE|CHGPRBACNE|CHGPRB|CHGPOPA|CHGPLDOND|CHGPJE|CHGPJ|CHGPGRJS|CHGPGP|CHGPGMVAR|CHGPGM|CHGPFTRG|CHGPFM|CHGPFCST|CHGPF|CHGPEXDFN|CHGPDMDFT|CHGPDGPRF|CHGPCOPRF|CHGOWN|CHGOUTQ|CHGOSPFRNG|CHGOSPFLNK|CHGOSPFIFC|CHGOSPFARA|CHGOSPFA|CHGOPTVOL|CHGOPTA|CHGOBJPGP|CHGOBJOWN|CHGOBJD|CHGOBJCRQA|CHGOBJAUD|CHGNWSUSRA|CHGNWSSTG|CHGNWSD)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(CHGNWSCFG|CHGNWSA|CHGNWIFR|CHGNTPA|CHGNTBD|CHGNODGRPA|CHGNFYJS|CHGNFSEXP|CHGNETJOBE|CHGNETA|CHGNCK|CHGMSGQ|CHGMSGF|CHGMSGD|CHGMODD|CHGMOD|CHGMNU|CHGMGTCOL|CHGMGRSRVA|CHGMGDSYSA|CHGMEDBRM|CHGLPDA|CHGLNKLBRM|CHGLINX25|CHGLINWLS|CHGLINTRN|CHGLINTDLC|CHGLINSDLC|CHGLINPPP|CHGLINFR|CHGLINFAX|CHGLINETH|CHGLINDDI|CHGLINBSC|CHGLINASC|CHGLICINF|CHGLICCRQA|CHGLIBL|CHGLIB|CHGLFM|CHGLF|CHGLANADPI|CHGKRBPWD|CHGKBDMAP|CHGJRNOBJ|CHGJRNA|CHGJRN|CHGJOBTYP|CHGJOBSCDE|CHGJOBQE|CHGJOBQ|CHGJOBMLBA|CHGJOBJS|CHGJOBD|CHGJOB|CHGIPSTOS|CHGIPSLOC|CHGIPSIFC|CHGIPLA|CHGIMGCLGE|CHGIMGCLG|CHGICFF|CHGICFDEVE|CHGHYSSTS|CHGHYSSTGD|CHGHTTPA|CHGHLLPTR|CHGHACFGD|CHGGRPA|CHGGPHPKG|CHGGPHFMT|CHGFTR|CHGFTPA|CHGFNTTBLE|CHGFNTRSC|CHGFCTE|CHGFCT|CHGFCNUSG|CHGFCNARA|CHGEXPSCDE|CHGEWLM|CHGEWCPTCE|CHGEWCM|CHGEWCBCDE|CHGENVVAR|CHGEMLCFGE|CHGDTAJS|CHGDTAARA|CHGDTA|CHGDSTRTE|CHGDSTQ|CHGDSTPWD|CHGDSTL|CHGDSTD|CHGDSTA|CHGDSPF|CHGDOCD|CHGDNSA|CHGDLOPGP|CHGDLOOWN)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(CHGDLOAUT|CHGDLOAUD|CHGDLJS|CHGDIRSVRA|CHGDIRSHD|CHGDIRE|CHGDHCPSVR|CHGDHCPA|CHGDEVTAP|CHGDEVSNUF|CHGDEVSNPT|CHGDEVRTL|CHGDEVPRT|CHGDEVOPT|CHGDEVNWSH|CHGDEVNET|CHGDEVMLB|CHGDEVINTR|CHGDEVHOST|CHGDEVFNC|CHGDEVDSP|CHGDEVCRP|CHGDEVBSC|CHGDEVASP|CHGDEVASC|CHGDEVAPPC|CHGDDMTCPA|CHGDDMF|CHGDBG|CHGCURLIB|CHGCURDIR|CHGCTLVWS|CHGCTLTAP|CHGCTLRWS|CHGCTLRTL|CHGCTLNET|CHGCTLLWS|CHGCTLHOST|CHGCTLFNC|CHGCTLBSC|CHGCTLASC|CHGCTLAPPC|CHGCSI|CHGCRQD|CHGCRQA|CHGCRGPRI|CHGCRGDEVE|CHGCRG|CHGCOSD|CHGCOMSNMP|CHGCNTINF|CHGCMNE|CHGCMDDFT|CHGCMDCRQA|CHGCMD|CHGCLUVER|CHGCLURCY|CHGCLUNODE|CHGCLUMON|CHGCLU|CHGCLS|CHGCLNUP|CHGCICSTST|CHGCICSTCT|CHGCICSTCS|CHGCICSSTS|CHGCICSSIT|CHGCICSPPT|CHGCICSPCT|CHGCICSJCT|CHGCICSGRP|CHGCICSFCT|CHGCICSDCT|CHGCICSCVT|CHGCFGLE|CHGCFGL|CHGCDEFNT|CHGCCSA|CHGCAD|CHGBPA|CHGBCKUP|CHGAUTLE|CHGAUTJS|CHGAUT|CHGAUD|CHGATR|CHGASPSSN|CHGASPCPYD|CHGASPACT|CHGASPA|CHGAMTDFT|CHGALRTBL|CHGALRSLTE|CHGALRD|CHGALRACNE|CHGAJE|CHGACTSCDE|CHGACTPRFL|CHGACGCDE|CHDIR)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(CFGTCPTELN|CFGTCPSNMP|CFGTCPSMTP|CFGTCPRXC|CFGTCPRTD|CFGTCPPTP|CFGTCPLPD|CFGTCPHTTP|CFGTCPFTP|CFGTCPBP|CFGTCPAPP|CFGTCP|CFGSYSSEC|CFGRPDS|CFGPMAGT|CFGPM400|CFGPFRCOL|CFGIPS|CFGGEOMIR|CFGDSTSRV|CFGDEVMLB|CFGDEVASP|CFGACCWEB2|CFGACCWEB|CD|CALLSUBR|CALLPRC|CALL|BCHJOB|ASKQST|ARPING|AREXEC|APYRMTPTF|APYPTF|APYJRNCHGX|APYJRNCHG|APING|ANZUSROBJ|ANZQRY|ANZPRFACT|ANZPRB|ANZPGM|ANZPFRDTA|ANZOBJCVN|ANZLIBBRM|ANZDPRJRN|ANZDFTPWD|ANZDBFKEY|ANZDBF|ANZCMDPFR|ANSQST|ANSLIN|ALCOBJ|ADDWSE|ADDWLCPRDE|ADDWLCGRP|ADDUSRSNMP|ADDUSRSMTP|ADDTRCFTR|ADDTRC|ADDTCPSVR|ADDTCPRTE|ADDTCPRSI|ADDTCPPTP|ADDTCPPORT|ADDTCPIFC|ADDTCPHTE|ADDTAPCTG|ADDSVRAUTE|ADDSVCCPYD|ADDSRVTBLE|ADDSOCE|ADDSMTPLE|ADDSCHIDXE|ADDRTGE|ADDRSCCRQA|ADDRPYLE|ADDRPTOND|ADDRMTJRN|ADDRMTDFN|ADDRJEWTRE|ADDRJERDRE|ADDRJECMNE|ADDRIPIGN|ADDRIPIFC|ADDRIPFLT|ADDRIPACP|ADDREXBUF|ADDRDBDIRE|ADDPTFCRQA|ADDPRDLICI|ADDPRDCRQA|ADDPRBSLTE|ADDPRBACNE|ADDPJE|ADDPGM|ADDPFXDLFM|ADDPFVLM|ADDPFTRG|ADDPFM)\\b"},{"name":"keyword.other.cl","match":"(?i)\\b(ADDPFCST|ADDPEXFTR|ADDPEXDFN|ADDPCLTBLE|ADDOSPFRNG|ADDOSPFLNK|ADDOSPFIFC|ADDOSPFARA|ADDOPTSVR|ADDOPTCTG|ADDOBJCRQA|ADDNWSSTGL|ADDNODLE|ADDNETTBLE|ADDNETJOBE|ADDNCK|ADDMSTPART|ADDMSGD|ADDMLMBRM|ADDMFS|ADDMEDIBRM|ADDMEDBRM|ADDLNK|ADDLICKEY|ADDLICCRQA|ADDLIBLE|ADDLFM|ADDLANADPI|ADDKRBTKT|ADDKRBKTE|ADDJWDFN|ADDJOBSCDE|ADDJOBQE|ADDJOBJS|ADDIPSRTE|ADDIPSLOC|ADDIPSIFC|ADDIMGCLGE|ADDICFDEVE|ADDHYSSTGD|ADDHDBDLFM|ADDHACFGD|ADDFNTTBLE|ADDFCTE|ADDEXITPGM|ADDEWLM|ADDEWCPTCE|ADDEWCM|ADDEWCBCDE|ADDENVVAR|ADDEMLCFGE|ADDDWDFN|ADDDTADFN|ADDDSTSYSN|ADDDSTRTE|ADDDSTQ|ADDDSTLE|ADDDSTCLGE|ADDDPRSUBM|ADDDPRSUB|ADDDPRREG|ADDDNSSIG|ADDDLOAUT|ADDDIRSHD|ADDDIRINST|ADDDIRE|ADDDEVDMNE|ADDCRQA|ADDCRGNODE|ADDCRGDEVE|ADDCOMSNMP|ADDCMNE|ADDCMDCRQA|ADDCLUNODE|ADDCLUMON|ADDCKMKSFE|ADDCICSTST|ADDCICSTCT|ADDCICSTCS|ADDCICSSIT|ADDCICSPPT|ADDCICSPCT|ADDCICSJCT|ADDCICSGLT|ADDCICSFCT|ADDCICSDCT|ADDCICSCVT|ADDCFGLE|ADDCCSCLT|ADDCADNODE|ADDCADMRE|ADDBNDDIRE|ADDBKP|ADDAUTLE|ADDASPCPYD|ADDALRSLTE|ADDALRD|ADDALRACNE|ADDAJE|ADDACC)\\b"},{"name":"keyword.other.cl","match":"(?i)[*](CAT|TCAT|BCAT|AND|OR|NOT|EQ|GT|LT|GE|LE|NE|NG|NL)"},{"name":"keyword.other.cl","match":"(([\\|](\\||\u003e|\u003c))|\\+|\\-|\\*|\\/|\u003e=|\u003c=|=|\u003e|\u003c|:)"}]},"strings":{"patterns":[{"name":"string.other.cl.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.cl","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.cl","match":"\\\\."}]}]},"support":{"patterns":[{"name":"support.function.cl","match":"[a-zA-Z_][a-zA-Z0-9_]*(?=\\()"}]},"variables":{"patterns":[{"name":"variable.parameter.cl","match":"[\u0026][a-zA-Z_][a-zA-Z0-9_]*"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"clarity","scopeName":"source.clar","patterns":[{"include":"#comment"},{"include":"#datatype"},{"include":"#keyword"},{"include":"#number"},{"include":"#string"},{"include":"#define"},{"include":"#lang-func"},{"include":"#tuple-key"}],"repository":{"args":{"begin":"(?x)\n (?\u003c=^|[(]) \\s*\n ([a-z][a-zA-Z0-9_-]+) \\s*\n","end":"\\)","patterns":[{"include":"#datatype"},{"include":"#tuple-key"},{"include":"#number"}],"beginCaptures":{"0":{"name":"variable.parameter.clarity"}},"endCaptures":{"0":{"name":"punctuation.section.end.clarity"}}},"comment":{"name":"comment.line.semicolon.clarity","match":"(?x) (?\u003c=^|[()\\[\\]{}\",'`;\\s]) (;) .* $"},"datatype":{"name":"storage.type.clarity","match":"(?x)\n(?\u003c=^|[\\s:(){},])\n(tuple|list|response|optional|buff|string-ascii|string-utf8|principal|bool|int|uint)\n(?=[\\s(){},])"},"define":{"patterns":[{"include":"#define-func"},{"include":"#define-var"},{"include":"#set-func"}]},"define-func":{"begin":"(?x)\n (?\u003c=^|[(]) \\s*\n (define-(?:public|private|read-only)) \\s+\n (\\() \\s*\n ([a-z][a-zA-Z0-9_-]+) \\s*\n","end":"\\)","patterns":[{"include":"#args"}],"beginCaptures":{"1":{"name":"storage.type.clarity"},"2":{"name":"punctuation.section.begin.clarity"},"3":{"name":"entity.name.function.clarity"}},"endCaptures":{"0":{"name":"punctuation.section.end.clarity"}}},"define-var":{"match":"(?x)\n (?\u003c=^[(]) \\s*\n (define-(?:constant|data-var|map|fungible-token|non-fungible-token|trait)) \\s+\n ([a-zA-Z][a-zA-Z0-9_-]+)\n","captures":{"1":{"name":"storage.type.clarity"},"2":{"name":"variable.other.clarity"}}},"escape-char":{"name":"constant.character.escape.clarity","match":"\\\\."},"keyword":{"name":"constant.language.clarity","match":"(?x)\n (?\u003c=^|[\\s:(){},]) \n (?:block-height|burn-block-height|contract-caller|false|is-in-regtest|none|stx-liquid-supply|true|tx-sender)\n (?=[\\s(){},])\n"},"lang-func":{"name":"keyword.control.clarity","match":"(?x)\n (?\u003c=^|[(]) \\s*\n (\n and|append|as-contract|as-max-len\\?|asserts!|at-block|begin|concat|contract-call\\?|contract-of|\n default-to|element-at|err|filter|fold|ft-burn\\?|ft-get-balance|ft-get-supply|ft-mint\\?|ft-transfer\\?|\n get|get-block-info\\?|hash160|if|impl-trait|index-of|is-eq|is-err|is-none|is-ok|is-some|keccak256|\n len|let|list|log2|map|map-delete|map-get\\?|map-insert|map-set|match|merge|mod|nft-burn\\?|nft-get-owner\\?|\n nft-mint\\?|nft-transfer\\?|not|ok|or|pow|principal-of\\?|print|secp256k1-recover\\?|secp256k1-verify|sha256|\n sha512|sha512/256|some|sqrti|stx-burn\\?|stx-get-balance|stx-transfer\\?|to-int|to-uint|try!|unwrap-err-panic|\n unwrap-err!|unwrap-panic|unwrap!|var-get|var-set|xor\n ) \\s+\n"},"number":{"name":"constant.numeric.clarity","match":"(?x)\n (?\u003c=^|[\\s:(){},])\n \\'[0-9A-Z]{28,41}(:?\\.[a-zA-Z][a-zA-Z0-9\\-]+){0,2}|\n 0x[0-9a-f]{2,}|\n u[0-9]+|\n [0-9]+\n (?=[\\s(){},]|$)\n"},"set-func":{"begin":"(?x)\n (?\u003c=^|[(]) \\s*\n (var-get|var-set|map-get\\?|map-set|map-insert|get) \\s+\n ([a-z][a-zA-Z0-9_-]+) \\s*\n","end":"\\)","patterns":[{"include":"#lang-func"},{"include":"#tuple-key"},{"include":"#number"}],"beginCaptures":{"1":{"name":"keyword.control.clarity"},"2":{"name":"variable.other.clarity"}},"endCaptures":{"0":{"name":"punctuation.section.end.clarity"}}},"string":{"name":"string.quoted.double.clarity","begin":"\"","end":"\"","patterns":[{"include":"#escape-char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.clarity"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.clarity"}}},"tuple-key":{"name":"entity.name.type.clarity","match":"(?x)\n ([a-z][a-zA-Z0-9_-]+)(?=:)\n"}}}