github-linguist 7.16.1 → 7.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/etc.json +1 -1
  3. data/grammars/go.mod.json +1 -0
  4. data/grammars/go.sum.json +1 -0
  5. data/grammars/source.abap.json +1 -1
  6. data/grammars/source.ballerina.json +1 -1
  7. data/grammars/source.bc.json +1 -0
  8. data/grammars/source.bicep.json +1 -1
  9. data/grammars/source.cirru.json +1 -1
  10. data/grammars/source.clarion.json +1 -1
  11. data/grammars/source.cs.json +1 -1
  12. data/grammars/source.css.json +1 -1
  13. data/grammars/source.dart.json +1 -1
  14. data/grammars/source.dc.json +1 -0
  15. data/grammars/source.ditroff.json +1 -1
  16. data/grammars/source.fstar.json +1 -1
  17. data/grammars/source.hack.json +1 -1
  18. data/grammars/source.jest.snap.json +1 -0
  19. data/grammars/source.jq.json +1 -1
  20. data/grammars/source.json.json +1 -1
  21. data/grammars/source.julia.json +1 -1
  22. data/grammars/source.matlab.json +1 -1
  23. data/grammars/source.odin.json +1 -1
  24. data/grammars/source.powershell.json +1 -1
  25. data/grammars/source.rascal.json +1 -1
  26. data/grammars/source.rego.json +1 -1
  27. data/grammars/source.sqf.json +1 -1
  28. data/grammars/source.ts.json +1 -1
  29. data/grammars/source.tsx.json +1 -1
  30. data/grammars/source.v.json +1 -1
  31. data/grammars/source.ws.json +1 -0
  32. data/grammars/source.wsd.json +1 -1
  33. data/grammars/source.yara.json +1 -1
  34. data/grammars/source.yasnippet.json +1 -1
  35. data/grammars/version +1 -1
  36. data/lib/linguist/VERSION +1 -1
  37. data/lib/linguist/documentation.yml +1 -0
  38. data/lib/linguist/generated.rb +13 -0
  39. data/lib/linguist/heuristics.yml +1 -1
  40. data/lib/linguist/languages.json +1 -1
  41. data/lib/linguist/languages.yml +69 -20
  42. data/lib/linguist/linguist.so +0 -0
  43. data/lib/linguist/samples.json +1 -1
  44. data/lib/linguist/vendor.yml +3 -0
  45. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3abeeae6752d1ed4c729c61b28cc9ea9791d5ac797f41f386c493ea42f9ee592
4
- data.tar.gz: f03cd2dc7df7d95a11378523d571ae0d1d4591da094c54e511e0d821c663465b
3
+ metadata.gz: ed671d98695e1a20e34e226944df26d2db2a956849f1347f9552c351cfe29ddd
4
+ data.tar.gz: 7151a0f8b2fb41abff84fb0b0541750f8533a3a798a2b683f26f2e4df317ebe2
5
5
  SHA512:
