github-linguist 9.4.0 → 9.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/etc.json +1 -1
  3. data/grammars/markdown.mojo.codeblock.json +1 -0
  4. data/grammars/markdown.move.codeblock.json +1 -1
  5. data/grammars/source.4dm.json +1 -1
  6. data/grammars/source.abl.json +1 -1
  7. data/grammars/source.apex.json +1 -1
  8. data/grammars/source.astro.json +1 -1
  9. data/grammars/source.baml-jinja.json +1 -0
  10. data/grammars/source.baml.json +1 -0
  11. data/grammars/source.bb.json +1 -1
  12. data/grammars/source.brs.embedded.xml.json +1 -0
  13. data/grammars/source.bsl.json +1 -1
  14. data/grammars/source.c++.json +1 -1
  15. data/grammars/source.c.json +1 -1
  16. data/grammars/source.c3.json +1 -1
  17. data/grammars/source.cel.json +1 -0
  18. data/grammars/source.clarion.json +1 -1
  19. data/grammars/source.cmake.json +1 -1
  20. data/grammars/source.cmakecache.json +1 -1
  21. data/grammars/source.cpan-mirror.json +1 -0
  22. data/grammars/source.cpan-skiplist.json +1 -0
  23. data/grammars/source.cs.json +1 -1
  24. data/grammars/source.csv.json +1 -1
  25. data/grammars/source.curlrc.json +1 -1
  26. data/grammars/source.dart.json +1 -1
  27. data/grammars/source.daslang.json +1 -1
  28. data/grammars/source.data-weave.json +1 -1
  29. data/grammars/source.emacs.lisp.json +1 -1
  30. data/grammars/source.firrtl.json +1 -1
  31. data/grammars/source.flatbuffers.json +1 -0
  32. data/grammars/source.gdscript.json +1 -1
  33. data/grammars/source.gimprc.json +1 -0
  34. data/grammars/source.gimpres.json +1 -0
  35. data/grammars/source.graphql.json +1 -1
  36. data/grammars/source.gtkrc.json +1 -0
  37. data/grammars/source.hack.json +1 -1
  38. data/grammars/source.hosts.json +1 -1
  39. data/grammars/source.il.json +1 -0
  40. data/grammars/source.ilecobol.json +1 -1
  41. data/grammars/source.ink.json +1 -1
  42. data/grammars/source.interp.json +1 -0
  43. data/grammars/source.jac.json +1 -1
  44. data/grammars/source.jactoml.json +1 -0
  45. data/grammars/source.jai.json +1 -1
  46. data/grammars/source.julia.json +1 -1
  47. data/grammars/source.just.json +1 -1
  48. data/grammars/source.lean4.markdown.json +1 -1
  49. data/grammars/source.liquidsoap.json +1 -0
  50. data/grammars/source.llvm.json +1 -1
  51. data/grammars/source.luau.json +1 -1
  52. data/grammars/source.m2.json +1 -1
  53. data/grammars/source.m3u.json +1 -1
  54. data/grammars/source.matlab.json +1 -1
  55. data/grammars/source.mc.json +1 -1
  56. data/grammars/source.mdx.astro.json +1 -1
  57. data/grammars/source.mermaid.json +1 -1
  58. data/grammars/source.metta.json +1 -0
  59. data/grammars/source.mo.json +1 -1
  60. data/grammars/source.mojo.json +1 -1
  61. data/grammars/source.moonbit.config.json +1 -0
  62. data/grammars/source.moonbit.json +1 -1
  63. data/grammars/source.move.json +1 -1
  64. data/grammars/source.opy.json +1 -0
  65. data/grammars/source.pic.json +1 -1
  66. data/grammars/source.pkgconf.json +1 -0
  67. data/grammars/source.powerquery.json +1 -0
  68. data/grammars/source.powershell.json +1 -1
  69. data/grammars/source.prisma.json +1 -1
  70. data/grammars/source.quint.json +1 -0
  71. data/grammars/source.rascal.json +1 -1
  72. data/grammars/source.rascript.json +1 -1
  73. data/grammars/source.record-jar.json +1 -1
  74. data/grammars/source.redscript.json +1 -0
  75. data/grammars/source.rego.json +1 -1
  76. data/grammars/source.ron.json +1 -1
  77. data/grammars/source.rpgle.json +1 -1
  78. data/grammars/source.slang.json +1 -1
  79. data/grammars/source.slint.json +1 -1
  80. data/grammars/source.soql.json +1 -1
  81. data/grammars/source.spicedb-yaml.json +1 -0
  82. data/grammars/source.spicedb.json +1 -0
  83. data/grammars/source.stan.json +1 -1
  84. data/grammars/source.surrealql.json +1 -1
  85. data/grammars/source.swift.json +1 -1
  86. data/grammars/source.tsp.json +1 -1
  87. data/grammars/source.uri-list.json +1 -0
  88. data/grammars/source.v.json +1 -1
  89. data/grammars/source.vento.json +1 -1
  90. data/grammars/source.wgsl.json +1 -1
  91. data/grammars/spicedb-yaml.injection.json +1 -0
  92. data/grammars/text.cachedir.json +1 -0
  93. data/grammars/text.cookie-jar.json +1 -0
  94. data/grammars/text.html.vue.json +1 -1
  95. data/grammars/text.mac-tts.json +1 -0
  96. data/grammars/text.roff.json +1 -1
  97. data/grammars/text.srt.json +1 -1
  98. data/grammars/version +1 -1
  99. data/lib/linguist/VERSION +1 -1
  100. data/lib/linguist/classifier.rb +2 -1
  101. data/lib/linguist/generated.rb +16 -0
  102. data/lib/linguist/generic.yml +2 -0
  103. data/lib/linguist/heuristics.yml +17 -0
  104. data/lib/linguist/language.rb +8 -0
  105. data/lib/linguist/languages.json +1 -1
  106. data/lib/linguist/languages.yml +173 -12
  107. data/lib/linguist/lazy_blob.rb +19 -1
  108. data/lib/linguist/samples.json +1 -1
  109. data/lib/linguist/source/rugged.rb +16 -1
  110. data/lib/linguist/vendor.yml +3 -0
  111. metadata +30 -3
  112. data/grammars/source.vscode.c3.json +0 -1
  113. data/grammars/text.html.vento.json +0 -1