6
- metadata.gz: 425b9c28f8de17897f3ec8d6faba13fccb0e3de53e99633d316715f5cfb582207074abaf283781bbab23328440ba30747692d01ccdb24ae887e65b418c57730c
7
- data.tar.gz: 6cfd7b212e4ba00584955a55dc2f5ffc9920da98298036b21aac8f9637e414b349945c77086e0af6196fd9767dda247e8c0d89baf04a41836a0c123f0eaf9a54
6
+ metadata.gz: a347b5df776b4c5510587c54d4a4898787aff3f92590b12dbc4f53409841d7b7b05a7339ff64f81f95adcf0a57df4442440cc3c629bbb7a27d263890a598985a
7
+ data.tar.gz: 0773edf5353861ed451588e5b9237cae097bb9ef8ed8e8e2500529793a9d6d2a3db5ae4ba1b6e16a6df1306e7823f3afb10a0aecc964070fa35da1108c7e3fe8
data/grammars/etc.json CHANGED
@@ -1 +1 @@
1
- {"scopeName":"etc","patterns":[{"include":"#comma"},{"include":"#comment"},{"include":"#esc"},{"include":"#float"},{"include":"#int"},{"include":"#str"},{"include":"#colon"},{"include":"#eql"},{"include":"#dot"}],"repository":{"bareword":{"name":"string.unquoted.bareword","match":"[^\"\\s][\\S]*"},"base64":{"name":"constant.numeric.base64","match":"[A-Za-z0-9+/=]{4,}"},"bool":{"name":"constant.logical.bool.boolean.${1:/downcase}","match":"\\b(true|false|TRUE|FALSE)\\b"},"bracket":{"patterns":[{"name":"punctuation.definition.bracket.curly.brace.begin","match":"\\{"},{"name":"punctuation.definition.bracket.curly.brace.end","match":"\\}"},{"name":"punctuation.definition.bracket.square.begin","match":"\\["},{"name":"punctuation.definition.bracket.square.end","match":"\\]"},{"name":"punctuation.definition.bracket.round.parenthesis.begin","match":"\\("},{"name":"punctuation.definition.bracket.round.parenthesis.end","match":"\\)"},{"name":"punctuation.definition.bracket.angle.ascii.begin","match":"\u003c"},{"name":"punctuation.definition.bracket.angle.ascii.end","match":"\u003e"},{"name":"punctuation.definition.bracket.angle.unicode.begin","match":"⟨"},{"name":"punctuation.definition.bracket.angle.unicode.end","match":"⟩"}]},"colon":{"name":"punctuation.delimiter.separator.colon","match":":"},"comma":{"name":"punctuation.separator.delimiter.comma","match":","},"comment":{"patterns":[{"include":"#commentHash"}]},"commentHash":{"name":"comment.line.number-sign","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSemi":{"name":"comment.line.semicolon","begin":";+","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSlash":{"name":"comment.line.double-slash","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"dash":{"name":"punctuation.delimiter.separator.dash.hyphen","match":"-"},"dot":{"name":"punctuation.delimiter.separator.property.period.dot","match":"\\."},"dotPair":{"name":"keyword.operator.punctuation.dots.splat.range.spread.rest","match":"\\.\\.|‥"},"dotTrail":{"name":"punctuation.delimiter.separator.dotted.border.leader.dots","match":"\\.{4,}"},"dots":{"patterns":[{"include":"#ellipsis"},{"include":"#dotPair"},{"include":"#dot"}]},"ellipsis":{"name":"keyword.operator.punctuation.ellipsis.splat.range.spread.rest","match":"\\.{3}|…"},"email":{"patterns":[{"include":"#emailBracketed"},{"include":"#emailQuoted"},{"include":"#emailUnquoted"}]},"emailBracketed":{"patterns":[{"name":"meta.email-address.bracketed.ascii.angle-brackets","match":"(\u003c)\\s*([^\u003e@\\s]+@[^\u003e@\\s]+)\\s*(\u003e)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.unicode.angle-brackets","match":"(⟨)\\s*([^⟩@\\s]+@[^⟩@\\s]+)\\s*(⟩)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.guillemots","match":"(«)\\s*([^»@\\s]+@[^»@\\s]+)\\s*(»)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.round-brackets","match":"(\\()\\s*([^\\)@\\s]+@[^\\)@\\s]+)\\s*(\\))","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.curly-brackets","match":"({)\\s*([^}@\\s]+@[^}@\\s]+)\\s*(})","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.square-brackets","match":"(\\[)\\s*([^\\]@\\s]+@[^\\]@\\s]+)\\s*(\\])","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}}]},"emailInnards":{"name":"constant.other.reference.link.underline.email","match":"(?:\\G|^|(?\u003c=\\n)).+","captures":{"0":{"patterns":[{"match":"\\G([^@]*)(@)(.*)","captures":{"1":{"name":"meta.local-part"},"2":{"name":"punctuation.separator.at-sign.email"},"3":{"name":"meta.domain"}}}]}}},"emailQuoted":{"patterns":[{"name":"meta.email-address.quoted.ascii.double-quotes","match":"(\")\\s*([^\"@\\s]+@[^\"@\\s]+)\\s*(\")","captures":{"0":{"name":"string.quoted.double"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.unicode.double-quotes","match":"(“)\\s*([^”@\\s]+@[^”@\\s]+)\\s*(”)","captures":{"0":{"name":"string.quoted.double"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.unicode.single-quotes","match":"(‘)\\s*([^’@\\s]+@[^’@\\s]+)\\s*(’)","captures":{"0":{"name":"string.quoted.single"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.backticks","match":"(`)\\s*([^`@\\s]+@[^`@\\s]+)\\s*(`)","captures":{"0":{"name":"string.quoted.template.backticks"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.single-quotes","match":"(`|')\\s*([^'@\\s]+@[^'@\\s]+)\\s*(')","captures":{"0":{"name":"string.quoted.single"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}}]},"emailUnquoted":{"name":"meta.email-address.unquoted","match":"(?x)\n((?!\\.) (?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++ @\n([^\\[\\(\u003c⟨«\"'\\s@.]+?\\.(?=[^\\.\\s])(?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++))","captures":{"1":{"name":"string.unquoted.email-address","patterns":[{"include":"#emailInnards"}]}}},"eql":{"name":"keyword.operator.assignment.key-value.equals-sign","match":"="},"esc":{"name":"constant.character.escape.backslash","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash"}}},"float":{"patterns":[{"include":"#floatExp"},{"include":"#floatNoExp"}]},"floatExp":{"name":"constant.numeric.float.real.decimal.dec.exponential.scientific","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)(?:[eE][-+]?[0-9]+)++"},"floatNoExp":{"name":"constant.numeric.float.real.decimal.dec","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)++"},"hex":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[-+]?[A-Fa-f0-9]+"},"hexNoSign":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[A-Fa-f0-9]+"},"int":{"patterns":[{"include":"#intExp"},{"include":"#intNoExp"}]},"intExp":{"name":"constant.numeric.integer.int.decimal.dec.exponential.scientific","match":"[-+]?[0-9]+[eE][-+]?[0-9]+"},"intNoExp":{"name":"constant.numeric.integer.int.decimal.dec","match":"[-+]?[0-9]+"},"ip":{"name":"constant.numeric.other.ip-address","match":"(?:\\d+\\.){3,}\\d+(?=\\s|$)","captures":{"0":{"patterns":[{"include":"#dot"}]}}},"kolon":{"name":"keyword.operator.assignment.key-value.colon","match":":"},"num":{"patterns":[{"include":"#float"},{"include":"#int"}]},"op":{"patterns":[{"include":"#opBitAssign"},{"include":"#opMathAssign"},{"include":"#opBit"},{"include":"#opFix"},{"include":"#opCmp"},{"include":"#opLog"},{"include":"#opMath"}]},"opBit":{"patterns":[{"name":"keyword.operator.bitwise.xor","match":"\\^"},{"name":"keyword.operator.bitwise.not","match":"~"},{"name":"keyword.operator.bitwise.and","match":"\u0026"},{"name":"keyword.operator.bitwise.or","match":"\\|"},{"name":"keyword.operator.bitwise.shift.left","match":"\u003c\u003c"},{"name":"keyword.operator.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e"},{"name":"keyword.operator.bitwise.shift.right.signed","match":"\u003e\u003e"}]},"opBitAssign":{"patterns":[{"name":"keyword.operator.assignment.bitwise.xor","match":"\\^="},{"name":"keyword.operator.assignment.bitwise.not","match":"~="},{"name":"keyword.operator.assignment.bitwise.and","match":"\u0026="},{"name":"keyword.operator.assignment.bitwise.or","match":"\\|="},{"name":"keyword.operator.assignment.bitwise.shift.left","match":"\u003c\u003c="},{"name":"keyword.operator.assignment.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e="},{"name":"keyword.operator.assignment.bitwise.shift.right.signed","match":"\u003e\u003e="}]},"opCmp":{"patterns":[{"name":"keyword.operator.logical.comparison.starship.spaceship","match":"\u003c=\u003e"},{"name":"keyword.operator.logical.comparison.less-than-or-equal-to.lte","match":"\u003c="},{"name":"keyword.operator.logical.comparison.less-than.lt","match":"\u003c"},{"name":"keyword.operator.logical.comparison.greater-than-or-equal-to.gte","match":"\u003e="},{"name":"keyword.operator.logical.comparison.greater-than.gt","match":"\u003e"},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq.strict","match":"==="},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq","match":"=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne.strict","match":"!=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne","match":"!="}]},"opFix":{"patterns":[{"name":"keyword.operator.increment","match":"\\+{2}"},{"name":"keyword.operator.decrement","match":"-{2}"}]},"opLog":{"patterns":[{"name":"keyword.operator.logical.boolean.cast","match":"!!"},{"name":"keyword.operator.logical.boolean.not.negation.negate","match":"!"},{"name":"keyword.operator.logical.boolean.and","match":"\u0026\u0026"},{"name":"keyword.operator.logical.boolean.or","match":"\\|{2}"},{"name":"keyword.operator.logical.boolean.or.nullish","match":"\\?{2}"}]},"opMath":{"patterns":[{"name":"keyword.operator.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}|\\^"},{"name":"keyword.operator.arithmetic.addition.add.plus","match":"\\+"},{"name":"keyword.operator.arithmetic.multiplication.multiply.times","match":"\\*"},{"name":"keyword.operator.arithmetic.division.divide","match":"/"},{"name":"keyword.operator.arithmetic.remainder.modulo.modulus.mod","match":"%"},{"name":"keyword.operator.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]"}]},"opMathAssign":{"patterns":[{"name":"keyword.operator.assignment.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}="},{"name":"keyword.operator.assignment.arithmetic.addition.add.plus","match":"\\+="},{"name":"keyword.operator.assignment.arithmetic.multiplication.multiply.times","match":"\\*="},{"name":"keyword.operator.assignment.arithmetic.division.divide","match":"/="},{"name":"keyword.operator.assignment.arithmetic.remainder.modulo.modulus.mod","match":"%="},{"name":"keyword.operator.assignment.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]="}]},"semi":{"name":"punctuation.delimiter.separator.semicolon","match":";"},"str":{"patterns":[{"include":"#strDouble"},{"include":"#strSingle"}]},"strDouble":{"name":"string.quoted.double","begin":"\"","end":"\"|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"strSingle":{"name":"string.quoted.single","begin":"'","end":"'|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"tab":{"patterns":[{"match":"^\\t+","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.leading.tab.hard-tab","match":"\\t"}]}}},{"match":"\\t+$","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.trailing.tab.hard-tab","match":"\\t"}]}}},{"name":"punctuation.whitespace.tab.hard-tab","match":"\\t"}]},"url":{"patterns":[{"match":"(?x)\n(\"|'|\\b)\n(\n\t# Not part of official URL schemes, included here for convenience\n\t(?: (?:jdbc|mvn|odbc|view-source) :)?\n\n\t# Common protocols/URI schemes\n\t( https?\n\t| s?ftp\n\t| ftps\n\t| file\n\t| wss?\n\t| (?:git|svn) (?:\\+(?:https?|ssh))?\n\t| ssh\n\t\n\t# Less common URI schemes\n\t| aaas?\n\t| acap\n\t| adiumxtra\n\t| admin\n\t| afp\n\t| app\n\t| atom\n\t| aurora\n\t| aw\n\t| beshare\n\t| bolo\n\t| cassandra\n\t| chrome(?:-extension)?\n\t| coaps?\n\t| cockroach\n\t| content\n\t| couchbase\n\t| crid\n\t| cvs\n\t| dict\n\t| dns\n\t| docker\n\t| ed2k\n\t| facetime\n\t| feed\n\t| finger\n\t| fish\n\t| gemini\n\t| github(?:-(?:mac|linux|windows))?\n\t| gizmoproject\n\t| gopher\n\t| go\n\t| hcp\n\t| imap\n\t| irc[6s]?\n\t| issue\n\t| keyparc\n\t| lastfm\n\t| ldaps?\n\t| man(?:-?page)?\n\t| maria(?:db)?\n\t| market\n\t| message\n\t| mms\n\t| modern-?sqlite\n\t| mongodb\n\t| ms-help\n\t| mssql\n\t| mumble\n\t| my?sql\n\t| netezza\n\t| nfs\n\t| ni\n\t| nntp\n\t| notes\n\t| oleodbc\n\t| oracle\n\t| payto\n\t| pgsql\n\t| pg\n\t| pop\n\t| postgres(?:ql)?\n\t| postgresql\n\t| presto(?:dbs?|s)\n\t| reload\n\t| resource\n\t| res\n\t| rmi\n\t| rsync\n\t| rtmf?p\n\t| rtmp\n\t| s3\n\t| saphana\n\t| secondlife\n\t| sgn\n\t| shttp\n\t| slack\n\t| smb\n\t| snmp\n\t| soldat\n\t| sqlite3?\n\t| sqlserver\n\t| steam\n\t| stratum\\+[a-z]+\n\t| stuns?\n\t| teamspeak\n\t| telnet\n\t| turns?\n\t| txmt\n\t| udp\n\t| unreal\n\t| ut2004\n\t| ventrilo\n\t| vnc\n\t| wais\n\t| web\\+[a-z]+\n\t| webcal\n\t| wtai\n\t| wyciwyg\n\t| xmpp\n\t| xri\n\t| z39\\.50[rs]\n\t| zoommtg\n\t\n\t# User-defined/arbitrary URI scheme starting with `x-`\n\t| x(?:-[a-z][a-z0-9]*)++\n\t) ://\n\t\n\t# Path specifier\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:\\@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t\n\t# Don't include trailing punctuation\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.$3.url"},"4":{"name":"punctuation.definition.link.end.url"}}},{"match":"(?x)\n(\"|'|\\b)\n(\n\tmailto (:)\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.mailto.url"},"3":{"name":"punctuation.separator.delimiter.scheme.url"},"4":{"name":"punctuation.definition.link.end.url"}}}]},"version":{"name":"constant.other.version-string","match":"(?x)\n(\"|'|\\b)\n([vV]?)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*)\n(?:\n\t(-)\n\t(\n\t\t(?: 0\n\t\t| [1-9]\\d*\n\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t)\n\t\t\n\t\t(?:\n\t\t\t\\.\n\t\t\t(?: 0\n\t\t\t| [1-9]\\d*\n\t\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t\t)\n\t\t)*\n\t)\n)?\n(?:\n\t(\\+)\n\t(\n\t\t[0-9a-zA-Z-]+\n\t\t(?:\\.[0-9a-zA-Z-]+)*\n\t)\n)?\n(\\1)","captures":{"1":{"name":"punctuation.definition.version-string.begin"},"10":{"name":"punctuation.delimiter.separator.plus"},"11":{"name":"meta.build-metadata","patterns":[{"include":"#dot"}]},"12":{"name":"punctuation.definition.version-string.end"},"2":{"name":"punctuation.definition.version-prefix"},"3":{"name":"meta.major.release-number"},"4":{"patterns":[{"include":"#dot"}]},"5":{"name":"meta.minor.release-number"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"meta.patch.release-number"},"8":{"patterns":[{"include":"#dash"}]},"9":{"name":"meta.prerelease.release-number","patterns":[{"include":"#dot"}]}}}}}
1
+ {"scopeName":"etc","patterns":[{"include":"#comma"},{"include":"#comment"},{"include":"#esc"},{"include":"#float"},{"include":"#int"},{"include":"#str"},{"include":"#colon"},{"include":"#eql"},{"include":"#dot"}],"repository":{"bareword":{"name":"string.unquoted.bareword","match":"[^\"\\s][\\S]*"},"base64":{"name":"constant.numeric.base64","match":"[A-Za-z0-9+/=]{4,}"},"bool":{"name":"constant.logical.bool.boolean.${1:/downcase}","match":"\\b(true|false|TRUE|FALSE)\\b"},"bracket":{"patterns":[{"name":"punctuation.definition.bracket.curly.brace.begin","match":"\\{"},{"name":"punctuation.definition.bracket.curly.brace.end","match":"\\}"},{"name":"punctuation.definition.bracket.square.begin","match":"\\["},{"name":"punctuation.definition.bracket.square.end","match":"\\]"},{"name":"punctuation.definition.bracket.round.parenthesis.begin","match":"\\("},{"name":"punctuation.definition.bracket.round.parenthesis.end","match":"\\)"},{"name":"punctuation.definition.bracket.angle.ascii.begin","match":"\u003c"},{"name":"punctuation.definition.bracket.angle.ascii.end","match":"\u003e"},{"name":"punctuation.definition.bracket.angle.unicode.begin","match":"⟨"},{"name":"punctuation.definition.bracket.angle.unicode.end","match":"⟩"}]},"colon":{"name":"punctuation.delimiter.separator.colon","match":":"},"comma":{"name":"punctuation.separator.delimiter.comma","match":","},"comment":{"patterns":[{"include":"#commentHash"}]},"commentHash":{"name":"comment.line.number-sign","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSemi":{"name":"comment.line.semicolon","begin":";+","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSlash":{"name":"comment.line.double-slash","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"dash":{"name":"punctuation.delimiter.separator.dash.hyphen","match":"-"},"dot":{"name":"punctuation.delimiter.separator.property.period.dot","match":"\\."},"dotPair":{"name":"keyword.operator.punctuation.dots.splat.range.spread.rest","match":"\\.\\.|‥"},"dotTrail":{"name":"punctuation.delimiter.separator.dotted.border.leader.dots","match":"\\.{4,}"},"dots":{"patterns":[{"include":"#ellipsis"},{"include":"#dotPair"},{"include":"#dot"}]},"ellipsis":{"name":"keyword.operator.punctuation.ellipsis.splat.range.spread.rest","match":"\\.{3}|…"},"email":{"patterns":[{"include":"#emailBracketed"},{"include":"#emailQuoted"},{"include":"#emailUnquoted"}]},"emailBracketed":{"patterns":[{"name":"meta.email-address.bracketed.ascii.angle-brackets","match":"(\u003c)\\s*([^\u003e@\\s]+@[^\u003e@\\s]+)\\s*(\u003e)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.unicode.angle-brackets","match":"(⟨)\\s*([^⟩@\\s]+@[^⟩@\\s]+)\\s*(⟩)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.guillemots","match":"(«)\\s*([^»@\\s]+@[^»@\\s]+)\\s*(»)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.round-brackets","match":"(\\()\\s*([^\\)@\\s]+@[^\\)@\\s]+)\\s*(\\))","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.curly-brackets","match":"({)\\s*([^}@\\s]+@[^}@\\s]+)\\s*(})","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.square-brackets","match":"(\\[)\\s*([^\\]@\\s]+@[^\\]@\\s]+)\\s*(\\])","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}}]},"emailInnards":{"name":"constant.other.reference.link.underline.email","match":"(?:\\G|^|(?\u003c=\\n)).+","captures":{"0":{"patterns":[{"match":"\\G([^@]*)(@)(.*)","captures":{"1":{"name":"meta.local-part"},"2":{"name":"punctuation.separator.at-sign.email"},"3":{"name":"meta.domain"}}}]}}},"emailQuoted":{"patterns":[{"name":"meta.email-address.quoted.ascii.double-quotes","match":"(\")\\s*([^\"@\\s]+@[^\"@\\s]+)\\s*(\")","captures":{"0":{"name":"string.quoted.double"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.unicode.double-quotes","match":"(“)\\s*([^”@\\s]+@[^”@\\s]+)\\s*(”)","captures":{"0":{"name":"string.quoted.double"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.unicode.single-quotes","match":"(‘)\\s*([^’@\\s]+@[^’@\\s]+)\\s*(’)","captures":{"0":{"name":"string.quoted.single"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.backticks","match":"(`)\\s*([^`@\\s]+@[^`@\\s]+)\\s*(`)","captures":{"0":{"name":"string.quoted.template.backticks"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.single-quotes","match":"(`|')\\s*([^'@\\s]+@[^'@\\s]+)\\s*(')","captures":{"0":{"name":"string.quoted.single"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}}]},"emailUnquoted":{"name":"meta.email-address.unquoted","match":"(?x)\n((?!\\.) (?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++ @\n([^\\[\\(\u003c⟨«\"'\\s@.]+?\\.(?=[^\\.\\s])(?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++))","captures":{"1":{"name":"string.unquoted.email-address","patterns":[{"include":"#emailInnards"}]}}},"eql":{"name":"keyword.operator.assignment.key-value.equals-sign","match":"="},"esc":{"name":"constant.character.escape.backslash","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash"}}},"float":{"patterns":[{"include":"#floatExp"},{"include":"#floatNoExp"}]},"floatExp":{"name":"constant.numeric.float.real.decimal.dec.exponential.scientific","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)(?:[eE][-+]?[0-9]+)++"},"floatNoExp":{"name":"constant.numeric.float.real.decimal.dec","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)++"},"hex":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[-+]?[A-Fa-f0-9]+"},"hexNoSign":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[A-Fa-f0-9]+"},"int":{"patterns":[{"include":"#intExp"},{"include":"#intNoExp"}]},"intExp":{"name":"constant.numeric.integer.int.decimal.dec.exponential.scientific","match":"[-+]?[0-9]+[eE][-+]?[0-9]+"},"intNoExp":{"name":"constant.numeric.integer.int.decimal.dec","match":"[-+]?[0-9]+"},"ip":{"name":"constant.numeric.other.ip-address","match":"(?:\\d+\\.){3,}\\d+(?=\\s|$)","captures":{"0":{"patterns":[{"include":"#dot"}]}}},"kolon":{"name":"keyword.operator.assignment.key-value.colon","match":":"},"num":{"patterns":[{"include":"#float"},{"include":"#int"}]},"op":{"patterns":[{"include":"#opBitAssign"},{"include":"#opMathAssign"},{"include":"#opBit"},{"include":"#opFix"},{"include":"#opCmp"},{"include":"#opLog"},{"include":"#opMath"}]},"opBit":{"patterns":[{"name":"keyword.operator.bitwise.xor","match":"\\^"},{"name":"keyword.operator.bitwise.not","match":"~"},{"name":"keyword.operator.bitwise.and","match":"\u0026"},{"name":"keyword.operator.bitwise.or","match":"\\|"},{"name":"keyword.operator.bitwise.shift.left","match":"\u003c\u003c"},{"name":"keyword.operator.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e"},{"name":"keyword.operator.bitwise.shift.right.signed","match":"\u003e\u003e"}]},"opBitAssign":{"patterns":[{"name":"keyword.operator.assignment.bitwise.xor","match":"\\^="},{"name":"keyword.operator.assignment.bitwise.not","match":"~="},{"name":"keyword.operator.assignment.bitwise.and","match":"\u0026="},{"name":"keyword.operator.assignment.bitwise.or","match":"\\|="},{"name":"keyword.operator.assignment.bitwise.shift.left","match":"\u003c\u003c="},{"name":"keyword.operator.assignment.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e="},{"name":"keyword.operator.assignment.bitwise.shift.right.signed","match":"\u003e\u003e="}]},"opCmp":{"patterns":[{"name":"keyword.operator.logical.comparison.starship.spaceship","match":"\u003c=\u003e"},{"name":"keyword.operator.logical.comparison.less-than-or-equal-to.lte","match":"\u003c="},{"name":"keyword.operator.logical.comparison.less-than.lt","match":"\u003c"},{"name":"keyword.operator.logical.comparison.greater-than-or-equal-to.gte","match":"\u003e="},{"name":"keyword.operator.logical.comparison.greater-than.gt","match":"\u003e"},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq.strict","match":"==="},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq","match":"=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne.strict","match":"!=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne","match":"!="}]},"opFix":{"patterns":[{"name":"keyword.operator.increment","match":"\\+{2}"},{"name":"keyword.operator.decrement","match":"-{2}"}]},"opLog":{"patterns":[{"name":"keyword.operator.logical.boolean.cast","match":"!!"},{"name":"keyword.operator.logical.boolean.not.negation.negate","match":"!"},{"name":"keyword.operator.logical.boolean.and","match":"\u0026\u0026"},{"name":"keyword.operator.logical.boolean.or","match":"\\|{2}"},{"name":"keyword.operator.logical.boolean.or.nullish","match":"\\?{2}"}]},"opMath":{"patterns":[{"name":"keyword.operator.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}|\\^"},{"name":"keyword.operator.arithmetic.addition.add.plus","match":"\\+"},{"name":"keyword.operator.arithmetic.multiplication.multiply.times","match":"\\*"},{"name":"keyword.operator.arithmetic.division.divide","match":"/"},{"name":"keyword.operator.arithmetic.remainder.modulo.modulus.mod","match":"%"},{"name":"keyword.operator.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]"}]},"opMathAssign":{"patterns":[{"name":"keyword.operator.assignment.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}=|\\^="},{"name":"keyword.operator.assignment.arithmetic.addition.add.plus","match":"\\+="},{"name":"keyword.operator.assignment.arithmetic.multiplication.multiply.times","match":"\\*="},{"name":"keyword.operator.assignment.arithmetic.division.divide","match":"/="},{"name":"keyword.operator.assignment.arithmetic.remainder.modulo.modulus.mod","match":"%="},{"name":"keyword.operator.assignment.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]="}]},"semi":{"name":"punctuation.delimiter.separator.semicolon","match":";"},"str":{"patterns":[{"include":"#strDouble"},{"include":"#strSingle"}]},"strDouble":{"name":"string.quoted.double","begin":"\"","end":"\"|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"strSingle":{"name":"string.quoted.single","begin":"'","end":"'|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"tab":{"patterns":[{"match":"^\\t+","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.leading.tab.hard-tab","match":"\\t"}]}}},{"match":"\\t+$","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.trailing.tab.hard-tab","match":"\\t"}]}}},{"name":"punctuation.whitespace.tab.hard-tab","match":"\\t"}]},"url":{"patterns":[{"match":"(?x)\n(\"|'|\\b)\n(\n\t# Not part of official URL schemes, included here for convenience\n\t(?: (?:jdbc|mvn|odbc|view-source) :)?\n\n\t# Common protocols/URI schemes\n\t( https?\n\t| s?ftp\n\t| ftps\n\t| file\n\t| wss?\n\t| (?:git|svn) (?:\\+(?:https?|ssh))?\n\t| ssh\n\t\n\t# Less common URI schemes\n\t| aaas?\n\t| acap\n\t| adiumxtra\n\t| admin\n\t| afp\n\t| app\n\t| atom\n\t| aurora\n\t| aw\n\t| beshare\n\t| bolo\n\t| cassandra\n\t| chrome(?:-extension)?\n\t| coaps?\n\t| cockroach\n\t| content\n\t| couchbase\n\t| crid\n\t| cvs\n\t| dict\n\t| dns\n\t| docker\n\t| ed2k\n\t| facetime\n\t| feed\n\t| finger\n\t| fish\n\t| gemini\n\t| github(?:-(?:mac|linux|windows))?\n\t| gizmoproject\n\t| gopher\n\t| go\n\t| hcp\n\t| imap\n\t| irc[6s]?\n\t| issue\n\t| keyparc\n\t| lastfm\n\t| ldaps?\n\t| man(?:-?page)?\n\t| maria(?:db)?\n\t| market\n\t| message\n\t| mms\n\t| modern-?sqlite\n\t| mongodb\n\t| ms-help\n\t| mssql\n\t| mumble\n\t| my?sql\n\t| netezza\n\t| nfs\n\t| ni\n\t| nntp\n\t| notes\n\t| oleodbc\n\t| oracle\n\t| payto\n\t| pgsql\n\t| pg\n\t| pop\n\t| postgres(?:ql)?\n\t| postgresql\n\t| presto(?:dbs?|s)\n\t| reload\n\t| resource\n\t| res\n\t| rmi\n\t| rsync\n\t| rtmf?p\n\t| rtmp\n\t| s3\n\t| saphana\n\t| secondlife\n\t| sgn\n\t| shttp\n\t| slack\n\t| smb\n\t| snmp\n\t| soldat\n\t| sqlite3?\n\t| sqlserver\n\t| steam\n\t| stratum\\+[a-z]+\n\t| stuns?\n\t| teamspeak\n\t| telnet\n\t| turns?\n\t| txmt\n\t| udp\n\t| unreal\n\t| ut2004\n\t| ventrilo\n\t| vnc\n\t| wais\n\t| web\\+[a-z]+\n\t| webcal\n\t| wtai\n\t| wyciwyg\n\t| xmpp\n\t| xri\n\t| z39\\.50[rs]\n\t| zoommtg\n\t\n\t# User-defined/arbitrary URI scheme starting with `x-`\n\t| x(?:-[a-z][a-z0-9]*)++\n\t) ://\n\t\n\t# Path specifier\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:\\@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t\n\t# Don't include trailing punctuation\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.$3.url"},"4":{"name":"punctuation.definition.link.end.url"}}},{"match":"(?x)\n(\"|'|\\b)\n(\n\tmailto (:)\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.mailto.url"},"3":{"name":"punctuation.separator.delimiter.scheme.url"},"4":{"name":"punctuation.definition.link.end.url"}}}]},"version":{"name":"constant.other.version-string","match":"(?x)\n(\"|'|\\b)\n([vV]?)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*)\n(?:\n\t(-)\n\t(\n\t\t(?: 0\n\t\t| [1-9]\\d*\n\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t)\n\t\t\n\t\t(?:\n\t\t\t\\.\n\t\t\t(?: 0\n\t\t\t| [1-9]\\d*\n\t\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t\t)\n\t\t)*\n\t)\n)?\n(?:\n\t(\\+)\n\t(\n\t\t[0-9a-zA-Z-]+\n\t\t(?:\\.[0-9a-zA-Z-]+)*\n\t)\n)?\n(\\1)","captures":{"1":{"name":"punctuation.definition.version-string.begin"},"10":{"name":"punctuation.delimiter.separator.plus"},"11":{"name":"meta.build-metadata","patterns":[{"include":"#dot"}]},"12":{"name":"punctuation.definition.version-string.end"},"2":{"name":"punctuation.definition.version-prefix"},"3":{"name":"meta.major.release-number"},"4":{"patterns":[{"include":"#dot"}]},"5":{"name":"meta.minor.release-number"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"meta.patch.release-number"},"8":{"patterns":[{"include":"#dash"}]},"9":{"name":"meta.prerelease.release-number","patterns":[{"include":"#dot"}]}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"go.mod","patterns":[{"include":"#comments"},{"include":"#directive"},{"include":"#invalid"}],"repository":{"arguments":{"patterns":[{"include":"#comments"},{"include":"#double_quoted_string"},{"include":"#raw_quoted_string"},{"include":"#operator"},{"include":"#semver"},{"include":"#unquoted_string"}]},"comments":{"patterns":[{"name":"comment.line.double-slash.go.mod","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.go.mod"}}}]},"directive":{"patterns":[{"begin":"(\\w+)\\s*\\(","end":"\\)","patterns":[{"include":"#arguments"}],"beginCaptures":{"1":{"name":"keyword.go.mod"}}},{"match":"(\\w+)\\s*(.*)","captures":{"1":{"name":"keyword.go.mod"},"2":{"patterns":[{"include":"#arguments"}]}}}]},"double_quoted_string":{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go.mod"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.go.mod"}}},"invalid":{"name":"invalid.illegal.unknown.go.mod","match":".*"},"operator":{"name":"operator.go.mod","match":"(=\u003e)"},"raw_quoted_string":{"name":"string.quoted.raw","begin":"`","end":"`","patterns":[{"include":"#string_placeholder"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go.mod"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.go.mod"}}},"semver":{"name":"constant.language.go.mod","match":"v(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[\\da-z-]+(?:\\.[\\da-z-]+)*)?(?:\\+[\\da-z-]+(?:\\.[\\da-z-]+)*)?"},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.go.mod","match":"\\\\([0-7]{3}|[abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},{"name":"invalid.illegal.unknown-escape.go.mod","match":"\\\\[^0-7xuUabfnrtv\\'\"]"}]},"string_placeholder":{"patterns":[{"name":"constant.other.placeholder.go.mod","match":"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]"}]},"unquoted_string":{"name":"string.unquoted.go.mod","match":"([^\\s/]|/(?!/))+"}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"go.sum","patterns":[{"include":"#checksum"},{"include":"#semver"},{"include":"#unquoted_string"}],"repository":{"checksum":{"match":"h1:([^\\s]+)=","captures":{"1":{"patterns":[{"name":"string.unquoted.go.sum","match":"[a-zA-Z\\d+\\/]{43}"},{"name":"invalid.illegal.unknown-hash.go.sum","match":".*"}]}}},"semver":{"name":"constant.language.go.sum","match":"v(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[\\da-z-]+(?:\\.[\\da-z-]+)*)?(?:\\+[\\da-z-]+(?:\\.[\\da-z-]+)*)?"},"unquoted_string":{"name":"string.unquoted.go.sum","match":"[^\\s]+"}}}
@@ -1 +1 @@
1
- {"name":"ABAP","scopeName":"source.abap","patterns":[{"name":"comment.line.full.abap","match":"^\\*.*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.partial.abap","match":"\".*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.pragma.abap","match":"(?\u003c![^\\s])##.*?(?=([\\.:,\\s]))"},{"name":"variable.other.abap"},{"name":"constant.numeric.abap","match":"\\b[0-9]+(\\b|\\.|,)"},{"name":"storage.modifier.class.abap","match":"(?ix)(^|\\s+)((PUBLIC|PRIVATE|PROTECTED)\\sSECTION)(?=\\s+|:|\\.)"},{"name":"string.interpolated.abap","begin":"(?\u003c!\\\\)(\\|)(.*?)","end":"(?\u003c!\\\\)(\\|)","patterns":[{"name":"constant.character.escape","match":"({ )|( })"},{"name":"variable.other.abap","match":"(?\u003c={ ).*?(?= })"},{"name":"constant.character.escape.abap","match":"\\\\\\|"}],"beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"endCaptures":{"1":{"name":"constant.character.escape.abap"}}},{"name":"string.quoted.single.abap","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.abap","match":"''"}]},{"name":"string.quoted.single.abap","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.abap","match":"``"}]},{"name":"meta.block.begin.implementation.abap","begin":"(?i)^\\s*(class)\\s([a-z_/][a-z_0-9/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.class.abap","match":"(?ix)(^|\\s+)(definition|implementation|public|inheriting\\s+from|final|deferred|abstract|shared\\s+memory\\s+enabled|(global|local)*\\s*friends|(create\\s+(public|protected|private))|for\\s+testing|risk\\s+level\\s+(critical|dangerous|harmless))|duration\\s(short|medium|long)(?=\\s+|\\.)"},{"contentName":"entity.name.type.block.abap","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}}},{"begin":"(?ix)^\\s*(method)\\s(?:([a-z_\\/][a-z_0-9\\/]*)~)?([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(BY\\s+DATABASE(\\s+PROCEDURE|\\s+FUNCTION))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(FOR\\s+(HDB|LLANG))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=\\s)(OPTIONS\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\s+SYNTAX\\s+ERRORS))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(LANGUAGE\\s+SQLSCRIPT)(?=\\s+|\\.)"},{"match":"(?ix)(?\u003c=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/]*)+(?=\\s+|\\.)","captures":{"1":{"name":"storage.modifier.method.abap"}}},{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}}},{"begin":"(?ix)^\\s*(INTERFACE)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(DEFERRED|PUBLIC)(?=\\s+|\\.)"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"begin":"(?ix)^\\s*(FORM)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.form.abap","match":"(?ix)(?\u003c=^|\\s)(USING|TABLES|CHANGING|RAISING)(?=\\s+|\\.)"},{"include":"#abaptypes"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"name":"storage.type.block.end.abap","match":"(?i)(endclass|endmethod|endform|endinterface)"},{"name":"variable.other.field.symbol.abap","match":"(?i)(\u003c[A-Za-z_][A-Za-z0-9_]*\u003e)"},{"include":"#keywords"},{"include":"#abap_constants"},{"include":"#reserved_names"},{"include":"#operators"},{"include":"#builtin_functions"},{"include":"#abaptypes"},{"include":"#system_fields"}],"repository":{"abap_constants":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(initial|null|space|abap_true|abap_false|table_line)(?=\\s|\\.|,)"},"abaptypes":{"patterns":[{"name":"support.type.abap","match":"(?ix)\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|c|n|i|p|f|d|t|x)(?=\\s|\\.|,)"},{"name":"keyword.control.simple.abap","match":"(?ix)\\s(TYPE|REF|TO|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\s|\\.|,)"}]},"arithmetic_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\\+|\\-|\\*|\\*\\*|/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\s)"},"builtin_functions":{"name":"entity.name.function.builtin.abap","match":"(?ix)(?\u003c=\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\()"},"comparison_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\u003c|\u003e|\u003c\\=|\u003e\\=|\\=|\u003c\u003e|eq|ne|lt|le|gt|ge|cs|cp)(?=\\s)"},"control_keywords":{"name":"keyword.control.flow.abap","match":"(?ix)(^|\\s)(\n\t at|case|catch|continue|do|elseif|else|endat|endcase|enddo|endif|\n\t endloop|endon|if|loop|on|raise|try)(?=\\s|\\.|:)"},"generic_names":{"match":"[A-Za-z_][A-Za-z0-9_]*"},"keywords":{"patterns":[{"include":"#main_keywords"},{"include":"#text_symbols"},{"include":"#control_keywords"},{"include":"#keywords_followed_by_braces"}]},"keywords_followed_by_braces":{"match":"(?ix)\\b(data|value|field-symbol)\\((\u003c?[a-z_\\/][a-z_0-9\\/]*\u003e?)\\)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}}},"logical_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(not|or|and)(?=\\s)"},"main_keywords":{"name":"keyword.control.simple.abap","match":"(?ix)(?\u003c=^|\\s)(\n\t abstract|access|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|badi|begin|binary|block|bound|break-point|by|byte|\n\t call|cast|changing|check|checkbox|class-data|class-events|class-method|class-methods|class-pool|clear|close|cnt|collect|commit|comment|cond|character|\n\t corresponding|communication|comparing|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|destination|detail|display|divide|divide-corresponding|display-mode|distinct|duplicates|\n\t deleting|\n\t editor-call|empty|end|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|excluding|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|found|function-pool|\n\t generate|get|\n\t handle|handler|hide|hashed|header|help-request|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t\t\t\t\tid|implemented|is|in|inner|interface|interfaces|interface-pool|intervals|init|input|insert|instance|into|\n\t\t\t\t\tjoin|\n\t\t\tkey|\n\t left-justified|leave|like|line|lines|line-count|line-size|list-processing|load|local|log-point|length|left|leading|lower|\n\t matchcode|memory|method|mesh|message|message-id|methods|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|modif|\n\t\t\tnew|new-line|new-page|new-section|next|no|no-display|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|output|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameter|parameters|partially|perform|pf-status|places|position|print-control|private|privileged|program|protected|provide|public|put|\n\t radiobutton\\s+group|raising|range|ranges|receive|receiving|redefinition|reduce|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|restore|result\\s+xml|return|returning|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|set|stamp|source|subkey|\n\t separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tables|table|task|testing|test-seam|test-injection|then|time|times|title|titlebar|to|top-of-page|trailing|transaction|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|union|unpack|update|upper|using|user-command|\n\t value|value-request|\n\t when|while|window|write|where|with|work|\n\t\txml)(?=\\s|\\.|:|,)"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"name":"keyword.control.simple.abap","match":"(?\u003c=\\s)(\u0026\u0026|\\?=|\\+=|-=|\\/=|\\*=|\u0026\u0026=)(?=\\s)"},"reserved_names":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(me|super)(?=\\s|\\.|,|-\u003e)"},"system_fields":{"match":"(?ix)\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar[0-9]|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=\\.|\\s)","captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}}},"text_symbols":{"match":"(?ix)(?\u003c=^|\\s)(text)-([A-Z0-9]{1,3})(?=\\s|\\.|:|,)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}}}}}
1
+ {"name":"ABAP","scopeName":"source.abap","patterns":[{"name":"comment.line.full.abap","match":"^\\*.*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.partial.abap","match":"\".*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.pragma.abap","match":"(?\u003c![^\\s])##.*?(?=([\\.:,\\s]))"},{"name":"variable.other.abap"},{"name":"constant.numeric.abap","match":"\\b[0-9]+(\\b|\\.|,)"},{"name":"storage.modifier.class.abap","match":"(?ix)(^|\\s+)((PUBLIC|PRIVATE|PROTECTED)\\sSECTION)(?=\\s+|:|\\.)"},{"name":"string.interpolated.abap","begin":"(?\u003c!\\\\)(\\|)(.*?)","end":"(?\u003c!\\\\)(\\||(\\\\\\\\\\|))","patterns":[{"name":"constant.character.escape","match":"({ )|( })"},{"name":"variable.other.abap","match":"(?\u003c={ ).*?(?= })"},{"name":"constant.character.escape.abap","match":"\\\\\\|"}],"beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"endCaptures":{"1":{"name":"constant.character.escape.abap"}}},{"name":"string.quoted.single.abap","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.abap","match":"''"}]},{"name":"string.quoted.single.abap","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.abap","match":"``"}]},{"name":"meta.block.begin.implementation.abap","begin":"(?i)^\\s*(class)\\s([a-z_/][a-z_0-9/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.class.abap","match":"(?ix)(^|\\s+)(definition|implementation|public|inheriting\\s+from|final|deferred|abstract|shared\\s+memory\\s+enabled|(global|local)*\\s*friends|(create\\s+(public|protected|private))|for\\s+testing|risk\\s+level\\s+(critical|dangerous|harmless))|duration\\s(short|medium|long)(?=\\s+|\\.)"},{"contentName":"entity.name.type.block.abap","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}}},{"begin":"(?ix)^\\s*(method)\\s(?:([a-z_\\/][a-z_0-9\\/]*)~)?([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(BY\\s+DATABASE(\\s+PROCEDURE|\\s+FUNCTION))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(FOR\\s+(HDB|LLANG))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=\\s)(OPTIONS\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\s+SYNTAX\\s+ERRORS))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(LANGUAGE\\s+SQLSCRIPT)(?=\\s+|\\.)"},{"match":"(?ix)(?\u003c=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/]*)+(?=\\s+|\\.)","captures":{"1":{"name":"storage.modifier.method.abap"}}},{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}}},{"begin":"(?ix)^\\s*(INTERFACE)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(DEFERRED|PUBLIC)(?=\\s+|\\.)"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"begin":"(?ix)^\\s*(FORM)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.form.abap","match":"(?ix)(?\u003c=^|\\s)(USING|TABLES|CHANGING|RAISING)(?=\\s+|\\.)"},{"include":"#abaptypes"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"name":"storage.type.block.end.abap","match":"(?i)(endclass|endmethod|endform|endinterface)"},{"name":"variable.other.field.symbol.abap","match":"(?i)(\u003c[A-Za-z_][A-Za-z0-9_]*\u003e)"},{"include":"#keywords"},{"include":"#abap_constants"},{"include":"#reserved_names"},{"include":"#operators"},{"include":"#builtin_functions"},{"include":"#abaptypes"},{"include":"#system_fields"}],"repository":{"abap_constants":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(initial|null|space|abap_true|abap_false|table_line)(?=\\s|\\.|,)"},"abaptypes":{"patterns":[{"name":"support.type.abap","match":"(?ix)\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|c|n|i|p|f|d|t|x)(?=\\s|\\.|,)"},{"name":"keyword.control.simple.abap","match":"(?ix)\\s(TYPE|REF|TO|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\s|\\.|,)"}]},"arithmetic_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\\+|\\-|\\*|\\*\\*|/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\s)"},"builtin_functions":{"name":"entity.name.function.builtin.abap","match":"(?ix)(?\u003c=\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\()"},"comparison_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\u003c|\u003e|\u003c\\=|\u003e\\=|\\=|\u003c\u003e|eq|ne|lt|le|gt|ge|cs|cp)(?=\\s)"},"control_keywords":{"name":"keyword.control.flow.abap","match":"(?ix)(^|\\s)(\n\t at|case|catch|continue|do|elseif|else|endat|endcase|enddo|endif|\n\t endloop|endon|if|loop|on|raise|try)(?=\\s|\\.|:)"},"generic_names":{"match":"[A-Za-z_][A-Za-z0-9_]*"},"keywords":{"patterns":[{"include":"#main_keywords"},{"include":"#text_symbols"},{"include":"#control_keywords"},{"include":"#keywords_followed_by_braces"}]},"keywords_followed_by_braces":{"match":"(?ix)\\b(data|value|field-symbol)\\((\u003c?[a-z_\\/][a-z_0-9\\/]*\u003e?)\\)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}}},"logical_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(not|or|and)(?=\\s)"},"main_keywords":{"name":"keyword.control.simple.abap","match":"(?ix)(?\u003c=^|\\s)(\n\t abstract|access|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|badi|base|begin|between|binary|blanks|block|bound|break-point|by|byte|\n\t call|calling|cast|changing|check|checkbox|class-data|class-events|class-method|class-methods|class-pool|clear|close|cnt|collect|commit|comment|cond|character|\n\t corresponding|communication|comparing|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|destination|detail|display|divide|divide-corresponding|display-mode|distinct|duplicates|\n\t deleting|\n\t editor-call|empty|end|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|extension|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|excluding|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|found|function-pool|\n\t generate|get|group|\n\t handle|handler|hide|hashed|header|help-request|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t\t\t\t\tid|implemented|ignoring|is|in|inner|interface|interfaces|interface-pool|intervals|init|input|insert|instance|into|\n\t\t\t\t\tjoin|\n\t\t\tkey|\n\t language|left-justified|leave|like|line|lines|line-count|line-size|list-processing|load|local|log-point|length|left|leading|lower|\n\t matchcode|memory|method|mesh|message|message-id|methods|mode|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|modif|\n\t\t\tnew|new-line|new-page|new-section|next|no|no-display|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|output|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameter|parameters|partially|perform|pf-status|places|position|print-control|private|privileged|program|protected|provide|public|put|\n\t radiobutton\\s+group|raising|range|ranges|receive|receiving|redefinition|reduce|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|respecting|restore|result\\s+xml|return|returning|right|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|set|stamp|state|source|subkey|\n\t seconds|separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tables|table|task|testing|test-seam|test-injection|textpool|then|time|times|title|titlebar|to|top-of-page|trailing|transaction|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|union|unpack|until|update|upper|using|user-command|\n\t value|value-request|\n\t wait|when|while|window|write|where|with|work|\n\t\txml)(?=\\s|\\.|:|,)"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"name":"keyword.control.simple.abap","match":"(?\u003c=\\s)(\u0026\u0026|\\?=|\\+=|-=|\\/=|\\*=|\u0026\u0026=)(?=\\s)"},"reserved_names":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(me|super)(?=\\s|\\.|,|-\u003e)"},"system_fields":{"match":"(?ix)\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar[0-9]|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=\\.|\\s)","captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}}},"text_symbols":{"match":"(?ix)(?\u003c=^|\\s)(text)-([A-Z0-9]{1,3})(?=\\s|\\.|:|,)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}}}}}
@@ -1 +1 @@
1
- {"name":"Ballerina","scopeName":"source.ballerina","patterns":[{"include":"#serviceDefinition"},{"include":"#functionDefinition"},{"include":"#typeDefinition"},{"include":"#annotationDefinition"},{"include":"#documentationDef"},{"include":"#mdDocumentation"},{"include":"#objectDec"},{"include":"#classDec"},{"include":"#record"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#comment"},{"include":"#code"}],"repository":{"annotationAttachment":{"patterns":[{"name":"storage.type.annotation.ballerina","match":"@((?:(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)):)?(?:(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))"}]},"annotationDefinition":{"patterns":[{"begin":"\\bannotation\\b","end":";","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"booleans":{"patterns":[{"name":"constant.language.boolean.ballerina","match":"\\b(true|false)\\b"}]},"butClause":{"patterns":[{"begin":"=\u003e","end":",|(?=\\})","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.operator.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":"((?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))\\s*(?=\\()"}]},"callableUnitBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#workerDef"},{"include":"#serviceDefinition"},{"include":"#objectDec"},{"include":"#functionDefinition"},{"include":"#forkStatement"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"classBody":{"patterns":[{"begin":"\\bclass\\b","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#objectBody"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"delimiter.curly"}}}]},"classDec":{"patterns":[{"begin":"\\bclass\\b","end":"\\}","patterns":[{"include":"#comment"},{"include":"#objectBody"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"delimiter.curly"}}}]},"code":{"patterns":[{"include":"#booleans"},{"include":"#matchStatement"},{"include":"#butExp"},{"include":"#xml"},{"include":"#stringTemplate"},{"include":"#keywords"},{"include":"#strings"},{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#annotationAttachment"},{"include":"#numbers"},{"match":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"},{"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((?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}}}]},"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"}}}]},"errorDestructure":{"patterns":[{"begin":"error","end":"(?==\u003e)","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"storage.type.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"}}}]},"functionDefinition":{"patterns":[{"begin":"\\bfunction\\b","end":"\\}|(?=;|=)","patterns":[{"include":"#comment"},{"include":"#functionParameters"},{"include":"#functionReturns"},{"name":"keyword.ballerina","match":"extern\\b"},{"include":"#functionName"},{"include":"#callableUnitBody"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"functionName":{"patterns":[{"name":"entity.name.function.ballerina","match":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"}]},"functionParameters":{"patterns":[{"begin":"\\(|\\[","end":"\\)|\\]","patterns":[{"name":"keyword","match":"public"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#parameter"},{"include":"#parameterTuple"},{"include":"#defaultValue"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"delimiter.parenthesis"}},"endCaptures":{"0":{"name":"delimiter.parenthesis"}}}]},"functionReturns":{"patterns":[{"begin":"\\breturns\\b","end":"(?=\\{|;|,|=)","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#tupleType"},{"include":"#multiType"},{"include":"#strings"},{"name":"storage.type.ballerina","match":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"curly"}}}]},"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)|(?:(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)))","end":"(?=\\,)|(?:\\|)|(?:\\:)|(?==\u003e)|(?=\\))|(?=\\])","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#defaultValue"},{"include":"#comment"},{"include":"#parameterTuple"},{"name":"default.variable.parameter.ballerina","match":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"functionTypeType":{"patterns":[{"begin":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)","end":"(?=\\,)|(?:\\|)|(?=\\])|(?=\\))","beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"keywords":{"patterns":[{"name":"keyword.control.ballerina","match":"\\b(if|else|fork|join|while|foreach|in|return|returns|break|transaction|transactional|retry|commit|rollback|continue|typeof|enum|wait|check|checkpanic|panic|trap|match)\\b"},{"name":"keyword.other.ballerina","match":"\\b(public|private|function|external|type|record|object|remote|abstract|client|true|false|fail|import|version)\\b"},{"name":"keyword.other.ballerina","match":"\\b(as|on|resource|listener|const|final|is|null|lock|annotation|source|worker|parameter|field|isolated)\\b"},{"name":"keyword.other.ballerina","match":"\\b(xmlns|table|key|let|new|from|where|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":"keyword.operator.ballerina","match":"(!|%|\\+|\\-|~=|===|==|=|!=|!==|\u003c|\u003e|\u0026|\\||\\?:|\\.\\.\\.|\\?|\u003c=|=\u003e|\u003e=|\u0026\u0026|\\|\\||~|\u003e\u003e|\u003e\u003e\u003e)"},{"include":"#types"}]},"literal":{"patterns":[{"include":"#booleans"},{"include":"#numbers"},{"include":"#strings"},{"include":"#maps"}]},"maps":{"patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}]}]},"matchBindingPattern":{"patterns":[{"begin":"var","end":"(?==\u003e)|,","patterns":[{"include":"#errorDestructure"},{"include":"#code"},{"name":"variable.parameter.ballerina","match":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"}],"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":{"patterns":[{"include":"#mdDocumentationReturnParamDescription"},{"include":"#mdDocumentationParamDescription"},{"name":"comment.mddocs.ballerina","match":"#.*"}]},"mdDocumentationParamDescription":{"patterns":[{"begin":"(#)(?: *?)(\\+)(?: *)((?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))?(?: *)(-)?(.*)","end":"(?=[^#\\r\\n]|(?:# *?\\+))","patterns":[{"name":"comment.mddocs.paramdesc.ballerina","match":"#.*"}],"beginCaptures":{"1":{"name":"comment.mddocs.ballerina"},"2":{"name":"keyword.ballerina"},"3":{"name":"default.variable.parameter.ballerina"},"4":{"name":"keyword.ballerina"},"5":{"name":"comment.mddocs.paramdesc.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=\\|)((?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))|((?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))(?=\\|)"},{"name":"keyword.operator.ballerina","match":"\\|"}]},"numbers":{"patterns":[{"name":"constant.numeric.decimal.ballerina","match":"\\b0[xX][\\da-f]+\\b|\\b\\d+(?:\\.(?:\\d+|$))?"}]},"objectBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#mdDocumentation"},{"include":"#documentationDef"},{"include":"#functionDefinition"},{"include":"#annotationAttachment"},{"name":"keyword.ballerina","match":"(public|private|extern|resource|remote|isolated|final)"},{"include":"#comment"},{"include":"#variableDefInline"},{"include":"#code"},{"include":"#variableDef"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"objectDec":{"patterns":[{"begin":"\\bobject\\b(?!:)","end":"\\}","patterns":[{"include":"#objectBody"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"delimiter.curly"}}}]},"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((?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))\\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)|((?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))(?=\\|)|(?:(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)))","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":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"}],"beginCaptures":{"0":{"name":"storage.type.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":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"}]}]},"parameterTupleType":{"patterns":[{"begin":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)","end":"(?:\\,)|(?:\\|)|(?=\\])","beginCaptures":{"0":{"name":"storage.type.ballerina"}}}]},"parameterWithDescriptor":{"patterns":[{"begin":"\\\u0026","end":"(?=\\,)|(?=\\|)|(?=\\))","patterns":[{"include":"#parameter"}],"beginCaptures":{"0":{"name":"keyword.operator.ballerina"}}}]},"paranthesised":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#functionDefinition"},{"include":"#comment"},{"include":"#code"}]}]},"paranthesisedBracket":{"patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#comment"},{"include":"#code"}]}]},"record":{"patterns":[{"begin":"\\brecord\\b","end":"\\}","patterns":[{"include":"#recordBody"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"delimiter.curly"}}}]},"recordBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#annotationAttachment"},{"include":"#comment"},{"include":"#objectMemberFunctionDec"},{"include":"#variableDefInline"},{"include":"#code"},{"include":"#variableDef"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"recordLiteral":{"patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"serviceBody":{"patterns":[{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#documentationDef"},{"include":"#annotationAttachment"},{"include":"#functionDefinition"},{"include":"#recordLiteral"},{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"serviceDefinition":{"patterns":[{"begin":"\\bservice\\b","end":"\\}|;|=","patterns":[{"include":"#comment"},{"include":"#objectDec"},{"include":"#classBody"},{"include":"#serviceBody"},{"include":"#serviceOn"},{"include":"#serviceName"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"serviceName":{"patterns":[{"name":"entity.name.function.ballerina","match":"(\\/((?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)*)|\\\"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)\\\")"}]},"serviceOn":{"patterns":[{"begin":"on","end":"(?={)","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}}}]},"stringTemplate":{"patterns":[{"begin":"(\\bstring|\\bbase[1-9]*)(\\s*)(`)|(`)","end":"`","patterns":[{"name":"constant.character.escape.ballerina","match":"\\\\."},{"include":"#templateVariable"},{"name":"string","match":"."}],"beginCaptures":{"1":{"name":"keyword.ballerina"},"2":{},"3":{"name":"string.template.ballerina"}},"endCaptures":{"0":{"name":"string.template.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"}}}]},"templateVariable":{"patterns":[{"begin":"\\${","end":"}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"constant.character.escape.ballerina"}},"endCaptures":{"0":{"name":"constant.character.escape.ballerina"}}}]},"tupleType":{"patterns":[{"begin":"\\[","end":"(?=\\]|;)","patterns":[{"include":"#comment"},{"include":"#constrainType"},{"include":"#paranthesisedBracket"},{"name":"storage.type.ballerina","match":"\\b((?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))\\b"}]}]},"typeDefinition":{"patterns":[{"begin":"\\btype\\b","end":";","patterns":[{"include":"#comment"},{"include":"#typeDescription"}],"beginCaptures":{"0":{"name":"keyword.ballerina"}},"endCaptures":{"0":{"name":"source.ballerina"}}}]},"typeDescription":{"patterns":[{"begin":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)","end":"(?=;)","patterns":[{"include":"#comment"},{"include":"#objectDec"},{"include":"#record"},{"include":"#objectMemberFunctionDec"},{"include":"#literal"},{"name":"storage.type.ballerina","match":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"}],"beginCaptures":{"0":{"name":"entity.name.function.ballerina"}},"endCaptures":{"0":{"name":"source.ballerina"}}}]},"types":{"patterns":[{"name":"storage.type.ballerina","match":"\\b(boolean|int|float|string|decimal|handle|var|any|anydata|byte|future|typedesc)\\b"},{"name":"storage.type.ballerina","match":"\\b(map|json|xml|error|never|readonly|distinct)\\b"},{"name":"storage.type.ballerina","match":"\\b(stream)\\b"}]},"variableDef":{"patterns":[{"begin":"(?:(?!\\+)(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))(?: |\\t)|(?=\\()","end":"(?:(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+))|(?=\\,)|(?=;)|\\.\\.\\.","patterns":[{"include":"#tupleType"},{"include":"#constrainType"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"storage.type.ballerina"}},"endCaptures":{"0":{"name":"source.ballerina"}}}]},"variableDefInline":{"patterns":[{"begin":"(?=record)|(?=object)","end":"(?=;)","patterns":[{"include":"#record"},{"include":"#objectDec"},{"name":"source.ballerina","match":"(?:'?(?:(?:[^ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s\\\\])|\\\\(?:[ (){}\\[\\]\\-?*=\u003e\u003c?;\"',.\\s])|\\\\)+)"}]}]},"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":[{"begin":"(\\bxml)(\\s*)(`)","end":"`","patterns":[{"include":"#xmlTag"},{"include":"#xmlComment"},{"include":"#templateVariable"},{"name":"string","match":"."}],"beginCaptures":{"1":{"name":"keyword.ballerina"},"2":{},"3":{"name":"string.template.ballerina"}},"endCaptures":{"0":{"name":"string.template.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":"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.begin.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":"#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"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"BC","scopeName":"source.bc","patterns":[{"include":"#main"}],"repository":{"args":{"name":"meta.arguments.bc","begin":"\\G\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bc"}}},"arrayAccess":{"name":"meta.item-access.bc","contentName":"meta.subscript.bc","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.square.bracket.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.section.square.bracket.end.bc"}}},"assignment":{"name":"meta.assignment.statement.bc","begin":"(?x)\n(?:\n\t\\b\n\t(?:\n\t\t(ibase|obase|scale|history|last)\n\t\t|\n\t\t(?:\n\t\t\t([a-z][a-z_0-9]+)\n\t\t\t|\n\t\t\t([a-z])\n\t\t)\n\t\t(\\s*\\[[^\\[\\]]*\\])?\n\t)\n\t|\n\t(\\.)\n\t|\n\t(?\u003c=\\])\n)\n\\s*\n([-+*/%^]?=)","end":"(?=$|;|,)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.language.$1.assignment.bc"},"2":{"name":"variable.assignment.long.bc"},"3":{"name":"variable.assignment.short.bc"},"4":{"patterns":[{"include":"#arrayAccess"}]},"5":{"name":"variable.language.last.assignment.bc"},"6":{"patterns":[{"include":"#operators"}]}}},"auto":{"name":"meta.local-variables.bc","begin":"(?\u003c=\\s|^|\\G|\\*/)\\b(auto)(?=\\s|$)","end":"$|(?=;|#|/\\*)","patterns":[{"name":"variable.local.array.long.bc","match":"\\b[a-z][a-z_0-9]+(\\[\\])","captures":{"1":{"name":"punctuation.definition.variable.array.bc"}}},{"name":"variable.local.array.short.bc","match":"\\b[a-z](\\[\\])","captures":{"1":{"name":"punctuation.definition.variable.array.bc"}}},{"name":"variable.local.scalar.long.bc","match":"\\b[a-z][a-z_0-9]+"},{"name":"variable.local.scalar.short.bc","match":"\\b[a-z]\\b"},{"include":"#lineContinuation"},{"include":"etc#comma"}],"beginCaptures":{"1":{"name":"storage.modifier.auto.bc"}}},"block":{"name":"meta.block.bc","begin":"{","end":"}","patterns":[{"include":"#statement"}],"beginCaptures":{"0":{"name":"punctuation.section.block.curly.bracket.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.section.block.curly.bracket.end.bc"}}},"call":{"patterns":[{"name":"meta.expression.$1-call.bc","begin":"\\b(sqrt|length|scale|read)\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#args"}],"beginCaptures":{"1":{"name":"keyword.operator.expression.$1.bc"}}},{"name":"meta.function-call.bc","begin":"\\b(?:([scalej])|([a-z][a-z_0-9]*))\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#args"}],"beginCaptures":{"1":{"name":"support.function.math-library.bc"},"2":{"name":"entity.name.function.bc"}}}]},"comments":{"patterns":[{"name":"comment.block.bc","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.bc"}}},{"name":"comment.line.number-sign.bc","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.bc"}}}]},"condition":{"name":"meta.condition.expression.bc","begin":"\\G\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.condition.round.bracket.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.section.condition.round.bracket.end.bc"}}},"expression":{"patterns":[{"include":"#comments"},{"include":"#operators"},{"include":"#number"},{"include":"#string"},{"include":"#group"},{"include":"#call"},{"include":"#variable"},{"include":"#arrayAccess"},{"include":"#lineContinuation"},{"include":"etc#comma"}]},"for":{"name":"meta.block.for.loop.bc","begin":"\\b(for)[ \\t]*","end":"(?!\\G)","patterns":[{"begin":"\\G\\(","end":"\\)","patterns":[{"name":"meta.loop.initialisation.bc","begin":"\\G(?!;)","end":"(?=;|\\))","patterns":[{"include":"#expression"}]},{"name":"meta.loop.condition.bc","begin":";","end":";|(?=\\))","patterns":[{"include":"#expression"}],"captures":{"0":{"patterns":[{"include":"etc#semi"}]}}},{"name":"meta.loop.update.bc","begin":"(?\u003c=;)","end":"(?=\\))","patterns":[{"include":"#expression"}]}],"beginCaptures":{"0":{"name":"punctuation.section.condition.round.bracket.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.section.condition.round.bracket.end.bc"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.loop.for.bc"}}},"function":{"name":"meta.function.definition.bc","begin":"(?\u003c=\\s|^|\\G)(define)(?=\\s|$)","end":"(?\u003c=})","patterns":[{"include":"#functionHead"},{"include":"#functionBody"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.type.function.bc"}}},"functionBody":{"name":"meta.block.function-body.bc","begin":"{","end":"}","patterns":[{"include":"#auto"},{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.section.block.curly.bracket.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.section.block.curly.bracket.end.bc"}}},"functionHead":{"begin":"\\G","end":"(?\u003c=\\))|(?={)","patterns":[{"begin":"\\G","end":"(?:(void)\\s+)?([a-z][a-z_0-9]+)|([a-z]\\b)|(?=[^\\sa-z/*#])","endCaptures":{"1":{"name":"storage.modifier.void.gnu.bc"},"2":{"name":"entity.name.function.long.bc"},"3":{"name":"entity.name.function.short.bc"}}},{"begin":"(?\u003c=[a-z_0-9])(?!\\G)\\s*(?=\\()","end":"(?!\\G)","patterns":[{"name":"meta.parameters.bc","begin":"\\G\\(","end":"\\)","patterns":[{"name":"variable.parameter.function.array.long.bc","match":"(\\*)?\\b[a-z][a-z_0-9]+(\\[\\])","captures":{"1":{"name":"storage.modifier.callable.bc"},"2":{"name":"punctuation.definition.variable.array.bc"}}},{"name":"variable.parameter.function.array.short.bc","match":"(\\*)?\\b[a-z](\\[\\])","captures":{"1":{"name":"storage.modifier.callable.bc"},"2":{"name":"punctuation.definition.variable.array.bc"}}},{"name":"variable.parameter.function.long.bc","match":"\\b[a-z][a-z_0-9]+"},{"name":"variable.parameter.function.short.bc","match":"\\b[a-z]\\b"},{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.round.bracket.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.round.bracket.end.bc"}}}]},{"include":"#comments"}]},"group":{"name":"meta.expression.group.bc","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.expression.round.bracket.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.section.expression.round.bracket.end.bc"}}},"if":{"patterns":[{"name":"meta.block.conditional.bc","begin":"\\b(if)[ \\t]*","end":"(?!\\G)","patterns":[{"include":"#condition"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.control.flow.conditional.if.bc"}}},{"name":"keyword.control.flow.conditional.else.bc","match":"\\b(else)\\b"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.$1.bc","match":"\\b(break|continue|quit)\\b"},{"name":"keyword.control.flow.$1.gnu.bc","match":"\\b(halt)\\b"},{"name":"keyword.operator.$1.gnu.bc","match":"\\b(limits|warranty)\\b"}]},"lineContinuation":{"name":"constant.character.escape.newline.line-continuation.bc","begin":"(\\\\)$\\s*","end":"^","beginCaptures":{"1":{"name":"punctuation.definition.escape.backslash.bc"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#function"},{"include":"#statement"},{"include":"#expression"}]},"number":{"name":"constant.numeric.bc","match":"[-+]?(?:[0-9A-F]+(?:\\.[0-9A-F]*)?|\\.[0-9A-F]*)"},"operators":{"patterns":[{"include":"etc#opFix"},{"match":"[\u003c=\u003e!]=|\u003c|\u003e","captures":{"0":{"patterns":[{"include":"etc#opCmp"}]}}},{"match":"[-+*/%^]?=","captures":{"0":{"patterns":[{"include":"etc#opMathAssign"},{"include":"etc#eql"}]}}},{"match":"[-^*/%+]","captures":{"0":{"patterns":[{"include":"etc#opMath"}]}}},{"match":"!|\u0026\u0026|\\|\\|","captures":{"0":{"patterns":[{"include":"etc#opLog"}]}}}]},"print":{"name":"meta.print.statement.bc","begin":"\\b(print)\\b[ \\t]*","end":"(?=$|;)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.print.bc"}}},"return":{"name":"meta.return.statement.bc","begin":"\\b(return)\\b[ \\t]*","end":"(?=$|;|(?\u003c=\\)))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.flow.return.bc"}}},"semi":{"name":"punctuation.terminator.statement.semicolon.bc","match":";"},"statement":{"patterns":[{"include":"#if"},{"include":"#while"},{"include":"#for"},{"include":"#block"},{"include":"#assignment"},{"include":"#keywords"},{"include":"#return"},{"include":"#print"},{"include":"#semi"},{"include":"#expression"}]},"string":{"name":"string.quoted.double.bc","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.backslash.bc","match":"(\\\\)[abfnqrt\\\\]","captures":{"1":{"name":"punctuation.definition.escape.backslash.bc"}}},{"name":"invalid.illegal.unknown-escape.bc","match":"\\\\(?:[^\"]|(?=\"))"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.bc"}}},"variable":{"patterns":[{"name":"variable.language.$1.dereference.bc","match":"\\b(ibase|obase|scale|history|last)\\b"},{"name":"variable.language.last.dereference.bc","match":"\\.(?![0-9A-F])"},{"name":"variable.dereference.long.bc","match":"\\b[a-z][a-z_0-9]+\\b"},{"name":"variable.dereference.short.bc","match":"\\b[a-z]\\b"}]},"while":{"name":"meta.block.while.loop.bc","begin":"\\b(while)[ \\t]*","end":"(?!\\G)","patterns":[{"include":"#condition"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.control.flow.loop.while.bc"}}}}}
@@ -1 +1 @@
1
- {"name":"Bicep","scopeName":"source.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}],"repository":{"array-literal":{"name":"meta.array-literal.bicep","begin":"\\[(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\bfor\\b)","end":"]","patterns":[{"include":"#expression"},{"include":"#comments"}]},"block-comment":{"name":"comment.block.bicep","begin":"/\\*","end":"\\*/"},"comments":{"patterns":[{"include":"#line-comment"},{"include":"#block-comment"}]},"decorator":{"name":"meta.decorator.bicep","begin":"@(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*(?=\\b[_$[:alpha:]][_$[:alnum:]]*\\b)","patterns":[{"include":"#expression"},{"include":"#comments"}]},"escape-character":{"name":"constant.character.escape.bicep","match":"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)"},"expression":{"patterns":[{"include":"#string-literal"},{"include":"#string-verbatim"},{"include":"#numeric-literal"},{"include":"#named-literal"},{"include":"#object-literal"},{"include":"#array-literal"},{"include":"#keyword"},{"include":"#identifier"},{"include":"#function-call"},{"include":"#decorator"}]},"function-call":{"name":"meta.function-call.bicep","begin":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b)(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"entity.name.function.bicep"}}},"identifier":{"name":"variable.other.readwrite.bicep","match":"\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\()"},"keyword":{"name":"keyword.control.declaration.bicep","match":"\\b(targetScope|resource|module|param|var|output|for|in|if|existing)\\b"},"line-comment":{"name":"comment.line.double-slash.bicep","match":"//.*(?=$)"},"named-literal":{"name":"constant.language.bicep","match":"\\b(true|false|null)\\b"},"numeric-literal":{"name":"constant.numeric.bicep","match":"[0-9]+"},"object-literal":{"name":"meta.object-literal.bicep","begin":"{","end":"}","patterns":[{"include":"#object-property"},{"include":"#comments"}]},"object-property":{"name":"meta.object-property.bicep","begin":"(?\u003c=^)(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*})","end":"(?=$)","patterns":[{"include":"#object-property-key-identifier"},{"include":"#string-literal"},{"include":"#object-property-end"},{"include":"#comments"}]},"object-property-end":{"name":"meta.object-property-end.bicep","begin":":((?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*)","end":"(?=(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*$)","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"patterns":[{"include":"#line-comment"},{"include":"#block-comment"}]}}},"object-property-key-identifier":{"name":"meta.object-property-key-identifier.bicep","match":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b)","captures":{"1":{"name":"variable.other.property.bicep"}}},"string-literal":{"name":"string.quoted.single.bicep","begin":"'(?!'')","end":"'","patterns":[{"include":"#escape-character"},{"include":"#string-literal-subst"}]},"string-literal-subst":{"name":"meta.string-literal-subst.bicep","begin":"(?\u003c!\\\\)(\\${)","end":"(})","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.bicep"}},"endCaptures":{"1":{"name":"punctuation.definition.template-expression.end.bicep"}}},"string-verbatim":{"name":"string.quoted.multi.bicep","begin":"'''","end":"'''"}}}
1
+ {"name":"Bicep","scopeName":"source.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}],"repository":{"array-literal":{"name":"meta.array-literal.bicep","begin":"\\[(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\bfor\\b)","end":"]","patterns":[{"include":"#expression"},{"include":"#comments"}]},"block-comment":{"name":"comment.block.bicep","begin":"/\\*","end":"\\*/"},"comments":{"patterns":[{"include":"#line-comment"},{"include":"#block-comment"}]},"decorator":{"name":"meta.decorator.bicep","begin":"@(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*(?=\\b[_$[:alpha:]][_$[:alnum:]]*\\b)","patterns":[{"include":"#expression"},{"include":"#comments"}]},"escape-character":{"name":"constant.character.escape.bicep","match":"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)"},"expression":{"patterns":[{"include":"#string-literal"},{"include":"#string-verbatim"},{"include":"#numeric-literal"},{"include":"#named-literal"},{"include":"#object-literal"},{"include":"#array-literal"},{"include":"#keyword"},{"include":"#identifier"},{"include":"#function-call"},{"include":"#decorator"}]},"function-call":{"name":"meta.function-call.bicep","begin":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b)(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"entity.name.function.bicep"}}},"identifier":{"name":"variable.other.readwrite.bicep","match":"\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\()"},"keyword":{"name":"keyword.control.declaration.bicep","match":"\\b(targetScope|resource|module|param|var|output|for|in|if|existing|import|from)\\b"},"line-comment":{"name":"comment.line.double-slash.bicep","match":"//.*(?=$)"},"named-literal":{"name":"constant.language.bicep","match":"\\b(true|false|null)\\b"},"numeric-literal":{"name":"constant.numeric.bicep","match":"[0-9]+"},"object-literal":{"name":"meta.object-literal.bicep","begin":"{","end":"}","patterns":[{"include":"#object-property"},{"include":"#comments"}]},"object-property":{"name":"meta.object-property.bicep","begin":"(?\u003c=^)(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*})","end":"(?=$)","patterns":[{"include":"#object-property-key-identifier"},{"include":"#string-literal"},{"include":"#object-property-end"},{"include":"#comments"}]},"object-property-end":{"name":"meta.object-property-end.bicep","begin":":((?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*)","end":"(?=(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*$)","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"patterns":[{"include":"#line-comment"},{"include":"#block-comment"}]}}},"object-property-key-identifier":{"name":"meta.object-property-key-identifier.bicep","match":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b)","captures":{"1":{"name":"variable.other.property.bicep"}}},"string-literal":{"name":"string.quoted.single.bicep","begin":"'(?!'')","end":"'","patterns":[{"include":"#escape-character"},{"include":"#string-literal-subst"}]},"string-literal-subst":{"name":"meta.string-literal-subst.bicep","begin":"(?\u003c!\\\\)(\\${)","end":"(})","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.bicep"}},"endCaptures":{"1":{"name":"punctuation.definition.template-expression.end.bicep"}}},"string-verbatim":{"name":"string.quoted.multi.bicep","begin":"'''","end":"'''"}}}
@@ -1 +1 @@
1
- {"name":"Cirru","scopeName":"source.cirru","patterns":[{"name":"string.quoted.double.cirru","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.cirru","match":"\\\\."}]},{"name":"constant.numeric.cirru","match":"-?\\b\\d\\S*\\b"},{"name":"keyword.operator.cirru","match":"(?=^)\\s*\\,"},{"name":"support.function.cirru","match":"(?=^)\\s*[^\\(\\)\\s\\$][^\\(\\)\\s]*"},{"name":"support.function.cirru","match":"(?\u003c=\\()[^\\(\\)\\s\\$][^\\(\\)\\s]*"},{"name":"support.function.cirru","match":"(?=\\$\\s+)[^\\(\\)\\s\\$][^\\(\\)\\s]*"},{"name":"keyword.operator.cirru","match":"\\s\\$\\s*$"},{"name":"entity.cirru","match":"\\s+((\\$\\s+)+)([^\\(\\)\\s\\$][^\\(\\)\\s]*)","captures":{"1":{"name":"keyword.operator.cirru"},"3":{"name":"support.function.cirru"}}},{"name":"keyword.operator.cirru","match":"[\\)\\(]"},{"name":"variable.parameter.cirru","match":"(?!=($\\s+))[^\\(\\)\\s\\$][^\\(\\)\\s]*"}]}
1
+ {"name":"Cirru","scopeName":"source.cirru","patterns":[{"name":"string.quoted.double.cirru","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.cirru","match":"\\\\."}]},{"name":"constant.numeric.cirru","match":"-?\\b\\d\\S*\\b"},{"name":"keyword.operator.cirru","match":"(?=^)\\s*\\,"},{"name":"keyword.operator.cirru","match":"\\s\\$\\s*$"},{"name":"support.function.cirru","match":"(?=^)\\s*[^\\(\\)\\s][^\\(\\)\\s]*"},{"name":"support.function.cirru","match":"(?\u003c=\\()[^\\(\\)\\s][^\\(\\)\\s]*"},{"name":"support.function.cirru","match":"(?=\\$\\s+)[^\\(\\)\\s][^\\(\\)\\s]*"},{"name":"entity.cirru","match":"\\s+((\\$\\s+)+)([^\\(\\)\\s][^\\(\\)\\s]*)","captures":{"1":{"name":"keyword.operator.cirru"},"3":{"name":"support.function.cirru"}}},{"name":"keyword.operator.cirru","match":"[\\)\\(]"},{"name":"variable.parameter.cirru","match":"(?!=($\\s+))[^\\(\\)\\s][^\\(\\)\\s]*"}]}