@@ -1 +1 @@
1
- {"name":"ink","scopeName":"source.ink","patterns":[{"include":"#comment"},{"include":"#tag"},{"include":"#todo"},{"include":"#import"},{"include":"#declaration"},{"include":"#knot"},{"include":"#stitch"},{"include":"#choice"},{"include":"#divert"},{"include":"#gather"},{"include":"#logic"},{"include":"#glue"},{"include":"#interpolevaluablock"}],"repository":{"alternativeClause":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(-(?!\u003e))","end":"(?=^)|(?=\\})|(?=\\-)","patterns":[{"include":"#comment"},{"include":"#interpolevaluablock"},{"include":"#divert"},{"include":"#logic"},{"include":"#choice"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"alternativeItem":{"patterns":[{"begin":"(?\u003c!\\\\)(\\|)","end":"(?=\\})|(?=\\|)","patterns":[{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#comment"},{"include":"#interpolevaluablock"},{"include":"#divert"},{"include":"#tag"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"assignment":{"patterns":[{"begin":"([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*(=)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#divert"},{"include":"#expressionIdentifier"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"entity.name.variable.other.ink"},"2":{"name":"keyword.operator.assignment.ink"}}}]},"caseClause":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(-(?!\u003e))(?:[^\\S\\n\\r])?(else|[^\\|\\{\\}\\:]+)(?:[^\\S\\n\\r])*(?\u003c!\\\\)(\\:)","end":"(?=^)|(?=\\})|(?=\\-)","patterns":[{"include":"#interpolevaluablock"},{"include":"#divert"},{"include":"#logic"},{"include":"#glue"},{"include":"#choiceInClause"},{"include":"#tag"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"},"2":{"name":"keyword.control.ink"},"3":{"name":"keyword.control.ink"}}}]},"choice":{"patterns":[{"begin":"(?x)\n (?\u003c=^|\\-)\n (?:[^\\S\\n\\r])*\n (?:\n ((?:(?:[^\\S\\n\\r])*[\\*])+)\n |\n ((?:(?:[^\\S\\n\\r])*[\\+])+)\n )","end":"(?=\\#|$)","patterns":[{"include":"#comment"},{"include":"#label"},{"include":"#inlineConditionalSubstitution"},{"include":"#textSuppression"},{"include":"#divert"},{"include":"#tag"},{"include":"#glue"},{"include":"#logic"}],"beginCaptures":{"1":{"name":"keyword.choice.ink"},"2":{"name":"keyword.choice.sticky.ink"}}}]},"choiceInClause":{"patterns":[{"begin":"(?x)\n (?\u003c=^|\\-|\\:)\n (?:[^\\S\\n\\r])*\n (?:\n ((?:(?:[^\\S\\n\\r])*[\\*])+)\n |\n ((?:(?:[^\\S\\n\\r])*[\\+])+)\n )","end":"(?=\\#|$)","patterns":[{"include":"#comment"},{"include":"#label"},{"include":"#inlineConditionalSubstitution"},{"include":"#textSuppression"},{"include":"#divert"},{"include":"#tag"},{"include":"#glue"},{"include":"#logic"}],"beginCaptures":{"2":{"name":"keyword.choice.ink"},"3":{"name":"keyword.choice.sticky.ink"}}}]},"commas":{"patterns":[{"name":"punctuation.separator.ink","match":"\\,"}]},"comment":{"patterns":[{"name":"comment.block.ink","begin":"(/\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ink"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.ink"}}},{"name":"comment.line.ink","begin":"(\\/\\/)","end":"(?=$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ink"}}}]},"conditionalSubstitution":{"patterns":[{"begin":"((?:[^\\{\\}\\|]|\\|(?=\\|))+(?:[^\\S\\n\\r])*\\:)(?:[^\\S\\n\\r])*(?!$)","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#divert"},{"include":"#glue"},{"include":"#inlineElseClause"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"constAssignment":{"patterns":[{"begin":"([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*(=)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#divert"},{"include":"#expressionIdentifier"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.other.constant.ink entity.name.variable.other.constant.ink"},"2":{"name":"keyword.operator.assignment.ink"}}}]},"declaration":{"patterns":[{"begin":"(?:^)(?:[^\\S\\n\\r])*((VAR)|(LIST))(?:[^\\S\\n\\r])*","end":"(?=$)","patterns":[{"include":"#assignment"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"storage.type.ink"},"2":{"name":"storage.type.var.ink"},"3":{"name":"storage.type.list.ink"}}},{"begin":"(?:^)(?:[^\\S\\n\\r])*(CONST)(?:[^\\S\\n\\r])*","end":"(?=$)","patterns":[{"include":"#constAssignment"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"storage.type.const.ink"}}},{"begin":"(?:^)(?:[^\\S\\n\\r])*(EXTERNAL)(?:[^\\S\\n\\r])*","end":"(?=$)","patterns":[{"include":"#externalFunctionDeclaration"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"storage.type.external.ink"}}}]},"divert":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*(-\u003e|\u003c-)(?:[^\\S\\n\\r])*","end":"(?=($|\\}|\\)|\\||\\-|\\#))","patterns":[{"include":"#comment"},{"include":"#function"},{"include":"#divertIdentifier"},{"include":"#tunnel"}],"beginCaptures":{"1":{"name":"keyword.divert.ink keyword.other.ink"}}}]},"divertIdentifier":{"patterns":[{"begin":"(?x) (?:[^\\S\\n\\r])* (?:\n (END|DONE)\n |\n (?:\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n (?:\n (\\.)\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n (?:\n (\\.)\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n )?\n )?\n )\n)","end":"(?=($|\\}|\\)|\\||\\#))","patterns":[{"include":"#comment"},{"include":"#tunnel"}],"beginCaptures":{"1":{"name":"support.constant.ink constant.language.divert constant.language.ink"},"2":{"name":"variable.other.knot.ink entity.name.variable.other.knot.ink"},"3":{"name":"punctuation.accessor.ink"},"4":{"name":"variable.other.stitch.ink entity.name.variable.other.stitch.ink"},"5":{"name":"punctuation.accessor.ink"},"6":{"name":"variable.other.label.ink entity.name.variable.other.label.ink"}}}]},"expression":{"patterns":[{"include":"#comment"},{"include":"#parentheses"},{"include":"#function"},{"include":"#operator"},{"include":"#languageLiteral"},{"include":"#stringLiteral"},{"include":"#expressionIdentifier"},{"include":"#numberLiteral"},{"include":"#commas"}]},"expressionIdentifier":{"patterns":[{"match":"(?x)\n (?:(?\u003c=return) |\n (?\u003c=\u0026\u0026) | (?\u003c=\\|\\|) |\n (?\u003c=\\=) |\n (?\u003c=/) | (?\u003c=%) | (?\u003c=\\*) | (?\u003c=\\+) | (?\u003c=\\-) |\n (?\u003c=\\?) | (?\u003c=!\\?) | (?\u003c=\\^) | (?\u003c=\\~) |\n (?\u003c=,) | (?=\\)))\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)","captures":{"1":{"name":"entity.name.variable.other.ink"}}},{"match":"(?x)\n (?:[^\\S\\n\\r])*\n (?:(?\u003c=not) | (?\u003c=and) | (?\u003c=or) | (?\u003c=has) | (?\u003c=hasnt) | (?\u003c=mod))\n [^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)","captures":{"1":{"name":"entity.name.variable.other.ink"}}},{"match":"(?x)\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)\n (?:[^\\S\\n\\r])*\n (?:(?=\u0026\u0026) | (?=\\|\\|) |\n (?=\\=) | (?=!\\=) | (?=\\\u003e) | (?=\\\u003c) |\n (?=/) | (?=%) | (?=\\*) | (?=\\+) | (?=\\-) |\n (?=\\?) | (?=!\\?) | (?=\\^) |\n (?=,) | (?=\\)))","captures":{"1":{"name":"entity.name.variable.other.ink"}}},{"match":"(?x)\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)\n [^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]\n (?:(?=not) | (?=and) | (?=or) | (?=has) | (?=hasnt) | (?=mod))","captures":{"1":{"name":"entity.name.variable.other.ink"}}}]},"externalFunctionDeclaration":{"patterns":[{"begin":"([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*","end":"(?\u003c=\\))","patterns":[{"include":"#functionDeclarationParameters"}],"beginCaptures":{"1":{"name":"entity.name.function.ink"}}}]},"firstAlternativeItem":{"patterns":[{"begin":"(?\u003c=\\{)(?:[^\\S\\n\\r])*(\u0026|!|~)","end":"(?=\\|)","patterns":[{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#divert"},{"include":"#tag"},{"include":"#comment"},{"include":"#conditionalSubstitution"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink keyword.alternative.type.ink"}}}]},"function":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*((LIST_COUNT|LIST_MIN|LIST_MAX|LIST_ALL|LIST_INVERT|LIST_RANDOM|CHOICE_COUNT|TURNS_SINCE|LIST_RANGE|TURNS|POW|FLOOR|CEILING|INT|FLOAT)|([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*))(?:[^\\S\\n\\r])*(\\()(?:[^\\S\\n\\r])*","end":"(\\))","patterns":[{"include":"#comment"},{"name":"punctuation.separator.ink","match":","},{"include":"#divert"},{"include":"#expression"}],"beginCaptures":{"2":{"name":"constant.language.ink"},"3":{"name":"entity.name.function.ink"},"4":{"name":"punctuation.section.parens.begin.ink"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.ink"}}}]},"functionDeclaration":{"patterns":[{"begin":"(?x)(?:[^\\S\\n\\r])*(function)(?:[^\\S\\n\\r])*([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*","end":"(?\u003c=\\))|(?=$)|(?=\\=)","patterns":[{"include":"#comment"},{"include":"#functionDeclarationParameters"}],"beginCaptures":{"1":{"name":"storage.type.ink"},"2":{"name":"entity.name.function.ink"}}}]},"functionDeclarationParameters":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"storage.modifier.ref.ink","match":"ref"},{"name":"variable.parameter.function.ink","match":"[a-zA-Z0-9_]+"},{"name":"punctuation.separator.ink","match":","},{"include":"#divert"}],"beginCaptures":{"1":{"name":"punctuation.section.parens.begin.ink"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.ink"}}}]},"gather":{"patterns":[{"begin":"(?\u003c=^)(?:[^\\S\\n\\r])*((?:(?:[^\\S\\n\\r])*\\-(?!\u003e))+)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#choice"},{"include":"#label"},{"include":"#divert"},{"include":"#todo"},{"include":"#glue"},{"include":"#logic"},{"include":"#tag"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.gather.ink"}}}]},"glue":{"patterns":[{"name":"keyword.glue.ink keyword.other.ink","match":"\u003c\u003e"}]},"import":{"patterns":[{"match":"(?:^)(?:[^\\S\\n\\r])*(INCLUDE)(?:(?:[^\\S\\n\\r])*)(.*)$","captures":{"1":{"name":"keyword.control.import.ink"},"2":{"name":"string.quoted.other.ink"}}}]},"inlineCondition":{"patterns":[{"name":"keyword.control.ink","match":"([^\\{\\}]*)","captures":{"1":{"name":"keyword.control.ink"}}}]},"inlineConditionalSubstitution":{"patterns":[{"begin":"(?\u003c!\\\\)(\\{)","end":"(?\u003c!\\\\)(\\})","patterns":[{"include":"#conditionalSubstitution"},{"include":"#substitution"},{"include":"#firstAlternativeItem"},{"include":"#alternativeItem"},{"include":"#interpolevaluablock"},{"include":"#inlineCondition"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}},"endCaptures":{"1":{"name":"keyword.control.ink"}}}]},"inlineElseClause":{"patterns":[{"begin":"(?\u003c!\\\\)(\\|)","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#divert"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"interpolatedIdentifier":{"patterns":[{"name":"entity.name.variable.other.ink","match":"(?\u003c=\\{)(?\u003c!^)(?:[^\\S\\n\\r])*[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*(\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?(?:[^\\S\\n\\r])*(?!$)(?=\\})"}]},"interpolevaluablock":{"patterns":[{"begin":"(?\u003c!\\\\)(\\{)","end":"(?\u003c!\\\\)(\\})","patterns":[{"include":"#multilineAlternative"},{"include":"#multilineBlock"},{"include":"#conditionalSubstitution"},{"include":"#divert"},{"include":"#substitution"},{"include":"#firstAlternativeItem"},{"include":"#alternativeItem"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}},"endCaptures":{"1":{"name":"keyword.control.ink"}}}]},"knot":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(={2,})","end":"(={2,})|(?=$)","patterns":[{"include":"#comment"},{"include":"#functionDeclaration"},{"include":"#knotStitchDeclaration"}],"beginCaptures":{"1":{"name":"storage.knot.ink storage.type.ink"}},"endCaptures":{"1":{"name":"storage.knot.ink storage.type.ink"}}}]},"knotStitchDeclaration":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*","end":"(?\u003c=\\))|(?=$|\\=|\\/\\/)","patterns":[{"include":"#comment"},{"include":"#functionDeclarationParameters"}],"beginCaptures":{"1":{"name":"entity.name.function.ink"}}}]},"label":{"patterns":[{"name":"string.label.ink entity.name.label.ink string.quoted.other.ink","match":"(\\()(?:[^\\S\\n\\r])*[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*(?:[^\\S\\n\\r])*(\\))","captures":{"1":{"name":"punctuation.definition.string.label.begin.ink punctuation.definition.string.begin.ink"},"2":{"name":"punctuation.definition.string.label.begin.ink punctuation.definition.string.begin.ink"}}}]},"languageLiteral":{"patterns":[{"match":"(?:[^\\S\\n\\r])*(false|true)(?:[^\\S\\n\\r])*","captures":{"1":{"name":"constant.language.boolean.ink constant.language.ink"}}}]},"logic":{"patterns":[{"begin":"(?:(?\u003c=^)|(?\u003c=\\-)|(?\u003c=\\:))(?:[^\\S\\n\\r])*(~)","end":"(?=$)","patterns":[{"include":"#returnStatement"},{"include":"#tempDeclaration"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.logic.ink"}}}]},"multilineAlternative":{"patterns":[{"begin":"(?\u003c=\\{)(?:[^\\S\\n\\r])*$","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#caseClause"},{"include":"#alternativeClause"},{"include":"#divert"},{"include":"#logic"},{"include":"#choice"},{"include":"#glue"},{"include":"#todo"},{"include":"#interpolevaluablock"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"multilineBlock":{"patterns":[{"begin":"([^\\{\\}]+(?:[^\\S\\n\\r])*\\:)(?:[^\\S\\n\\r])*(?=$|\\/\\/)","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#caseClause"},{"include":"#alternativeClause"},{"include":"#divert"},{"include":"#logic"},{"include":"#choice"},{"include":"#glue"},{"include":"#todo"},{"include":"#interpolevaluablock"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"numberLiteral":{"patterns":[{"match":"(?:[^\\S\\n\\r])*([0-9]+(\\.[0-9]+)?)(?:[^\\S\\n\\r])*","captures":{"1":{"name":"constant.numeric.ink"}}}]},"operator":{"patterns":[{"name":"keyword.operator.logical.ink","match":"(?x)\n \\~ |\n !(?!=) |\n \u0026\u0026 |\n \\|\\|"},{"name":"keyword.operator.assignment.ink","match":"(?x)\n =(?!=)"},{"name":"keyword.operator.assignment.augmented.ink","match":"(?x)\n %= |\n \u0026= |\n \\*= |\n \\+= |\n \\-= |\n /="},{"name":"keyword.operator.relational.ink","match":"(?x)\n \u003c= |\n \u003e= |\n \u003c |\n \u003e"},{"name":"keyword.operator.comparison.ink","match":"(?x)\n == |\n !="},{"name":"keyword.operator.arithmetic.ink","match":"(?x)\n \\-\\- |\n \\+\\+ |\n / |\n % |\n \\* |\n \\+ |\n (?\u003c!$)(?:[^\\S\\n\\r])*-(?:[^\\S\\n\\r])*(?!=)"},{"name":"keyword.operator.membership.ink","match":"(?x)\n \\? |\n !\\? |\n \\^"},{"name":"keyword.operator.word.ink","match":"(?x)\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])not (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])and (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])or (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])has (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])hasnt (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])mod (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])"}]},"parentheses":{"patterns":[{"name":"punctuation.section.parens.begin.ink","match":"\\("},{"name":"punctuation.section.parens.end.ink","match":"\\)"}]},"returnStatement":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*(return)(?=\\s)","end":"(?=$)","patterns":[{"include":"#function"},{"include":"#divert"},{"include":"#languageLiteral"},{"include":"#stringLiteral"},{"include":"#expressionIdentifier"},{"include":"#expression"},{"include":"#numberLiteral"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"stitch":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(=)","end":"(?=^)","patterns":[{"include":"#comment"},{"include":"#knotStitchDeclaration"}],"beginCaptures":{"1":{"name":"storage.knot.ink storage.type.ink"}}}]},"stringLiteral":{"patterns":[{"begin":"(?:[^\\S\\n\\r]*)(\\\")","end":"(\\\")(?:[^\\S\\n\\r]*)","patterns":[{"name":"constant.character.escape.ink","match":"\\\\."},{"name":"string.quoted.double.ink","match":"[^\\n\\r\\\"]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ink"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ink"}}}]},"substitution":{"patterns":[{"match":"(?\u003c=\\{)([^\\{\\}\\:\\|]+)(?=\\})","captures":{"1":{"name":"keyword.control.ink"}}}]},"tag":{"patterns":[{"name":"string.quoted.other.ink entity.tag.ink","begin":"(?\u003c!\\\\)(\\#)","end":"(?=$|\\#)","patterns":[{"include":"#comment"},{"include":"#tag"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.ink comment.line.ink entity.tag.begin.ink"}}}]},"tempDeclaration":{"patterns":[{"begin":"(?x)\n (?:(?\u003c=^)|(?\u003c=\\~))\n (?:[^\\S\\n\\r])*\n (temp)\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n (?:[^\\S\\n\\r])*\n (=)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#function"},{"include":"#divert"},{"include":"#languageLiteral"},{"include":"#stringLiteral"},{"include":"#expressionIdentifier"},{"include":"#expression"},{"include":"#numberLiteral"}],"beginCaptures":{"1":{"name":"storage.modifier.ink"},"2":{"name":"entity.name.variable.other.ink"},"3":{"name":"keyword.assignment.ink"}}}]},"textSuppression":{"patterns":[{"begin":"(?\u003c!\\\\)(\\[)","end":"(?\u003c!\\\\)(\\])","patterns":[{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.choice.suppression.ink keyword.control.ink"}},"endCaptures":{"1":{"name":"keyword.choice.suppression.ink keyword.control.ink"}}}]},"todo":{"patterns":[{"name":"comment.line.ink entity.todo.ink","begin":"(?\u003c=^|\\-)(?:[^\\S\\n\\r])*(TODO)","end":"(?=$)","patterns":[{"include":"#comment"}],"beginCaptures":{"1":{"name":"constant.other entity.todo.begin.ink"}}}]},"tunnel":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*(-\u003e(?:-\u003e)?|\u003c-)(?:[^\\S\\n\\r])*","end":"(?=($|\\}|\\)|\\|))","patterns":[{"include":"#comment"},{"include":"#function"},{"include":"#divertIdentifier"}],"beginCaptures":{"1":{"name":"keyword.divert.ink keyword.other.ink"}}}]}}}
1
+ {"name":"ink","scopeName":"source.ink","patterns":[{"include":"#comment"},{"include":"#tag"},{"include":"#todo"},{"include":"#import"},{"include":"#declaration"},{"include":"#knot"},{"include":"#stitch"},{"include":"#choice"},{"include":"#divert"},{"include":"#gather"},{"include":"#logic"},{"include":"#glue"},{"include":"#interpolevaluablock"}],"repository":{"alternativeClause":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(-(?!\u003e))","end":"(?=^)|(?=\\})|(?=\\-)","patterns":[{"include":"#comment"},{"include":"#interpolevaluablock"},{"include":"#divert"},{"include":"#logic"},{"include":"#choice"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"alternativeItem":{"patterns":[{"begin":"(?\u003c!\\\\)(\\|)","end":"(?=\\})|(?=\\|)","patterns":[{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#comment"},{"include":"#interpolevaluablock"},{"include":"#divert"},{"include":"#tag"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"assignment":{"patterns":[{"begin":"([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*(=)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#divert"},{"include":"#expressionIdentifier"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.other.ink"},"2":{"name":"keyword.operator.assignment.ink"}}}]},"caseClause":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(-(?!\u003e))(?:[^\\S\\n\\r])?(else|[^\\|\\{\\}\\:]+)(?:[^\\S\\n\\r])*(?\u003c!\\\\)(\\:)","end":"(?=^)|(?=\\})|(?=\\-)","patterns":[{"include":"#interpolevaluablock"},{"include":"#divert"},{"include":"#logic"},{"include":"#glue"},{"include":"#choiceInClause"},{"include":"#tag"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"},"2":{"name":"keyword.control.ink"},"3":{"name":"keyword.control.ink"}}}]},"choice":{"patterns":[{"begin":"(?x)\n (?\u003c=^|\\-)\n (?:[^\\S\\n\\r])*\n (?:\n ((?:(?:[^\\S\\n\\r])*[\\*])+)\n |\n ((?:(?:[^\\S\\n\\r])*[\\+])+)\n )","end":"(?=\\#|$)","patterns":[{"include":"#comment"},{"include":"#label"},{"include":"#inlineConditionalSubstitution"},{"include":"#textSuppression"},{"include":"#divert"},{"include":"#tag"},{"include":"#glue"},{"include":"#logic"}],"beginCaptures":{"1":{"name":"keyword.choice.ink"},"2":{"name":"keyword.choice.sticky.ink"}}}]},"choiceInClause":{"patterns":[{"begin":"(?x)\n (?\u003c=^|\\-|\\:)\n (?:[^\\S\\n\\r])*\n (?:\n ((?:(?:[^\\S\\n\\r])*[\\*])+)\n |\n ((?:(?:[^\\S\\n\\r])*[\\+])+)\n )","end":"(?=\\#|$)","patterns":[{"include":"#comment"},{"include":"#label"},{"include":"#inlineConditionalSubstitution"},{"include":"#textSuppression"},{"include":"#divert"},{"include":"#tag"},{"include":"#glue"},{"include":"#logic"}],"beginCaptures":{"2":{"name":"keyword.choice.ink"},"3":{"name":"keyword.choice.sticky.ink"}}}]},"commas":{"patterns":[{"name":"punctuation.separator.ink","match":"\\,"}]},"comment":{"patterns":[{"name":"comment.block.ink","begin":"(/\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ink"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.ink"}}},{"name":"comment.line.ink","begin":"(\\/\\/)","end":"(?=$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ink"}}}]},"conditionalSubstitution":{"patterns":[{"begin":"((?:[^\\{\\}\\|]|\\|(?=\\|))+(?:[^\\S\\n\\r])*\\:)(?:[^\\S\\n\\r])*(?!$)","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#divert"},{"include":"#glue"},{"include":"#inlineElseClause"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"constAssignment":{"patterns":[{"begin":"([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*(=)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#divert"},{"include":"#expressionIdentifier"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.other.constant.ink entity.name.variable.other.constant.ink"},"2":{"name":"keyword.operator.assignment.ink"}}}]},"declaration":{"patterns":[{"begin":"(?:^)(?:[^\\S\\n\\r])*((VAR)|(LIST))(?:[^\\S\\n\\r])*","end":"(?=$)","patterns":[{"include":"#assignment"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"storage.type.ink"},"2":{"name":"storage.type.var.ink"},"3":{"name":"storage.type.list.ink"}}},{"begin":"(?:^)(?:[^\\S\\n\\r])*(CONST)(?:[^\\S\\n\\r])*","end":"(?=$)","patterns":[{"include":"#constAssignment"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"storage.type.const.ink"}}},{"begin":"(?:^)(?:[^\\S\\n\\r])*(EXTERNAL)(?:[^\\S\\n\\r])*","end":"(?=$)","patterns":[{"include":"#externalFunctionDeclaration"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"storage.type.external.ink"}}}]},"divert":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*(-\u003e|\u003c-)(?:[^\\S\\n\\r])*","end":"(?=($|\\}|\\)|\\||\\-|\\#))","patterns":[{"include":"#comment"},{"include":"#function"},{"include":"#divertIdentifier"},{"include":"#tunnel"}],"beginCaptures":{"1":{"name":"keyword.divert.ink keyword.other.ink"}}}]},"divertIdentifier":{"patterns":[{"begin":"(?x) (?:[^\\S\\n\\r])* (?:\n (END|DONE)\n |\n (?:\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n (?:\n (\\.)\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n (?:\n (\\.)\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n )?\n )?\n )\n)","end":"(?=($|\\}|\\)|\\||\\#))","patterns":[{"include":"#comment"},{"include":"#tunnel"}],"beginCaptures":{"1":{"name":"support.constant.ink constant.language.divert constant.language.ink"},"2":{"name":"variable.other.knot.ink entity.name.variable.other.knot.ink"},"3":{"name":"punctuation.accessor.ink"},"4":{"name":"variable.other.stitch.ink entity.name.variable.other.stitch.ink"},"5":{"name":"punctuation.accessor.ink"},"6":{"name":"variable.other.label.ink entity.name.variable.other.label.ink"}}}]},"expression":{"patterns":[{"include":"#comment"},{"include":"#parentheses"},{"include":"#function"},{"include":"#operator"},{"include":"#languageLiteral"},{"include":"#stringLiteral"},{"include":"#expressionIdentifier"},{"include":"#numberLiteral"},{"include":"#commas"}]},"expressionIdentifier":{"patterns":[{"match":"(?x)\n (?:(?\u003c=return) |\n (?\u003c=\u0026\u0026) | (?\u003c=\\|\\|) |\n (?\u003c=\\=) |\n (?\u003c=/) | (?\u003c=%) | (?\u003c=\\*) | (?\u003c=\\+) | (?\u003c=\\-) |\n (?\u003c=\\?) | (?\u003c=!\\?) | (?\u003c=\\^) | (?\u003c=\\~) |\n (?\u003c=,) | (?=\\)))\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)","captures":{"1":{"name":"variable.other.ink"}}},{"match":"(?x)\n (?:[^\\S\\n\\r])*\n (?:(?\u003c=not) | (?\u003c=and) | (?\u003c=or) | (?\u003c=has) | (?\u003c=hasnt) | (?\u003c=mod))\n [^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)","captures":{"1":{"name":"variable.other.ink"}}},{"match":"(?x)\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)\n (?:[^\\S\\n\\r])*\n (?:(?=\u0026\u0026) | (?=\\|\\|) |\n (?=\\=) | (?=!\\=) | (?=\\\u003e) | (?=\\\u003c) |\n (?=/) | (?=%) | (?=\\*) | (?=\\+) | (?=\\-) |\n (?=\\?) | (?=!\\?) | (?=\\^) |\n (?=,) | (?=\\)))","captures":{"1":{"name":"variable.other.ink"}}},{"match":"(?x)\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)\n [^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]\n (?:(?=not) | (?=and) | (?=or) | (?=has) | (?=hasnt) | (?=mod))","captures":{"1":{"name":"variable.other.ink"}}}]},"externalFunctionDeclaration":{"patterns":[{"begin":"([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*","end":"(?\u003c=\\))","patterns":[{"include":"#functionDeclarationParameters"}],"beginCaptures":{"1":{"name":"entity.name.function.ink"}}}]},"firstAlternativeItem":{"patterns":[{"begin":"(?\u003c=\\{)(?:[^\\S\\n\\r])*(\u0026|!|~)","end":"(?=\\|)","patterns":[{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#divert"},{"include":"#tag"},{"include":"#comment"},{"include":"#conditionalSubstitution"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink keyword.alternative.type.ink"}}}]},"function":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*((LIST_COUNT|LIST_MIN|LIST_MAX|LIST_ALL|LIST_INVERT|LIST_RANDOM|CHOICE_COUNT|TURNS_SINCE|LIST_RANGE|TURNS|POW|FLOOR|CEILING|INT|FLOAT)|([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*))(?:[^\\S\\n\\r])*(\\()(?:[^\\S\\n\\r])*","end":"(\\))","patterns":[{"include":"#comment"},{"name":"punctuation.separator.ink","match":","},{"include":"#divert"},{"include":"#expression"}],"beginCaptures":{"2":{"name":"constant.language.ink"},"3":{"name":"variable.function.ink"},"4":{"name":"punctuation.section.parens.begin.ink"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.ink"}}}]},"functionDeclaration":{"patterns":[{"begin":"(?x)(?:[^\\S\\n\\r])*(function)(?:[^\\S\\n\\r])*([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*","end":"(?\u003c=\\))|(?=$)|(?=\\=)","patterns":[{"include":"#comment"},{"include":"#functionDeclarationParameters"}],"beginCaptures":{"1":{"name":"storage.type.ink"},"2":{"name":"entity.name.function.ink"}}}]},"functionDeclarationParameters":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"storage.modifier.ref.ink","match":"ref"},{"name":"variable.parameter.function.ink","match":"[a-zA-Z0-9_]+"},{"name":"punctuation.separator.ink","match":","},{"include":"#divert"}],"beginCaptures":{"1":{"name":"punctuation.section.parens.begin.ink"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.ink"}}}]},"gather":{"patterns":[{"begin":"(?\u003c=^)(?:[^\\S\\n\\r])*((?:(?:[^\\S\\n\\r])*\\-(?!\u003e))+)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#choice"},{"include":"#label"},{"include":"#divert"},{"include":"#todo"},{"include":"#glue"},{"include":"#logic"},{"include":"#tag"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.gather.ink"}}}]},"glue":{"patterns":[{"name":"keyword.glue.ink keyword.other.ink","match":"\u003c\u003e"}]},"import":{"patterns":[{"match":"(?:^)(?:[^\\S\\n\\r])*(INCLUDE)(?:(?:[^\\S\\n\\r])*)(.*)$","captures":{"1":{"name":"keyword.control.import.ink"},"2":{"name":"string.quoted.other.ink"}}}]},"inlineCondition":{"patterns":[{"name":"keyword.control.ink","match":"([^\\{\\}]*)","captures":{"1":{"name":"keyword.control.ink"}}}]},"inlineConditionalSubstitution":{"patterns":[{"begin":"(?\u003c!\\\\)(\\{)","end":"(?\u003c!\\\\)(\\})","patterns":[{"include":"#conditionalSubstitution"},{"include":"#substitution"},{"include":"#firstAlternativeItem"},{"include":"#alternativeItem"},{"include":"#interpolevaluablock"},{"include":"#inlineCondition"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}},"endCaptures":{"1":{"name":"keyword.control.ink"}}}]},"inlineElseClause":{"patterns":[{"begin":"(?\u003c!\\\\)(\\|)","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#divert"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"interpolatedIdentifier":{"patterns":[{"name":"variable.other.ink","match":"(?\u003c=\\{)(?\u003c!^)(?:[^\\S\\n\\r])*[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*(\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?(?:[^\\S\\n\\r])*(?!$)(?=\\})"}]},"interpolevaluablock":{"patterns":[{"begin":"(?\u003c!\\\\)(\\{)","end":"(?\u003c!\\\\)(\\})","patterns":[{"include":"#multilineAlternative"},{"include":"#multilineBlock"},{"include":"#conditionalSubstitution"},{"include":"#divert"},{"include":"#substitution"},{"include":"#firstAlternativeItem"},{"include":"#alternativeItem"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}},"endCaptures":{"1":{"name":"keyword.control.ink"}}}]},"knot":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(={2,})","end":"(={2,})|(?=$)","patterns":[{"include":"#comment"},{"include":"#functionDeclaration"},{"include":"#knotStitchDeclaration"}],"beginCaptures":{"1":{"name":"storage.knot.ink storage.type.ink"}},"endCaptures":{"1":{"name":"storage.knot.ink storage.type.ink"}}}]},"knotStitchDeclaration":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*","end":"(?\u003c=\\))|(?=$|\\=|\\/\\/)","patterns":[{"include":"#comment"},{"include":"#functionDeclarationParameters"}],"beginCaptures":{"1":{"name":"entity.name.function.ink"}}}]},"label":{"patterns":[{"name":"string.label.ink entity.name.label.ink string.quoted.other.ink","match":"(\\()(?:[^\\S\\n\\r])*[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*(?:[^\\S\\n\\r])*(\\))","captures":{"1":{"name":"punctuation.definition.string.label.begin.ink punctuation.definition.string.begin.ink"},"2":{"name":"punctuation.definition.string.label.begin.ink punctuation.definition.string.begin.ink"}}}]},"languageLiteral":{"patterns":[{"match":"(?:[^\\S\\n\\r])*(false|true)(?:[^\\S\\n\\r])*","captures":{"1":{"name":"constant.language.boolean.ink constant.language.ink"}}}]},"logic":{"patterns":[{"begin":"(?:(?\u003c=^)|(?\u003c=\\-)|(?\u003c=\\:))(?:[^\\S\\n\\r])*(~)","end":"(?=$)","patterns":[{"include":"#returnStatement"},{"include":"#tempDeclaration"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.logic.ink"}}}]},"multilineAlternative":{"patterns":[{"begin":"(?\u003c=\\{)(?:[^\\S\\n\\r])*$","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#caseClause"},{"include":"#alternativeClause"},{"include":"#divert"},{"include":"#logic"},{"include":"#choice"},{"include":"#glue"},{"include":"#todo"},{"include":"#interpolevaluablock"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"multilineBlock":{"patterns":[{"begin":"([^\\{\\}]+(?:[^\\S\\n\\r])*\\:)(?:[^\\S\\n\\r])*(?=$|\\/\\/)","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#caseClause"},{"include":"#alternativeClause"},{"include":"#divert"},{"include":"#logic"},{"include":"#choice"},{"include":"#glue"},{"include":"#todo"},{"include":"#interpolevaluablock"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"numberLiteral":{"patterns":[{"match":"(?:[^\\S\\n\\r])*([0-9]+(\\.[0-9]+)?)(?:[^\\S\\n\\r])*","captures":{"1":{"name":"constant.numeric.ink"}}}]},"operator":{"patterns":[{"name":"keyword.operator.logical.ink","match":"(?x)\n \\~ |\n !(?!=) |\n \u0026\u0026 |\n \\|\\|"},{"name":"keyword.operator.assignment.ink","match":"(?x)\n =(?!=)"},{"name":"keyword.operator.assignment.augmented.ink","match":"(?x)\n %= |\n \u0026= |\n \\*= |\n \\+= |\n \\-= |\n /="},{"name":"keyword.operator.relational.ink","match":"(?x)\n \u003c= |\n \u003e= |\n \u003c |\n \u003e"},{"name":"keyword.operator.comparison.ink","match":"(?x)\n == |\n !="},{"name":"keyword.operator.arithmetic.ink","match":"(?x)\n \\-\\- |\n \\+\\+ |\n / |\n % |\n \\* |\n \\+ |\n (?\u003c!$)(?:[^\\S\\n\\r])*-(?:[^\\S\\n\\r])*(?!=)"},{"name":"keyword.operator.membership.ink","match":"(?x)\n \\? |\n !\\? |\n \\^"},{"name":"keyword.operator.word.ink","match":"(?x)\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])not (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])and (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])or (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])has (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])hasnt (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])mod (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])"}]},"parentheses":{"patterns":[{"name":"punctuation.section.parens.begin.ink","match":"\\("},{"name":"punctuation.section.parens.end.ink","match":"\\)"}]},"returnStatement":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*(return)(?=\\s)","end":"(?=$)","patterns":[{"include":"#function"},{"include":"#divert"},{"include":"#languageLiteral"},{"include":"#stringLiteral"},{"include":"#expressionIdentifier"},{"include":"#expression"},{"include":"#numberLiteral"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"stitch":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(=)","end":"(?=^)","patterns":[{"include":"#comment"},{"include":"#knotStitchDeclaration"}],"beginCaptures":{"1":{"name":"storage.knot.ink storage.type.ink"}}}]},"stringLiteral":{"patterns":[{"begin":"(?:[^\\S\\n\\r]*)(\\\")","end":"(\\\")(?:[^\\S\\n\\r]*)","patterns":[{"name":"constant.character.escape.ink","match":"\\\\."},{"name":"string.quoted.double.ink","match":"[^\\n\\r\\\"]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ink"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ink"}}}]},"substitution":{"patterns":[{"match":"(?\u003c=\\{)([^\\{\\}\\:\\|]+)(?=\\})","captures":{"1":{"name":"keyword.control.ink"}}}]},"tag":{"patterns":[{"name":"string.quoted.other.ink entity.tag.ink","begin":"(?\u003c!\\\\)(\\#)","end":"(?=$|\\#)","patterns":[{"include":"#comment"},{"include":"#tag"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.ink comment.line.ink entity.tag.begin.ink"}}}]},"tempDeclaration":{"patterns":[{"begin":"(?x)\n (?:(?\u003c=^)|(?\u003c=\\~))\n (?:[^\\S\\n\\r])*\n (temp)\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n (?:[^\\S\\n\\r])*\n (=)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#function"},{"include":"#divert"},{"include":"#languageLiteral"},{"include":"#stringLiteral"},{"include":"#expressionIdentifier"},{"include":"#expression"},{"include":"#numberLiteral"}],"beginCaptures":{"1":{"name":"storage.modifier.ink"},"2":{"name":"variable.other.ink"},"3":{"name":"keyword.assignment.ink"}}}]},"textSuppression":{"patterns":[{"begin":"(?\u003c!\\\\)(\\[)","end":"(?\u003c!\\\\)(\\])","patterns":[{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.choice.suppression.ink keyword.control.ink"}},"endCaptures":{"1":{"name":"keyword.choice.suppression.ink keyword.control.ink"}}}]},"todo":{"patterns":[{"name":"comment.line.ink entity.todo.ink","begin":"(?\u003c=^|\\-)(?:[^\\S\\n\\r])*(TODO)","end":"(?=$)","patterns":[{"include":"#comment"}],"beginCaptures":{"1":{"name":"constant.other entity.todo.begin.ink"}}}]},"tunnel":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*(-\u003e(?:-\u003e)?|\u003c-)(?:[^\\S\\n\\r])*","end":"(?=($|\\}|\\)|\\|))","patterns":[{"include":"#comment"},{"include":"#function"},{"include":"#divertIdentifier"}],"beginCaptures":{"1":{"name":"keyword.divert.ink keyword.other.ink"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"GIMP Interpreter Definition","scopeName":"source.interp","patterns":[{"include":"#main"}],"repository":{"binfmt":{"name":"meta.binfmt-spec.interp","match":"(?x)^\n(\\S) # Initial character specifies delimiter\n((?:(?!\\1)[^\\r\\n])*+) (\\1) # Name\n((?:(?!\\1)[^\\r\\n])*+) (\\1) # Type\n((?:(?!\\1)[^\\r\\n])*+) (\\1) # Offset\n((?:(?!\\1)[^\\r\\n])*+) (\\1) # Match\n((?:(?!\\1)[^\\r\\n])*+) (\\1) # Mask ANDed with match (only if magic number)\n((?:(?!\\1)[^\\r\\n])*+) (\\1) # Interpreter\n((?:(?!\\1)[^\\r\\n])*+) # Flags","captures":{"1":{"patterns":[{"include":"#delim"}]},"10":{"name":"string.quoted.other.mask.interp","patterns":[{"include":"#esc"}]},"11":{"patterns":[{"include":"#delim"}]},"12":{"name":"string.quoted.other.filename.interp"},"13":{"patterns":[{"include":"#delim"}]},"14":{"name":"meta.association-flags.interp","patterns":[{"name":"storage.modifier.flag.preserve-argv.interp","match":"P"},{"name":"storage.modifier.flag.open-binary.interp","match":"O"},{"name":"storage.modifier.flag.credentials.interp","match":"C"},{"name":"storage.modifier.flag.fix-binary.interp","match":"F"},{"name":"invalid.illegal.argument.unrecognised-flag.interp","match":"[^POCF\\s]"}]},"2":{"name":"entity.name.interpreter.interp"},"3":{"patterns":[{"include":"#delim"}]},"4":{"name":"meta.association-type.interp","patterns":[{"name":"storage.type.association.magic.interp","match":"^(M)$"},{"name":"storage.type.association.extension.interp","match":"^(E)$"},{"name":"invalid.illegal.argument.interp","match":"^.*\\S.*$"}]},"5":{"patterns":[{"include":"#delim"}]},"6":{"name":"meta.match-offset.interp","patterns":[{"include":"etc#intNoExp"},{"name":"invalid.illegal.argument.interp","match":"^.*\\D.*$"}]},"7":{"patterns":[{"include":"#delim"}]},"8":{"name":"string.quoted.other.match.interp","patterns":[{"include":"#esc"}]},"9":{"patterns":[{"include":"#delim"}]}}},"delim":{"name":"punctuation.delimiter.separator.field.interp","match":"^\\S+","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},"esc":{"name":"constant.character.escape.codepoint.hexadecimal.interp","match":"(\\\\)x[A-Fa-f0-9]{2}","captures":{"1":{"name":"punctuation.definition.escape.backslash.interp"}}},"execPath":{"name":"meta.exec-file.interp","contentName":"string.unquoted.other.filename.interp","begin":"^(?:(\\w+)|((?:/[^/=]+)++))(=)","end":"(?=\\s*$)","beginCaptures":{"1":{"name":"variable.assignment.interpreter.name.interp"},"2":{"name":"variable.assignment.interpreter.path.interp"},"3":{"patterns":[{"include":"etc#eql"}]}}},"main":{"patterns":[{"include":"etc#commentStartHash"},{"include":"#execPath"},{"include":"#binfmt"}]}}}