github-linguist 7.14.0 → 7.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +115 -71
  3. data/grammars/annotation.liquidhaskell.haskell.json +1 -1
  4. data/grammars/etc.json +1 -1
  5. data/grammars/go.mod.json +1 -0
  6. data/grammars/go.sum.json +1 -0
  7. data/grammars/hint.haskell.json +1 -1
  8. data/grammars/hint.message.haskell.json +1 -1
  9. data/grammars/hint.type.haskell.json +1 -1
  10. data/grammars/markdown.bicep.codeblock.json +1 -0
  11. data/grammars/markdown.codeblock.proto.json +1 -0
  12. data/grammars/markdown.mcfunction.codeblock.json +1 -0
  13. data/grammars/source.abap.json +1 -1
  14. data/grammars/source.aidl.json +1 -0
  15. data/grammars/source.al.json +1 -1
  16. data/grammars/source.angelscript.json +1 -1
  17. data/grammars/source.avro.json +1 -1
  18. data/grammars/source.ballerina.json +1 -1
  19. data/grammars/source.batchfile.json +1 -1
  20. data/grammars/source.bc.json +1 -0
  21. data/grammars/source.bicep.json +1 -1
  22. data/grammars/source.boo.json +1 -1
  23. data/grammars/source.bp.json +1 -0
  24. data/grammars/source.cil.json +1 -0
  25. data/grammars/source.cirru.json +1 -1
  26. data/grammars/source.cs.json +1 -1
  27. data/grammars/source.csound.json +1 -1
  28. data/grammars/source.css.json +1 -1
  29. data/grammars/source.cue.json +1 -0
  30. data/grammars/source.cuesheet.json +1 -0
  31. data/grammars/source.dart.json +1 -1
  32. data/grammars/source.dc.json +1 -0
  33. data/grammars/source.ditroff.json +1 -1
  34. data/grammars/source.dotenv.json +1 -0
  35. data/grammars/source.ebnf.json +1 -1
  36. data/grammars/source.ecl.json +1 -0
  37. data/grammars/source.ed.json +1 -0
  38. data/grammars/source.fnl.json +1 -0
  39. data/grammars/source.fontforge.json +1 -1
  40. data/grammars/source.fstar.json +1 -1
  41. data/grammars/source.ftl.json +1 -0
  42. data/grammars/source.gcode.json +1 -1
  43. data/grammars/source.gdscript.json +1 -1
  44. data/grammars/source.hack.json +1 -1
  45. data/grammars/source.haskell.json +1 -1
  46. data/grammars/source.hlcode.json +1 -0
  47. data/grammars/source.hsig.json +1 -1
  48. data/grammars/source.hx.json +1 -1
  49. data/grammars/source.hy.json +1 -1
  50. data/grammars/source.jest.snap.json +1 -0
  51. data/grammars/source.jq.json +1 -1
  52. data/grammars/source.json.json +1 -1
  53. data/grammars/source.julia.json +1 -1
  54. data/grammars/source.kakscript.json +1 -0
  55. data/grammars/source.keyvalues.json +1 -0
  56. data/grammars/source.kotlin.json +1 -1
  57. data/grammars/source.lean.json +1 -1
  58. data/grammars/source.m2.json +1 -1
  59. data/grammars/source.matlab.json +1 -1
  60. data/grammars/source.mcfunction.json +1 -1
  61. data/grammars/source.odin.json +1 -1
  62. data/grammars/source.opentype.json +1 -1
  63. data/grammars/source.pegjs.json +1 -0
  64. data/grammars/source.postscript.json +1 -1
  65. data/grammars/source.powershell.json +1 -1
  66. data/grammars/source.proto.json +1 -0
  67. data/grammars/source.purescript.json +1 -1
  68. data/grammars/source.regexp.json +1 -1
  69. data/grammars/source.regexp.oniguruma.json +1 -0
  70. data/grammars/source.rego.json +1 -1
  71. data/grammars/source.renpy.json +1 -1
  72. data/grammars/source.rescript.json +1 -1
  73. data/grammars/source.sed.json +1 -1
  74. data/grammars/source.sepolicy.json +1 -0
  75. data/grammars/source.shellcheckrc.json +1 -0
  76. data/grammars/source.sqf.json +1 -1
  77. data/grammars/source.swift.json +1 -1
  78. data/grammars/source.sy.json +1 -1
  79. data/grammars/source.tm-properties.json +1 -0
  80. data/grammars/source.ts.json +1 -1
  81. data/grammars/source.tsx.json +1 -1
  82. data/grammars/source.v.json +1 -1
  83. data/grammars/source.viml.json +1 -1
  84. data/grammars/source.webassembly.json +1 -1
  85. data/grammars/source.ws.json +1 -0
  86. data/grammars/source.wsd.json +1 -1
  87. data/grammars/source.xojo.json +1 -1
  88. data/grammars/source.yara.json +1 -1
  89. data/grammars/source.yasnippet.json +1 -1
  90. data/grammars/source.zig.json +1 -1
  91. data/grammars/text.html.astro.json +1 -0
  92. data/grammars/text.html.markdown.astro.json +1 -0
  93. data/grammars/text.info.json +1 -0
  94. data/grammars/text.lesshst.json +1 -0
  95. data/grammars/text.marko.json +1 -1
  96. data/grammars/text.sfd.json +1 -1
  97. data/grammars/text.tex.latex.haskell.json +1 -1
  98. data/grammars/text.xml.svg.json +1 -1
  99. data/grammars/textmate.format-string.json +1 -0
  100. data/grammars/version +1 -1
  101. data/lib/linguist/VERSION +1 -1
  102. data/lib/linguist/documentation.yml +1 -0
  103. data/lib/linguist/generated.rb +13 -0
  104. data/lib/linguist/heuristics.rb +6 -2
  105. data/lib/linguist/heuristics.yml +18 -4
  106. data/lib/linguist/language.rb +6 -3
  107. data/lib/linguist/languages.json +1 -1
  108. data/lib/linguist/languages.yml +385 -43
  109. data/lib/linguist/linguist.bundle +0 -0
  110. data/lib/linguist/linguist.so +0 -0
  111. data/lib/linguist/repository.rb +7 -3
  112. data/lib/linguist/samples.json +1 -1
  113. data/lib/linguist/shebang.rb +4 -1
  114. data/lib/linguist/strategy/modeline.rb +4 -0
  115. data/lib/linguist/vendor.yml +3 -0
  116. metadata +36 -5
  117. data/grammars/source.SASLog.json +0 -1
  118. data/grammars/source.mcfunction-snapshot.json +0 -1
  119. data/grammars/source.protobuf.json +0 -1
@@ -0,0 +1 @@
1
+ {"name":"DC","scopeName":"source.dc","patterns":[{"include":"#main"}],"repository":{"arithmetic":{"patterns":[{"match":"[-+*/%^]","captures":{"0":{"patterns":[{"include":"etc#opMath"}]}}},{"name":"keyword.operator.arithmetic.divide-with-remainder.non-standard.dc","match":"~"},{"name":"keyword.operator.arithmetic.modular-exponentiation.dc","match":"\\|"},{"name":"keyword.operator.arithmetic.square-root.dc","match":"v"}]},"commands":{"patterns":[{"name":"keyword.operator.prompt.readline.dc","match":"\\?"},{"name":"keyword.operator.quit.dc","match":"q"},{"name":"keyword.operator.exit-macro.dc","match":"Q"},{"name":"keyword.operator.execute.dc","match":"x"},{"name":"keyword.operator.conditional.greater-than.dc","match":"\u003e"},{"name":"keyword.operator.conditional.less-than.dc","match":"\u003c"},{"name":"keyword.operator.conditional.equal.dc","match":"="},{"name":"keyword.operator.conditional.not.greater-than.dc","match":"!\u003e"},{"name":"keyword.operator.conditional.not.less-than.dc","match":"!\u003c"},{"name":"keyword.operator.conditional.not.equal.dc","match":"!="},{"name":"keyword.operator.ascii-character.non-standard.dc","match":"a"},{"name":"keyword.operator.clear.dc","match":"c"},{"name":"keyword.operator.comparison.equal.non-standard.dc","match":"G"},{"name":"keyword.operator.comparison.less-than.non-standard.dc","match":"\\("},{"name":"keyword.operator.comparison.less-than-or-equal.non-standard.dc","match":"\\{"},{"name":"keyword.operator.return.non-standard.dc","match":"J"},{"name":"keyword.operator.mark.non-standard.dc","match":"M"},{"name":"keyword.operator.convert-to-binary.non-standard.dc","match":"N"},{"name":"keyword.operator.duplicate.dc","match":"d"},{"name":"keyword.operator.remove.non-standard.dc","match":"R"},{"name":"keyword.operator.reverse.non-standard.dc","match":"r"},{"name":"keyword.operator.register.save.dc","match":"s|S"},{"name":"keyword.operator.register.load.dc","match":"l|L"},{"name":"keyword.operator.item-access.get.dc","match":";"},{"name":"keyword.operator.item-access.set.dc","match":":"},{"name":"keyword.operator.parameter.set.input-radix.dc","match":"i"},{"name":"keyword.operator.parameter.get.input-radix.dc","match":"I"},{"name":"keyword.operator.parameter.set.output-radix.dc","match":"o"},{"name":"keyword.operator.parameter.get.output-radix.dc","match":"O"},{"name":"keyword.operator.parameter.set.precision.dc","match":"k"},{"name":"keyword.operator.parameter.get.precision.dc","match":"K"},{"name":"keyword.operator.print.dc","match":"p"},{"name":"keyword.operator.print-error.non-standard.dc","match":"e"},{"name":"keyword.operator.print-without-newline.non-standard.dc","match":"n"},{"name":"keyword.operator.print-and-pop.dc","match":"P"},{"name":"keyword.operator.print-stack.dc","match":"f"},{"name":"keyword.operator.sizeof.value.dc","match":"Z"},{"name":"keyword.operator.sizeof.fraction.dc","match":"X"},{"name":"keyword.operator.sizeof.stack.dc","match":"z"}]},"main":{"patterns":[{"include":"etc#comment"},{"include":"#register"},{"include":"#number"},{"include":"#arithmetic"},{"include":"#commands"},{"include":"#string"},{"include":"#shell"}]},"number":{"name":"constant.numeric.dc","match":"_?(?:[0-9A-F]+(?:\\.[0-9A-F]*)?|\\.[0-9A-F]*)"},"register":{"match":"(?:(?\u003c=[slSL:;\u003c=\u003e])|(?\u003c=[\u003c=\u003e].)((e)))(.)","captures":{"1":{"name":"keyword.operator.ternary.non-standard.dc"},"2":{"name":"punctuation.separator.ternary.non-standard.dc"},"3":{"name":"entity.name.register.dc"}}},"shell":{"name":"meta.system-command.dc","match":"(!)(?![\u003c=\u003e])(.*)","captures":{"1":{"name":"keyword.control.run-command.dc"},"2":{"name":"source.embedded.shell","patterns":[{"include":"source.shell"}]}}},"string":{"patterns":[{"name":"string.quoted.brackets.empty.dc","match":"(\\[)(\\])","captures":{"1":{"name":"punctuation.definition.string.begin.dc"},"2":{"name":"punctuation.definition.string.end.dc"}}},{"name":"string.quoted.brackets.dc","match":"(?x)\n(\\[)\n\t(?:[^\\[\\]\\\\]|\\\\(?:\\\\|\\]))*?\n\t[^-+*/%^~|v;:!?\u003c=\u003eacdefGiIJkKlLMNnoOpPqQRrsSxXZz\\s\\d_.A-F\\[\\]\\({]\n\t(?:[^\\[\\]\\\\]|\\\\(?:\\\\|\\]))*?\n(\\])","captures":{"1":{"name":"punctuation.definition.string.begin.dc"},"2":{"name":"punctuation.definition.string.begin.dc"}}},{"match":"(?x)\n(?:\n\t(\\g\u003cstring\u003e) (?!\\s*(?:[pfd]\\s*)*+[xsS:]) |\n\t(\\g\u003cstring\u003e) (?=\\s*(?:[pfd]\\s*)*+[xsS:])\n)\n\n# Match a non-bracket or an escape sequence\n(?\u003cnonbracket\u003e\n\t[^\\[\\]\\\\]\n\t|\n\t\\\\ (?:\\\\|\\])\n){0}\n\n# Match balanced brackets recursively\n(?\u003cstring\u003e\n\t\\[\n\t\t(?\u003cbrackets\u003e\n\t\t\t\\g\u003cnonbracket\u003e++\n\t\t\t|\n\t\t\t\\g\u003cnonbracket\u003e*+\n\t\t\t\\[ \\g\u003cbrackets\u003e? \\]\n\t\t\t\\g\u003cnonbracket\u003e*+\n\t\t)\n\t\\]\n){0}","captures":{"1":{"name":"string.quoted.brackets.dc","patterns":[{"match":"(?:^|\\G)(\\[)(.*)(\\])$","captures":{"1":{"name":"punctuation.definition.string.begin.dc"},"2":{"patterns":[{"include":"#stringEscape"}]},"3":{"name":"punctuation.definition.string.end.dc"}}}]},"2":{"name":"meta.function.dc","patterns":[{"match":"(?:\\G|^)([^\\[]*)(\\[)(.*)(\\])([^\\]]*)$","captures":{"1":{"patterns":[{"include":"#stringMacro"}]},"2":{"name":"punctuation.definition.function.begin.dc"},"3":{"patterns":[{"include":"#stringMacro"}]},"4":{"name":"punctuation.definition.function.end.dc"},"5":{"patterns":[{"include":"#stringMacro"}]}}}]}}},{"name":"meta.function.multiline.dc","begin":"\\[","end":"\\]","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.function.begin.dc"}},"endCaptures":{"0":{"name":"punctuation.definition.function.end.dc"}}}]},"stringEscape":{"patterns":[{"name":"constant.character.escape.bracket.dc","match":"(\\\\)\\]","captures":{"1":{"name":"punctuation.definition.escape.backslash.dc"}}},{"name":"constant.character.escape.backslash.dc","match":"(\\\\)\\\\","captures":{"1":{"name":"punctuation.definition.escape.backslash.dc"}}}]},"stringMacro":{"patterns":[{"include":"#stringEscape"},{"include":"#main"}]}}}
@@ -1 +1 @@
1
- {"name":"Roff (Intermediate Output)","scopeName":"source.ditroff","patterns":[{"include":"#main"}],"repository":{"colourMode":{"patterns":[{"name":"meta.colour-mode.default.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(d)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"}}},{"name":"meta.colour-mode.rgb.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(r)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmyk.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(k)((?:\\s*\\d+){4})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmy.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(c)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.grey.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(g)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}}]},"comment":{"name":"comment.line.number-sign.ditroff","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.ditroff"}}},"continueLine":{"name":"keyword.operator.line-continuation.gnu.ditroff","match":"^\\+"},"deviceControl":{"patterns":[{"name":"meta.device-control.x-command.ditroff","begin":"(x)\\s*(X\\S*)[ \\t]*","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#xCommands"}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.device.control.ditroff"}}},{"name":"meta.device-control.ditroff","begin":"(x)\\s*","end":"(?=$|#)","patterns":[{"name":"keyword.device.control.ditroff","match":"\\G([ipst]\\S*)\\s*?(?=$|#)"},{"name":"meta.space-underlining.gnu.ditroff","match":"\\G(u\\S*)\\s+(?:(1|0)|(\\d+))\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"invalid.illegal.argument.ditroff"}}},{"name":"meta.source-filename.gnu.ditroff","match":"\\G(F\\S*)\\s+(\\S+)\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"string.other.link.filename.ditroff"}}},{"name":"meta.typesetter-device.ditroff","match":"\\G(T\\S*)\\s+(\\S+)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"support.constant.device-name.ditroff"}}},{"name":"meta.device-resolution.ditroff","match":"\\G(r\\S*)((?:\\s+(\\d+)){1,3})\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?(?:\\s+(\\S.*?)\\s+(\\d+)[ \\t]*$)?[ \\t]*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.position.ditroff"},"3":{"name":"entity.name.font.ditroff"},"4":{"name":"string.other.link.filename.ditroff"},"5":{"name":"constant.numeric.integer.flags.ditroff"}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"variable.parameter.ditroff"}}},{"name":"meta.set-character-property.ditroff","match":"\\G([HS]\\S*)\\s+(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.unknown-command.ditroff","begin":"\\G(\\S+)","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.device.control.ditroff"}}}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"}}}]},"eol":{"name":"meta.end-of-line.ditroff","match":"(n)((?:\\s*\\d+){2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},"font":{"name":"meta.change-font.ditroff","match":"(f)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"graphics":{"patterns":[{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(C)\\s*(\\d+)(?:\\s+(\\d+))?","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditrof"},"3":{"name":"constant.numeric.integer.ditroff"},"4":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(E)((?:\\s*(\\d+)){1,2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"},"3":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.graphics.ditroff","begin":"(D)\\s*([lceafptPR~])","end":"(?=$|#)","patterns":[{"include":"text.roff#number"}],"beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}},{"name":"meta.graphics.unknown-command.ditroff","contentName":"variable.parameter.ditroff","begin":"(D)\\s*([^\\s\\\\])","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#deviceControl"},{"include":"#colourMode"},{"include":"#print"},{"include":"#font"},{"include":"#eol"},{"include":"#move"},{"include":"#size"},{"include":"#page"},{"include":"#graphics"},{"include":"#movePrint"},{"include":"#wordSpace"}]},"move":{"name":"meta.move.ditroff","match":"([HhVv])\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"movePrint":{"name":"meta.move-and-print.ditroff","match":"(\\d{2})(.)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"}}},"page":{"name":"meta.start-page.ditroff","match":"(p)\\s*(\\d+)","captures":{"1":{"name":"keyword.control.page.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"print":{"patterns":[{"name":"meta.print-character.indexed.ditroff","match":"(N)\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.print-character.ditroff","match":"(c)(?:\\s*(\\S)|(\\s))|(CPS|C)\\s*(\\S+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"},"3":{"name":"constant.character.whitespace.ditroff"},"4":{"name":"keyword.operator.function.ditroff"},"5":{"name":"string.unquoted.ditroff"}}},{"name":"meta.print-text.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(t)\\s*","end":"(?=$)|\\s+(\\d*)","beginCaptures":{"0":{"name":"keyword.operator.function.ditroff"},"1":{"name":"punctuation.definition.entity.ditroff"}},"endCaptures":{"1":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.print-text.track-kerned.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(u)\\s*(-?\\d+)\\s*","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}}]},"size":{"match":"(s)\\s*(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},"wordSpace":{"name":"keyword.operator.function.word-space.ditroff","match":"(?\u003c=^|[\\s\\d])w"},"xCommands":{"patterns":[{"begin":"(?:\\G|^)(?:(ps)\\s*(:)(?=\\s*(?:exec|m?def)\\b)|(PSSetup|PS)\\s*(:)?)","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G(?:(?\u003c=:)\\s*(?:(exec|def)|(mdef)(?:\\s+(\\d+))?)\\b)?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"source.embedded.postscript","match":".+","captures":{"0":{"patterns":[{"include":"source.postscript"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"keyword.control.directive.gnu.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"keyword.device.control.subcommand.heirloom.ditroff"},"4":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(ps)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"match":"\\G\\s*(?:(invis)|(endinvis))\\b","captures":{"1":{"name":"keyword.control.suppress-output.begin.gnu.ditroff"},"2":{"name":"keyword.control.suppress-output.end.gnu.ditroff"}}},{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(file)\\s+","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"begin":"\\G\\s*(import)\\s+","end":"(?=^(?!\\+))","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(pdf)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"keyword.control.directive.gnu.ditroff","match":"\\G\\s*(xrev)\\b"},{"begin":"\\G\\s*(pdfpic)\\s+","end":"(?=^(?!\\+))","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"name":"meta.pdfmark.$2.ditroff","begin":"\\G\\s*(mark(start|end|suspend|restart))\\b(\\s+(\\S.*))?","end":"(?=^(?!\\+))","beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"source.embedded.postscript"},"3":{"patterns":[{"include":"source.postscript"}]}}},{"name":"meta.transition-settings.ditroff","begin":"\\G\\s*(transition)\\s+","end":"(?=^(?!\\+))","patterns":[{"name":"support.constant.other.mode.ditroff","match":"\\b(Blinds|Box|Cover|Dissolve|Fade|Fly|Glitter|Push|R|Split|Uncover|Wipe)\\b"},{"name":"constant.language.boolean.$1.ditroff","match":"\\b(true|false)\\b"},{"name":"constant.language.null.ditroff","match":"\\b(?:None)\\b"},{"name":"support.constant.feature.ditroff","match":"\\b(?:SLIDE|BLOCK)\\b"},{"name":"support.constant.dimension.ditroff","match":"\\b(?:H|V)\\b"},{"name":"support.constant.motion.ditroff","match":"\\b(?:I|O)\\b"},{"name":"constant.numeric.ditroff","match":"[-+]?[\\d.]+"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.pdfmark.ditroff","begin":"(?:\\G|^)(PDFMark)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"meta.bookmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(Bookmark(?:Closed)?)(?:\\s+(\\d+))?\\s+","end":"(?=^(?!\\+))","beginCaptures":{"1":{"name":"storage.type.bookmark.ditroff"},"2":{"name":"constant.numeric.integer.level.ditroff"}}},{"name":"meta.pdfmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(\\S+)\\s+","end":"(?=^(?!\\+))","beginCaptures":{"1":{"name":"entity.name.field.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(tty)s*(:)","end":"(?=^(?!\\+))","patterns":[{"match":"\\G\\s*(sgr)\\b(?:\\s+([-+]?[\\d.0]+))?","captures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"constant.numeric.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.set-paper-size.ditroff","begin":"(?:\\G|^)(papersize)\\s*(=)","end":"(?=^(?!\\+))","patterns":[{"include":"source.ditroff.desc#paperSizes"}],"beginCaptures":{"1":{"name":"storage.type.paper-size.ditroff"},"2":{"name":"punctuation.separator.key-value.equals-sign.ditroff"}}},{"name":"meta.devtag.ditroff","begin":"(?:\\G|^)(devtag)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"name":"entity.name.tag.ditroff","match":"\\.?[^\\s.]+(?:\\.[^\\s.]+)*+","captures":{"0":{"name":"punctuation.definition.tag.ditroff"}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.infer.ditroff","begin":"(?:\\G|^)(infer)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"meta.$1-$2.ditroff","begin":"\\G\\s*(start|end)\\s+(\\S+)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"support.constant.other.ditroff","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.$1-scope.ditroff"},"2":{"name":"entity.name.type.ditroff"}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.manpage-reference.ditroff","match":"(?:\\G|^)(html)\\s+(?:(manref\\s+end)|(manref(?:\\s+start)?))(?:\\s+((?!#)\\S+))(?:\\s+(?:(\\()([0-9])(\\))|((?!#)\\S+)))","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"keyword.control.end-reference.ditroff"},"3":{"name":"keyword.control.start-reference.ditroff"},"4":{"name":"entity.name.subject.ditroff"},"5":{"name":"punctuation.definition.bracket.round.begin.ditroff"},"6":{"name":"constant.numeric.section.ditroff"},"7":{"name":"punctuation.definition.bracket.round.end.ditroff"},"8":{"name":"constant.numeric.section.ditroff"}}},{"begin":"(?:\\G|^)(index)\\s*(:)(?:\\s*(\\d+)(?=\\s))?.*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.assertion.ditroff","begin":"(?:\\G|^)(assertion)\\s*(:)(?=\\s*\\[)","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"\\G\\s*(\\[)(x|y)?","end":"\\*(\\])|(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"punctuation.section.bracket.square.begin.ditroff"},"2":{"name":"variable.parameter.assertion-type.$2.ditroff"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.square.end.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)((?:html|math)\\b(?:\u003c[/?]p\u003e)?)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"text.embedded.html.basic","match":".+","captures":{"0":{"patterns":[{"include":"text.html.basic"}]}}}]},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(Anchor|U?Link)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.ditroff","begin":"\\G(?:\\s+([+-]?\\d+(?:,[+-]?\\d+)*+)(?=\\s))?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"patterns":[{"name":"constant.numeric.integer.ditroff","match":"\\d+"},{"name":"punctuation.separator.comma.ditroff","match":","}]}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(BleedAt|CropAt|HorScale|PaperSize|Track|TrimAt)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"match":"(?:\\G|^)(LC_CTYPE)\\b(?:\\s*(:))?\\s+((?!#)\\S+)(.*)","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"entity.name.locale.ditroff"},"4":{"patterns":[{"include":"#comment"}]}}},{"begin":"(?:\\G|^)(SupplyFont)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(\\S+)[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"entity.name.font.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(SetColor)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"match":"(?:\\G|^)\\s*(?:([\\s\\d.]+)(?\u003c=\\s)(rgb|hsb|cmyk|setgray|setcolor)|(\\S+))","captures":{"1":{"patterns":[{"name":"constant.numeric.ditroff","match":"[\\d.]+"}]},"2":{"name":"constant.language.colour-scheme.ditroff"},"3":{"name":"variable.other.named-colour.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"(?:\\G|^)([^\\s:#]+)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"include":"#continueLine"}]},"xImportParams":{"patterns":[{"match":"(?:\\G|^)(\\S+)(?:\\s+((-)[LCR]))?","captures":{"1":{"name":"string.other.link.filename.ditroff"},"2":{"name":"constant.language.alignment-type.ditroff"},"3":{"name":"punctuation.definition.dash.ditroff"}}},{"name":"constant.numeric.ditroff","match":"[-+]?(?:\\d*\\.\\d+|\\d+)"},{"include":"#continueLine"}]}}}
1
+ {"name":"Roff (Intermediate Output)","scopeName":"source.ditroff","patterns":[{"include":"#main"}],"repository":{"colourMode":{"patterns":[{"name":"meta.colour-mode.default.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(d)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"}}},{"name":"meta.colour-mode.rgb.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(r)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmyk.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(k)((?:\\s*\\d+){4})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmy.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(c)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.grey.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(g)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}}]},"comment":{"name":"comment.line.number-sign.ditroff","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.ditroff"}}},"continueLine":{"name":"keyword.operator.line-continuation.gnu.ditroff","match":"^\\+"},"deviceControl":{"patterns":[{"name":"meta.device-control.x-command.ditroff","begin":"(x)\\s*(X\\S*)[ \\t]*","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#xCommands"}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.device.control.ditroff"}}},{"name":"meta.device-control.ditroff","begin":"(x)\\s*","end":"(?=$|#)","patterns":[{"name":"keyword.device.control.ditroff","match":"\\G([ipst]\\S*)\\s*?(?=$|#)"},{"name":"meta.space-underlining.gnu.ditroff","match":"\\G(u\\S*)\\s+(?:(1|0)|(\\d+))\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"invalid.illegal.argument.ditroff"}}},{"name":"meta.source-filename.gnu.ditroff","match":"\\G(F\\S*)\\s+(\\S+)\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"string.other.link.filename.ditroff"}}},{"name":"meta.typesetter-device.ditroff","match":"\\G(T\\S*)\\s+(\\S+)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"support.constant.device-name.ditroff"}}},{"name":"meta.device-resolution.ditroff","match":"\\G(r\\S*)((?:\\s+(\\d+)){1,3})\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?(?:\\s+(\\S.*?)\\s+(\\d+)[ \\t]*$)?[ \\t]*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.position.ditroff"},"3":{"name":"entity.name.font.ditroff"},"4":{"name":"string.other.link.filename.ditroff"},"5":{"name":"constant.numeric.integer.flags.ditroff"}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"variable.parameter.ditroff"}}},{"name":"meta.set-character-property.ditroff","match":"\\G([HS]\\S*)\\s+(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.unknown-command.ditroff","begin":"\\G(\\S+)","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.device.control.ditroff"}}}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"}}}]},"eol":{"name":"meta.end-of-line.ditroff","match":"(n)((?:\\s*\\d+){2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},"font":{"name":"meta.change-font.ditroff","match":"(f)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"graphics":{"patterns":[{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(C)\\s*(\\d+)(?:\\s+(\\d+))?","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditrof"},"3":{"name":"constant.numeric.integer.ditroff"},"4":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(E)((?:\\s*(\\d+)){1,2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"},"3":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.graphics.ditroff","begin":"(D)\\s*([lceafptPR~])","end":"(?=$|#)","patterns":[{"include":"text.roff#number"}],"beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}},{"name":"meta.graphics.unknown-command.ditroff","contentName":"variable.parameter.ditroff","begin":"(D)\\s*([^\\s\\\\])","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#deviceControl"},{"include":"#colourMode"},{"include":"#print"},{"include":"#font"},{"include":"#eol"},{"include":"#move"},{"include":"#size"},{"include":"#page"},{"include":"#graphics"},{"include":"#movePrint"},{"include":"#wordSpace"}]},"move":{"name":"meta.move.ditroff","match":"([HhVv])\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"movePrint":{"name":"meta.move-and-print.ditroff","match":"(\\d{2})(.)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"}}},"page":{"name":"meta.start-page.ditroff","match":"(p)\\s*(\\d+)","captures":{"1":{"name":"keyword.control.page.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"print":{"patterns":[{"name":"meta.print-character.indexed.ditroff","match":"(N)\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.print-character.ditroff","match":"(c)(?:\\s*(\\S)|(\\s))|(CPS|C)\\s*(\\S+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"},"3":{"name":"constant.character.whitespace.ditroff"},"4":{"name":"keyword.operator.function.ditroff"},"5":{"name":"string.unquoted.ditroff"}}},{"name":"meta.print-text.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(t)\\s*","end":"(?=$)|\\s+(\\d*)","beginCaptures":{"0":{"name":"keyword.operator.function.ditroff"},"1":{"name":"punctuation.definition.entity.ditroff"}},"endCaptures":{"1":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.print-text.track-kerned.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(u)\\s*(-?\\d+)\\s*","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}}]},"size":{"match":"(s)\\s*(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},"wordSpace":{"name":"keyword.operator.function.word-space.ditroff","match":"(?\u003c=^|[\\s\\d])w"},"xCommands":{"patterns":[{"begin":"(?:\\G|^)(?:(ps)\\s*(:)(?=\\s*(?:exec|m?def)\\b)|(PSSetup|PS)\\s*(:)?)","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G(?:(?\u003c=:)\\s*(?:(exec|def)|(mdef)(?:\\s+(\\d+))?)\\b)?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"source.embedded.postscript","match":".+","captures":{"0":{"patterns":[{"include":"source.postscript"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"keyword.control.directive.gnu.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"keyword.device.control.subcommand.heirloom.ditroff"},"4":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(ps)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"match":"\\G\\s*(?:(invis)|(endinvis))\\b","captures":{"1":{"name":"keyword.control.suppress-output.begin.gnu.ditroff"},"2":{"name":"keyword.control.suppress-output.end.gnu.ditroff"}}},{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(file)\\s+","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"begin":"\\G\\s*(import)\\s+","end":"(?=^(?!\\+))","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(pdf)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"keyword.control.directive.gnu.ditroff","match":"\\G\\s*(xrev)\\b"},{"begin":"\\G\\s*(pdfpic)\\s+","end":"(?=^(?!\\+))","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"name":"meta.pdfmark.$2.ditroff","begin":"\\G\\s*(mark(start|end|suspend|restart))\\b(\\s+(\\S.*))?","end":"(?=^(?!\\+))","beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"source.embedded.postscript"},"3":{"patterns":[{"include":"source.postscript"}]}}},{"name":"meta.transition-settings.ditroff","begin":"\\G\\s*(transition)\\s+","end":"(?=^(?!\\+))","patterns":[{"name":"support.constant.other.mode.ditroff","match":"\\b(Blinds|Box|Cover|Dissolve|Fade|Fly|Glitter|Push|R|Split|Uncover|Wipe)\\b"},{"name":"constant.language.boolean.$1.ditroff","match":"\\b(true|false)\\b"},{"name":"constant.language.null.ditroff","match":"\\b(?:None)\\b"},{"name":"support.constant.feature.ditroff","match":"\\b(?:SLIDE|BLOCK)\\b"},{"name":"support.constant.dimension.ditroff","match":"\\b(?:H|V)\\b"},{"name":"support.constant.motion.ditroff","match":"\\b(?:I|O)\\b"},{"name":"constant.numeric.ditroff","match":"[-+]?[\\d.]+"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.pdfmark.ditroff","begin":"(?:\\G|^)(PDFMark)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"meta.bookmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(Bookmark(?:Closed)?)(?:\\s+(\\d+))?\\s+","end":"(?=^(?!\\+))","beginCaptures":{"1":{"name":"storage.type.bookmark.ditroff"},"2":{"name":"constant.numeric.integer.level.ditroff"}}},{"name":"meta.pdfmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(\\S+)\\s+","end":"(?=^(?!\\+))","beginCaptures":{"1":{"name":"entity.name.field.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(tty)s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.osc8-link.ditroff","begin":"\\G\\s*(link)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.link-destination.ditroff","match":"\\G\\s*(\\S+)","captures":{"1":{"name":"string.other.link.ditroff"}}},{"name":"meta.link-parameter.ditroff","contentName":"string.unquoted.ditroff","begin":"(?!\\G)([^\\s=]+)(=)","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"entity.other.attribute-name.ditroff"},"2":{"name":"punctuation.separator.key-value.ditroff"}}}],"beginCaptures":{"1":{"name":"storage.type.link.ditroff"}}},{"match":"\\G\\s*(sgr)\\b(?:\\s+([-+]?[\\d.0]+))?","captures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"constant.numeric.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.set-paper-size.ditroff","begin":"(?:\\G|^)(papersize)\\s*(=)","end":"(?=^(?!\\+))","patterns":[{"include":"source.ditroff.desc#paperSizes"}],"beginCaptures":{"1":{"name":"storage.type.paper-size.ditroff"},"2":{"name":"punctuation.separator.key-value.equals-sign.ditroff"}}},{"name":"meta.devtag.ditroff","begin":"(?:\\G|^)(devtag)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"name":"entity.name.tag.ditroff","match":"\\.?[^\\s.]+(?:\\.[^\\s.]+)*+","captures":{"0":{"name":"punctuation.definition.tag.ditroff"}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.infer.ditroff","begin":"(?:\\G|^)(infer)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"meta.$1-$2.ditroff","begin":"\\G\\s*(start|end)\\s+(\\S+)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"support.constant.other.ditroff","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.$1-scope.ditroff"},"2":{"name":"entity.name.type.ditroff"}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.manpage-reference.ditroff","match":"(?:\\G|^)(html)\\s+(?:(manref\\s+end)|(manref(?:\\s+start)?))(?:\\s+((?!#)\\S+))(?:\\s+(?:(\\()([0-9])(\\))|((?!#)\\S+)))","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"keyword.control.end-reference.ditroff"},"3":{"name":"keyword.control.start-reference.ditroff"},"4":{"name":"entity.name.subject.ditroff"},"5":{"name":"punctuation.definition.bracket.round.begin.ditroff"},"6":{"name":"constant.numeric.section.ditroff"},"7":{"name":"punctuation.definition.bracket.round.end.ditroff"},"8":{"name":"constant.numeric.section.ditroff"}}},{"begin":"(?:\\G|^)(index)\\s*(:)(?:\\s*(\\d+)(?=\\s))?.*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.assertion.ditroff","begin":"(?:\\G|^)(assertion)\\s*(:)(?=\\s*\\[)","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"\\G\\s*(\\[)(x|y)?","end":"\\*(\\])|(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"punctuation.section.bracket.square.begin.ditroff"},"2":{"name":"variable.parameter.assertion-type.$2.ditroff"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.square.end.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)((?:html|math)\\b(?:\u003c[/?]p\u003e)?)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"text.embedded.html.basic","match":".+","captures":{"0":{"patterns":[{"include":"text.html.basic"}]}}}]},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(Anchor|U?Link)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.ditroff","begin":"\\G(?:\\s+([+-]?\\d+(?:,[+-]?\\d+)*+)(?=\\s))?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"patterns":[{"name":"constant.numeric.integer.ditroff","match":"\\d+"},{"name":"punctuation.separator.comma.ditroff","match":","}]}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(BleedAt|CropAt|HorScale|PaperSize|Track|TrimAt)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"match":"(?:\\G|^)(LC_CTYPE)\\b(?:\\s*(:))?\\s+((?!#)\\S+)(.*)","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"entity.name.locale.ditroff"},"4":{"patterns":[{"include":"#comment"}]}}},{"begin":"(?:\\G|^)(SupplyFont)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(\\S+)[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"entity.name.font.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(SetColor)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"match":"(?:\\G|^)\\s*(?:([\\s\\d.]+)(?\u003c=\\s)(rgb|hsb|cmyk|setgray|setcolor)|(\\S+))","captures":{"1":{"patterns":[{"name":"constant.numeric.ditroff","match":"[\\d.]+"}]},"2":{"name":"constant.language.colour-scheme.ditroff"},"3":{"name":"variable.other.named-colour.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"(?:\\G|^)([^\\s:#]+)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"include":"#continueLine"}]},"xImportParams":{"patterns":[{"match":"(?:\\G|^)(\\S+)(?:\\s+((-)[LCR]))?","captures":{"1":{"name":"string.other.link.filename.ditroff"},"2":{"name":"constant.language.alignment-type.ditroff"},"3":{"name":"punctuation.definition.dash.ditroff"}}},{"name":"constant.numeric.ditroff","match":"[-+]?(?:\\d*\\.\\d+|\\d+)"},{"include":"#continueLine"}]}}}
@@ -0,0 +1 @@
1
+ {"name":".env","scopeName":"source.dotenv","patterns":[{"include":"#main"}],"repository":{"comment":{"begin":"^([ \\t]*)(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.dotenv","begin":"\\G(#)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.dotenv"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.leading.comment.dotenv"}}},"field":{"name":"meta.field.dotenv","contentName":"meta.field.rhs.dotenv","begin":"^(([ \\t]*)(?:(export)\\s+)?([-\\w.]+)\\s*)(=|:)","end":"(?!\\G)","patterns":[{"name":"punctuation.whitespace.trailing.empty-value.dotenv","match":"\\G[ \\t]+$"},{"begin":"\\G[ \\t]*(?=(\"|')(?:[^\\\\\"']|(?!\\1)[\"']|\\\\.)*+\\1$)","end":"(?!\\G)","patterns":[{"include":"#strings"}]},{"contentName":"string.unquoted.field.dotenv","begin":"\\G[ \\t]*(?!\"|')(?=\\S)","end":"([ \\t]*)$","endCaptures":{"1":{"name":"punctuation.whitespace.trailing.dotenv"}}}],"beginCaptures":{"1":{"name":"meta.field.lhs.dotenv"},"2":{"name":"punctuation.whitespace.leading.field.dotenv"},"3":{"name":"storage.modifier.export.dotenv"},"4":{"name":"variable.assignment.environment.dotenv"},"5":{"name":"keyword.operator.assignment.key-value.dotenv"}}},"main":{"patterns":[{"include":"#comment"},{"include":"#field"}]},"strings":{"patterns":[{"name":"string.quoted.double.dotenv","begin":"\\G\"","end":"\"","patterns":[{"name":"constant.character.escape.newline.dotenv","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}},{"name":"constant.character.escape.quote.dotenv","match":"(\\\\)\"","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dotenv"}},"endCaptures":{"0":{"name":"punctuation.definition.string.env.dotenv"}}},{"name":"string.quoted.single.dotenv","begin":"\\G'","end":"'","patterns":[{"name":"constant.character.escape.quote.dotenv","match":"(\\\\)'","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dotenv"}},"endCaptures":{"0":{"name":"punctuation.definition.string.env.dotenv"}}}]}},"injections":{"source.dotenv meta.field.rhs string - string.quoted.single":{"patterns":[{"name":"source.shell.embedded.dotenv","match":"(?\u003c!\\\\)(\\${)(.*?)(?\u003c!\\\\)(})","captures":{"1":{"name":"punctuation.section.embedded.begin.dotenv"},"2":{"name":"constant.language.environment.variable.dotenv"},"3":{"name":"punctuation.section.embedded.end.dotenv"}}},{"name":"entity.name.variable.dotenv","match":"(?\u003c!\\\\)(\\$)[a-zA-Z0-9_]+","captures":{"1":{"name":"punctuation.definition.variable.dotenv"}}},{"name":"source.shell.embedded.dotenv","match":"(?\u003c!\\\\)(\\$\\()(.*?)(?\u003c!\\\\)(\\))","captures":{"1":{"name":"punctuation.section.embedded.begin.dotenv"},"2":{"patterns":[{"include":"source.shell"}]},"3":{"name":"punctuation.section.embedded.end.dotenv"}}}]},"source.dotenv meta.field.rhs string.unquoted":{"patterns":[{"name":"comment.line.number-sign.inline.dotenv","begin":"(?\u003c=\\S)[ \\t]+(#)","end":"(?=$)","captures":{"1":{"name":"punctuation.definition.comment.dotenv"}}}]}}}
@@ -1 +1 @@
1
- {"name":"Extended Backus-Naur Form","scopeName":"source.ebnf","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.block.ebnf","begin":"\\(\\*","end":"\\*\\)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.ebnf"}}},"lhs":{"patterns":[{"name":"meta.lhs.ebnf","match":"(?x)\n(?: \\s++\n| ^|\\G\n| (?= ^|\\G )\n| (?\u003c= ;|\\*\\) )\n)\n\n# Exclude leading whitespace\n\\s*\n\n([A-Za-z][A-Za-z0-9_-]*+)","captures":{"1":{"name":"entity.name.rule.identifier.ebnf"}}},{"name":"meta.lhs.non-standard.ebnf","contentName":"entity.name.rule.identifier.non-standard.ebnf","begin":"(?x)\n(?: \\s++\n| ^|\\G\n| (?= ^|\\G )\n| (?\u003c= \\*\\) )\n)\n\n# Exclude leading whitespace\n\\s*\n\n# Check for at least one “invalid” character\n(?=\n\t# Starts with a digit\n\t[0-9]\n\t|\n\t\n\t# Contains at least one non-“word” character\n\t[A-Za-z0-9_-]* # Skip any legal characters\n\t(?: [^:;=()] # Don't swallow symbols for comments, terminators, or assignments\n\t| \\((?!\\*) # Permit open brackets if they don't introduce a comment\n\t)\n)","end":"(?x)\n# Exclude trailing whitespace\n\\s*\n\n# Stop before an...\n(?= :*= # Assignment operator separating `#lhs` from `#rhs`\n| ; # Unexpected terminator\n| \\(\\* # Embedded comment\n)","patterns":[{"include":"#comment"}]},{"include":"#comment"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#semicolon"},{"include":"#lhs"},{"include":"#rhs"},{"include":"#special"}]},"rhs":{"name":"meta.rhs.ebnf","begin":"(::=)|(:=)|(=)","end":"(?=;|^\\s*(?:\u003c?[A-Za-z][A-Za-z0-9_-]*\u003e?\\s*)?:*=)","patterns":[{"include":"#rhs-innards"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.non-standard.double-colon.ebnf"},"2":{"name":"keyword.operator.assignment.non-standard.single-colon.ebnf"},"3":{"name":"keyword.operator.assignment.ebnf"}}},"rhs-innards":{"patterns":[{"name":"punctuation.delimiter.comma.ebnf","match":","},{"name":"keyword.operator.logical.or.alternation.pipe.ebnf","match":"\\|"},{"name":"keyword.operator.logical.minus.hyphen.exception.ebnf","match":"-"},{"name":"keyword.operator.logical.repetition.asterisk.star.ebnf","match":"\\*"},{"include":"#special"},{"name":"string.quoted.double.ebnf","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ebnf"}}},{"name":"string.quoted.single.ebnf","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ebnf"}}},{"name":"meta.optional.ebnf","begin":"\\[","end":"\\]","patterns":[{"include":"#rhs-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.square.bracket.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.square.bracket.end.ebnf"}}},{"name":"meta.repetition.ebnf","begin":"{","end":"}","patterns":[{"include":"#rhs-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.curly.bracket.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.curly.bracket.end.ebnf"}}},{"name":"meta.group.ebnf","begin":"\\(","end":"\\)","patterns":[{"include":"#rhs-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.round.bracket.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.round.bracket.end.ebnf"}}},{"include":"#comment"},{"name":"variable.parameter.argument.identifier.reference.ebnf","match":"[A-Za-z][A-Za-z0-9_-]*"},{"name":"keyword.operator.logical.not.negation.non-standard.ebnf","match":"!"},{"include":"source.lex.regexp#quantifier"}]},"semicolon":{"name":"punctuation.terminator.statement.ebnf","match":";"},"special":{"name":"meta.pragma.directive.special.ebnf","contentName":"support.constant.language.pragma.ebnf","begin":"\\?","end":"\\?","beginCaptures":{"0":{"name":"keyword.operator.pragma.begin.ebnf"}},"endCaptures":{"0":{"name":"keyword.operator.pragma.end.ebnf"}}}}}
1
+ {"name":"Extended Backus-Naur Form","scopeName":"source.ebnf","patterns":[{"include":"#main"}],"repository":{"brackets":{"patterns":[{"name":"punctuation.definition.square.bracket.begin.ebnf","match":"\\["},{"name":"punctuation.definition.square.bracket.end.ebnf","match":"\\]"},{"name":"punctuation.definition.curly.bracket.begin.ebnf","match":"{"},{"name":"punctuation.definition.curly.bracket.end.ebnf","match":"}"},{"name":"punctuation.definition.round.bracket.begin.ebnf","match":"\\("},{"name":"punctuation.definition.round.bracket.end.ebnf","match":"\\)"}]},"comment":{"patterns":[{"name":"comment.block.iso14977.ebnf","begin":"\\(\\*","end":"\\*\\)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.ebnf"}}},{"name":"comment.block.w3c.ebnf","begin":"^[ \\t]*((/\\*))","end":"\\*/","beginCaptures":{"1":{"name":"comment.block.w3c.ebnf"},"2":{"name":"punctuation.definition.comment.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.ebnf"}}}]},"lhs":{"patterns":[{"name":"meta.lhs.ebnf","match":"(?x)\n(?: \\s++\n| ^|\\G\n| (?= ^|\\G )\n| (?\u003c= ;|\\*\\) )\n)\n\n# Exclude leading whitespace\n\\s*\n\n([A-Za-z][A-Za-z0-9_-]*+)","captures":{"1":{"name":"entity.name.rule.identifier.ebnf"}}},{"name":"meta.lhs.non-standard.ebnf","contentName":"entity.name.rule.identifier.non-standard.ebnf","begin":"(?x)\n(?: \\s++\n| ^|\\G\n| (?= ^|\\G )\n| (?\u003c= \\*\\) )\n)\n\n# Exclude leading whitespace\n\\s*\n\n# Check for at least one “invalid” character\n(?=\n\t# Starts with a digit\n\t[0-9]\n\t|\n\t\n\t# Contains at least one non-“word” character\n\t[A-Za-z0-9_-]* # Skip any legal characters\n\t(?: [^:;=()] # Don't swallow symbols for comments, terminators, or assignments\n\t| \\((?!\\*) # Permit open brackets if they don't introduce a comment\n\t)\n)","end":"(?x)\n# Exclude trailing whitespace\n\\s*\n\n# Stop before an...\n(?= :*= # Assignment operator separating `#lhs` from `#rhs`\n| ; # Unexpected terminator\n| \\(\\* # Embedded comment\n)","patterns":[{"include":"#comment"}]},{"include":"#comment"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#semicolon"},{"include":"#lhs"},{"include":"#rhs"},{"include":"#special"}]},"rhs":{"name":"meta.rhs.ebnf","begin":"(::=)|(:=)|(=)","end":"(?=;|^\\s*(?:\u003c?[A-Za-z][A-Za-z0-9_-]*\u003e?\\s*)?:*=)","patterns":[{"include":"#rhs-innards"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.non-standard.double-colon.ebnf"},"2":{"name":"keyword.operator.assignment.non-standard.single-colon.ebnf"},"3":{"name":"keyword.operator.assignment.ebnf"}}},"rhs-innards":{"patterns":[{"name":"punctuation.delimiter.comma.ebnf","match":","},{"name":"keyword.operator.logical.or.alternation.pipe.ebnf","match":"\\|"},{"name":"keyword.operator.logical.minus.hyphen.exception.ebnf","match":"-"},{"name":"keyword.operator.logical.repetition.asterisk.star.ebnf","match":"\\*"},{"include":"#special"},{"name":"string.quoted.double.ebnf","begin":"\"","end":"\"(?!\")|(?=^\\s*+\\S+?\\s+::{0,2}=\\s|\\s+\\|)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ebnf"}}},{"name":"string.quoted.single.ebnf","begin":"'","end":"'(?!')|(?=^\\s*+\\S+?\\s+::{0,2}=\\s|\\s+\\|)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ebnf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ebnf"}}},{"include":"#brackets"},{"include":"#comment"},{"name":"variable.parameter.argument.identifier.reference.ebnf","match":"\\b(?\u003c!-)[A-Za-z][A-Za-z0-9_-]*"},{"name":"keyword.operator.logical.not.negation.non-standard.ebnf","match":"!"},{"include":"source.lex.regexp#quantifier"}]},"semicolon":{"name":"punctuation.terminator.statement.ebnf","match":";"},"special":{"name":"meta.pragma.directive.special.iso14977.ebnf","match":"(?\u003c=\\s|^)(\\?)(.+?)(?\u003c=\\s)(\\?)(?=[,;]?(?:$|\\s))","captures":{"1":{"name":"keyword.operator.pragma.begin.ebnf"},"2":{"name":"support.constant.language.pragma.ebnf"},"3":{"name":"keyword.operator.pragma.end.ebnf"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"ECL","scopeName":"source.ecl","patterns":[{"include":"#expression"},{"name":"support.class.ecl","match":"\\b(?i:(std).(file|date|str|math|metaphone|metaphone3|uni|audit|blas|system.(debug|email|job|log|thorlib|util|workunit)))\\b"}],"repository":{"array-literal":{"name":"meta.array.literal.ecl","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.square.ecl"}},"endCaptures":{"0":{"name":"meta.brace.square.ecl"}}},"boolean-literal":{"name":"constant.language.boolean.ecl","match":"\\b(?i:(false|true))\\b"},"comment":{"name":"comment.ecl","patterns":[{"include":"#comment-block-doc"},{"include":"#comment-block"},{"include":"#comment-line"}]},"comment-block":{"name":"comment.block.ecl","begin":"/\\*","end":"\\*/"},"comment-block-doc":{"name":"comment.block.documentation.ecl","begin":"/\\*\\*(?!/)","end":"\\*/"},"comment-line":{"name":"comment.line.ecl","match":"(//).*$\\n?"},"decimal":{"name":"entity.name.type.ecl","match":"\\b(?i)(u?)decimal(\\d+(_\\d+)?)\\b"},"digital-signature":{"name":"digital-signature.ecl","patterns":[{"include":"#digital-signature-header"},{"include":"#digital-signature-footer"}]},"digital-signature-footer":{"name":"keyword.control.ecl","begin":"-----BEGIN PGP SIGNATURE-----","end":"-----END PGP SIGNATURE-----"},"digital-signature-header":{"name":"keyword.control.ecl","begin":"-----BEGIN PGP SIGNED MESSAGE-----","end":"Hash: SHA512"},"embedded-any":{"name":"entity.other.ecl","begin":"((?i:(embed)))\\s*(\\()","end":"(?i:(endembed))","beginCaptures":{"0":{"name":"entity.name.function.ecl"}},"endCaptures":{"0":{"name":"entity.name.function.ecl"}}},"embedded-cpp":{"name":"entity.other.ecl","begin":"(?i:(beginc))\\+\\+","end":"(?i:(endc))\\+\\+","beginCaptures":{"0":{"name":"entity.name.function.ecl"}},"endCaptures":{"0":{"name":"entity.name.function.ecl"}}},"embedded-single":{"match":"(?i:(embed))\\s*(\\([^\\)]+\\));","captures":{"1":{"name":"entity.name.function.ecl"}}},"expression":{"name":"meta.expression.ecl","patterns":[{"include":"#comment"},{"include":"#special-structures"},{"include":"#embedded-single"},{"include":"#embedded-any"},{"include":"#embedded-cpp"},{"include":"#function-call"},{"include":"#operators"},{"include":"#logicals"},{"include":"#types"},{"include":"#keywords-pound"},{"include":"#keywords-workflow"},{"include":"#keywords"},{"include":"#digital-signature"},{"include":"#string"},{"include":"#literal"}]},"function-call":{"match":"([#A-Za-z_0-9]+)\\s*(\\()","captures":{"1":{"patterns":[{"include":"#functions"},{"include":"#functions-pound"},{"include":"#functions-hash"},{"include":"#functions-hash2"},{"include":"#functions-action"},{"include":"#functions-workflow"}]}}},"functions":{"name":"entity.name.function.ecl","match":"\\b(?i:(abs|acos|aggregate|allnodes|apply|apply|ascii|asin|assert|asstring|atan|atan2|ave|build|buildindex|case|catch|choose|choosen|choosesets|clustersize|combine|correlation|cos|cosh|count|covariance|cron|dataset|dedup|define|denormalize|deprecated|dictionary|distribute|distributed|distribution|ebcdic|enth|evaluate|evaluate|event|eventextra|eventname|exists|exp|fail|failcode|failmessage|fetch|fromunicode|fromxml|getenv|getisvalid|graph|group|hashcrc|hashmd5|having|httpcall|httpheader|if|iff|index|interface|intformat|isvalid|iterate|join|keydiff|keypatch|keyunicode|length|library|limit|ln|loadxml|local|log|loop|map|matched|matchlength|matchposition|matchtext|matchunicode|max|merge|mergejoin|min|nofold|nolocal|nonempty|normalize|nothor|notify|opt|output|parse|pattern|penalty|pipe|power|preload|process|project|pull|random|range|rank|ranked|realformat|record|recordof|regexfind|regexfindset|regexreplace|regroup|rejected|rollup|round|roundup|row|rowdiff|rule|sample|sequential|sin|sinh|sizeof|soapcall|sort|sorted|sqrt|stepped|stored|sum|table|tan|tanh|thisnode|topn|tounicode|toxml|transfer|transform|trim|truncate|typeof|ungroup|unicodeorder|use|validate|variance|wait|when|which|xmldecode|xmlencode|xmltext|xmlunicode))\\b"},"functions-action":{"name":"keyword.other.ecl","match":"\\b(?i:(algorithm|cluster|escape|encrypt|expire|heading|keyed|maxlength|module|named|ordered|parallel|quote|terminator|threshold|timelimit|timeout|separator|set|skew|virtual|wild))\\b"},"functions-hash":{"name":"entity.name.function.ecl","match":"\\b(?i:hash(32|64|crc)?)\\b"},"functions-hash2":{"name":"entity.name.function.ecl","match":"\\b(?i:hashmd(5))\\b"},"functions-pound":{"name":"keyword.other.ecl","match":"#(?i:(append|constant|declare|demangle|end|else|elseif|error|expand|export|exportXML|for|getdatatype|if|inmodule|mangle|onwarning|option|set|stored|text|uniquename|warning|webservice|workunit))\\b"},"functions-workflow":{"name":"keyword.control.ecl","match":"\\b(?i:(checkpoint|deprecated|failmessage|failure|global|onwarning|persist|priority|recovery|stored|success|when))\\b"},"integer":{"name":"entity.name.type.ecl","match":"\\b(?i:(integer|unsigned))[1-8]\\b"},"keywords":{"name":"keyword.other.ecl","match":"\\b(?i:(after|all|andor|any|as|atmost|before|best|between|case|compressed|compression|const|counter|csv|default|descend|distributed|encoding|end|endmacro|enum|error|except|exclusive|expand|export|exportxml|extend|fail|failcode|few|fileposition|first|flat|for|forward|from|full|group|grouped|hole|if|ifblock|import|inmodule|inner|internal|joined|keep|keyed|last|left|limit|linkcounted|literal|little_endian|load|local|locale|lookup|lzw|mangle|many|maxcount|maxlength|min skew|mofn|multiple|named|namespace|nocase|noroot|noscan|nosort|noxpath|of|onfail|only|opt|option|outer|overwrite|packed|partition|physicallength|pipe|prefetch|repeat|retry|return|right|right1|right2|rows|rowset|scan|scope|self|service|set|shared|skip|smart|soapaction|sql|stable|store|stored|success|thor|token|trim|type|unicodeorder|uniquename|unordered|unsorted|unstable|update|virtual|warning|whole|width|within|wnotrim|xml|xpath|__compressed_))\\b"},"keywords-pound":{"name":"keyword.other.ecl","match":"#(?i:(break|else|end|loop))\\b"},"keywords-workflow":{"name":"keyword.control.ecl","match":"\\b(?i:(global|independent|once))\\b"},"literal":{"name":"literal.ecl","patterns":[{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#array-literal"},{"include":"#self-literal"}]},"logicals":{"name":"keyword.other.ecl","match":"\\b(?i:(and|in|not|or))\\b"},"numeric-literal":{"name":"constant.numeric.ecl","match":"\\b(?\u003c=[^$])((0(x|X)[0-9a-fA-F]+)|([0-9a-fA-F]+(x|X))|(0(o|O)[0-7]+)|(0(b|B)(0|1)+)|((0|1)+(b|B))|(([0-9]+(\\.[0-9]+)?))([eE]([+-]?)[0-9]+(\\.[0-9]+)?)?)\\b"},"operators":{"name":"keyword.operator.ecl","match":"(\u003e|\u003e=|\u003c|\u003c=|\u003c\u003e|/|\\|+|-|=)"},"qstring-single":{"name":"string.single.ecl","begin":"'","end":"\\'|(?:[^\\\\\\n]$)","patterns":[{"include":"#string-character-escape"}]},"real":{"name":"entity.name.type.ecl","match":"\\b(?i)real(?-i)(4|8)\\b"},"self-literal":{"name":"constant.language.this.ecl","match":"\\b(?i:(self))\\b"},"special-structures":{"name":"entity.name.function.ecl","match":"\\b(?i:(endmacro|function|functionmacro|interface|macro|module|record|transform))\\b"},"string":{"name":"string.ecl","patterns":[{"include":"#qstring-single"}]},"string-character-escape":{"name":"constant.character.escape.ecl","match":"\\\\(x[[:xdigit:]]{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"type-number":{"name":"entity.name.type.ecl","match":"\\b(?i:(data|string|qstring|varstring|varunicode|unicode|utf8))\\d+\\b"},"type-rest":{"name":"entity.name.type.ecl","match":"\\b(?i:(ascii|big_endian|boolean|data|decimal|ebcdic|grouped|integer|linkcounted|pattern|qstring|real|rule|set of|streamed|string|token|udecimal|unicode|utf8|unsigned|varstring|varunicode))\\b"},"types":{"name":"entity.name.type.ecl","patterns":[{"include":"#real"},{"include":"#decimal"},{"include":"#unicode"},{"include":"#integer"},{"include":"#type-number"},{"include":"#type-rest"}]},"unicode":{"name":"entity.name.type.ecl","match":"\\b(?i:(d|u|q|v|x))(8)?(?='.*')"}}}
@@ -0,0 +1 @@
1
+ {"name":"ed","scopeName":"source.ed","patterns":[{"name":"comment.line.number-sign.hashbang.source.ed","begin":"\\A#!","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.source.ed"}}},{"include":"#main"}],"repository":{"address":{"patterns":[{"match":"(?:\\G|^|(?\u003c=[,mt]))[ \\t]*(?:(\\.)|(\\$)|([-^])|(\\+)|([,%])|(;)|(\\d+)|([-^]\\d+)|(\\+\\d+)|((')[a-z]))","captures":{"1":{"name":"variable.language.address.current-line.ed"},"10":{"name":"variable.address.marked-line.ed"},"11":{"name":"punctuation.definition.variable.marked-line.ed"},"2":{"name":"variable.language.address.last-line.ed"},"3":{"name":"variable.language.address.previous-line.ed"},"4":{"name":"variable.language.address.next-line.ed"},"5":{"name":"variable.language.address.range.first-to-last.ed"},"6":{"name":"variable.language.address.range.current-to-last.ed"},"7":{"name":"constant.numeric.line-index.address.nth-line.ed"},"8":{"name":"constant.numeric.line-index.address.nth-previous-line.ed"},"9":{"name":"constant.numeric.line-index.address.nth-next-line.ed"}}},{"name":"meta.address.pattern.search-forward.repeat-last.ed","match":"(?:\\G|^|(?\u003c=,))[ \\t]*(//|/$)","captures":{"1":{"name":"punctuation.delimiter.pattern.empty.ed"}}},{"name":"meta.address.pattern.search-forward.ed","contentName":"string.regexp.address.ed","begin":"(?:\\G|^|(?\u003c=,))[ \\t]*(/)","end":"/|(?=$)","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.delimiter.pattern.begin.ed"}},"endCaptures":{"0":{"name":"punctuation.delimiter.pattern.end.ed"}}},{"name":"meta.address.pattern.search-backward.repeat-last.ed","match":"(?:\\G|^|(?\u003c=,))[ \\t]*(\\?\\?|\\?$)","captures":{"1":{"name":"punctuation.delimiter.pattern.empty.ed"}}},{"name":"meta.address.pattern.search-backward.ed","contentName":"string.regexp.address.ed","begin":"(?:\\G|^|(?\u003c=,))[ \\t]*(\\?)","end":"\\?|(?=$)","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.delimiter.pattern.begin.ed"}},"endCaptures":{"0":{"name":"punctuation.delimiter.pattern.end.ed"}}}]},"comma":{"name":"punctuation.separator.range.address.comma.ed","match":","},"command":{"patterns":[{"name":"meta.command.append-text.ed","begin":"(a)([pln]*)$","end":"(?!\\G)","patterns":[{"include":"#inputMode"}],"beginCaptures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.change-lines.ed","begin":"(c)([pln]*)$","end":"(?!\\G)","patterns":[{"include":"#inputMode"}],"beginCaptures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.delete-lines.ed","match":"(d)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.edit-command-output.ed","match":"(e)[ \\t]+(!.*?)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#shell"}]}}},{"name":"meta.command.edit-file.ed","contentName":"constant.other.filename.path.ed","begin":"(e)(?=\\s|$)[ \\t]*(?!!)","end":"(?=\\\\?$)","beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.edit-file.discard-unsaved-changes.ed","contentName":"constant.other.filename.path.ed","begin":"(E)(?=\\s|$)[ \\t]*(?!!)","end":"(?=\\\\?$)","beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.set-default-filename.ed","contentName":"constant.other.filename.path.ed","begin":"(f)(?=\\s|$)[ \\t]*","end":"(?=\\\\?$)","beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.conditional.ed","begin":"g(?=/)","end":"(?\u003c!\\\\)$","patterns":[{"include":"#commandList"}],"beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.conditional.edit-interactively.ed","begin":"G(?=/)","end":"(?\u003c!\\\\)$","patterns":[{"include":"#commandList"}],"beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.toggle-error-reporting.ed","match":"(H)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.print-error-info.ed","match":"(h)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.insert-text.ed","begin":"(i)([pln]*)$","end":"(?!\\G)","patterns":[{"include":"#inputMode"}],"beginCaptures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.join-lines.ed","match":"(j)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.mark-line.ed","match":"(k)(?:([a-z])|([^a-z]))([pln]*)(?=\\\\?$)","captures":{"1":{"name":"storage.type.mark.ed"},"2":{"name":"entity.name.mark.ed"},"3":{"name":"invalid.illegal.not-lowercase.ed"},"4":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.print-lines-unambiguously.ed","match":"(l)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.move-lines.ed","match":"(m)(.*?)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#address"}]},"3":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.print-numbered-lines.ed","match":"(n)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.print-lines.ed","match":"(p)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.toggle-prompt.ed","match":"(P)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.quit.ed","match":"(q)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.quit.discard-unsaved-changes.ed","match":"(Q)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.read-command-output.ed","match":"(r)[ \\t]+(!.*?)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#shell"}]}}},{"name":"meta.command.read-file.ed","contentName":"constant.other.filename.path.ed","begin":"(r)(?=\\s|$)[ \\t]*(?!!)","end":"(?=\\\\?$)","beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.substitution.ed","begin":"s","end":"(?=\\\\?$)","patterns":[{"include":"#substitution"}],"beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.copy-lines.ed","begin":"t","end":"([pln]*)(?=\\\\?$)","patterns":[{"include":"#address"}],"beginCaptures":{"0":{"name":"keyword.control.command.ed"}},"endCaptures":{"1":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.undo.ed","match":"(u)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.conditional.inverted.ed","begin":"v(?=/)","end":"(?\u003c!\\\\)$","patterns":[{"include":"#commandList"}],"beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.conditional.edit-interactively.inverted.ed","begin":"V(?=/)","end":"(?\u003c!\\\\)$","patterns":[{"include":"#commandList"}],"beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.write-lines-to-command.ed","match":"(w)[ \\t]+(!.*?)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#shell"}]}}},{"name":"meta.command.write-lines-to-file.ed","contentName":"constant.other.filename.path.ed","begin":"(w)(?=\\s|$)[ \\t]*(?!!)","end":"(?=\\\\?$)","beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.write-lines-to-file.quit.ed","contentName":"constant.other.filename.path.ed","begin":"(wq)(?=\\s|$)[ \\t]*(?!!)","end":"(?=\\\\?$)","beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.append-lines-to-file.ed","contentName":"constant.other.filename.path.ed","begin":"(W)(?=\\s|$)[ \\t]*","end":"(?=\\\\?$)","beginCaptures":{"0":{"name":"keyword.control.command.ed"}}},{"name":"meta.command.set-encryption-key.ed","match":"(x)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.scroll.ed","match":"(z)(\\d+)?([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"name":"constant.numeric.integer.int.line-count.ed"},"3":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.print-line-number.ed","match":"(=)([pln]*)(?=\\\\?$)","captures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]}}},{"name":"meta.command.shell.ed","match":"(!.*?)(?=\\\\?$)","captures":{"1":{"patterns":[{"include":"#shell"}]}}}]},"commandList":{"patterns":[{"name":"meta.pattern.ed","contentName":"string.regexp.search.ed","begin":"\\G/","end":"(?=/|$)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.delimiter.pattern.begin.ed"}}},{"contentName":"meta.command-list.ed","begin":"(?!\\G)(/)","end":"(?=(?\u003c!\\\\)$)","patterns":[{"include":"#escapedNewline"},{"name":"meta.command.append-text.ed","contentName":"string.unquoted.user-input.ed","begin":"(a)([pln]*)(\\\\)$","end":"^(\\.)(?=\\\\?$)|^(?!\\.)(.*)(?\u003c!\\\\)$","patterns":[{"include":"#escapedNewline"}],"beginCaptures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]},"3":{"patterns":[{"include":"#escapedNewline"}]}},"endCaptures":{"1":{"patterns":[{"include":"#inputTerminator"}]},"2":{"name":"string.unquoted.user-input.ed"}}},{"name":"meta.command.change-lines.ed","contentName":"string.unquoted.user-input.ed","begin":"(c)([pln]*)(\\\\)$\\R?","end":"^(\\.)(?=\\\\?$)|^(?!\\.)(.*)(?\u003c!\\\\)$","patterns":[{"include":"#escapedNewline"}],"beginCaptures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]},"3":{"patterns":[{"include":"#escapedNewline"}]}},"endCaptures":{"1":{"patterns":[{"include":"#inputTerminator"}]},"2":{"name":"string.unquoted.user-input.ed"}}},{"name":"meta.command.insert-text.ed","contentName":"string.unquoted.user-input.ed","begin":"(i)([pln]*)(\\\\)$\\R?","end":"^(\\.)(?=\\\\?$)|^(?!\\.)(.*)(?\u003c!\\\\)$","patterns":[{"include":"#escapedNewline"}],"beginCaptures":{"1":{"name":"keyword.control.command.ed"},"2":{"patterns":[{"include":"#printSuffix"}]},"3":{"patterns":[{"include":"#escapedNewline"}]}},"endCaptures":{"1":{"patterns":[{"include":"#inputTerminator"}]},"2":{"name":"string.unquoted.user-input.ed"}}},{"name":"invalid.illegal.nested-command.ed","match":"g|v|G|V"},{"include":"#command"}],"beginCaptures":{"0":{"name":"meta.pattern.ed"},"1":{"name":"punctuation.delimiter.pattern.end.ed"}}}]},"escapedNewline":{"name":"constant.character.escape.newline.ed","begin":"\\\\$(?!R)\\R?","end":"^"},"inputMode":{"name":"string.unquoted.user-input.ed","begin":"\\G","end":"^(\\.)$","endCaptures":{"1":{"patterns":[{"include":"#inputTerminator"}]}}},"inputTerminator":{"name":"keyword.control.end-input.ed","match":"\\.","captures":{"0":{"name":"punctuation.terminator.period.dot.full-stop.ed"}}},"main":{"patterns":[{"include":"#command"},{"include":"#address"},{"include":"#comma"}]},"printSuffix":{"patterns":[{"name":"keyword.control.print-suffix.print.ed","match":"p"},{"name":"keyword.control.print-suffix.list.ed","match":"l"},{"name":"keyword.control.print-suffix.enumerate.ed","match":"n"}]},"regexp":{"patterns":[{"name":"constant.language.wildcard.dot.match.any.ed","match":"\\."},{"name":"constant.language.anchor.line-start.ed","match":"\\^"},{"name":"constant.language.anchor.line-end.ed","match":"\\$"},{"name":"constant.language.anchor.word-start.ed","match":"\\\\\u003c"},{"name":"constant.language.anchor.word-end.ed","match":"\\\\\u003e"},{"name":"constant.language.quantifier.min-0.ed","match":"(?!\\G)\\*"},{"include":"source.sed#regexp.bracketExpression"},{"include":"#escapedNewline"},{"name":"meta.subexpression.ed","begin":"\\\\\\(","end":"\\\\\\)|(?=(?\u003c!\\\\)$)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.subexpression.begin.ed"}},"endCaptures":{"0":{"name":"punctuation.definition.subexpression.end.ed"}}},{"name":"meta.quantifier.specific-range.ed","match":"(\\\\{)(\\d+)(?:(,)(\\d+)?)?(\\\\})","captures":{"1":{"name":"punctuation.definition.quantifier.bracket.curly.begin.ed"},"2":{"name":"constant.numeric.integer.ed"},"3":{"name":"punctuation.separator.range.comma.ed"},"4":{"name":"constant.numeric.integer.ed"},"5":{"name":"punctuation.definition.quantifier.bracket.curly.end.ed"}}},{"name":"constant.character.escape.literal.ed","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.ed"}}}]},"shell":{"name":"meta.shell-command.ed","match":"(?:\\G|^)(!)(!?)(.*)","captures":{"1":{"name":"keyword.operator.shell-command.ed"},"2":{"name":"constant.language.previous-command-text.ed"},"3":{"name":"source.embedded.shell","patterns":[{"include":"source.shell"}]}}},"substitution":{"patterns":[{"name":"meta.match-pattern.ed","contentName":"string.regexp.substitution.search.ed","begin":"\\G([^ ])","end":"(?=\\1|(?\u003c!\\\\)$)","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.delimiter.pattern.begin.ed"}}},{"name":"meta.replacement.ed","match":"([^ ])(%)(?:(\\1)([rgp\\d]*+)(.+?)?(?=(?\u003c!\\\\)$)|(?=(?\u003c!\\\\)$))","captures":{"1":{"name":"punctuation.delimiter.pattern.middle.ed"},"2":{"name":"constant.language.last-substitution.ed"},"3":{"name":"punctuation.delimiter.pattern.end.ed"},"4":{"patterns":[{"include":"#substitutionFlags"}]},"5":{"name":"invalid.illegal.unexpected-characters.ed"}}},{"name":"meta.replacement.ed","contentName":"string.quoted.double.ed","begin":"([^ ])","end":"(\\1)([rgp\\d]*+)(.*)|(?=(?\u003c!\\\\)$)","patterns":[{"name":"variable.language.input.ed","match":"\u0026"},{"name":"variable.language.reference.ed","match":"\\\\[0-9]"},{"name":"constant.character.escape.ed","match":"\\\\."},{"include":"#escapedNewline"}],"beginCaptures":{"1":{"name":"punctuation.delimiter.pattern.middle.ed"}},"endCaptures":{"1":{"name":"punctuation.delimiter.pattern.end.ed"},"2":{"patterns":[{"include":"#substitutionFlags"}]},"3":{"name":"invalid.illegal.unexpected-characters.ed"}}}]},"substitutionFlags":{"patterns":[{"name":"keyword.operator.modifier.repeat-last-search.ed","match":"r"},{"name":"keyword.operator.modifier.replace-all.ed","match":"g"},{"name":"keyword.operator.modifier.print.ed","match":"p"},{"name":"keyword.operator.modifier.replace-nth.ed","match":"\\d+"}]}},"injections":{"L:source.ed - meta.command-list":{"patterns":[{"match":"([=HPQdhjlnpqux]|k.|[mtz].*?)[pln]*(?=\\\\$)"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Fennel","scopeName":"source.fnl","patterns":[{"include":"#expression"}],"repository":{"comment":{"patterns":[{"name":"comment.line.semicolon.fennel","begin":";","end":"$"}]},"constants":{"patterns":[{"name":"constant.language.nil.fennel","match":"nil"},{"name":"constant.language.boolean.fennel","match":"false|true"},{"name":"constant.numeric.double.fennel","match":"(-?\\d+\\.\\d+([eE][+-]?\\d+)?)"},{"name":"constant.numeric.integer.fennel","match":"(-?\\d+)"}]},"expression":{"patterns":[{"include":"#comment"},{"include":"#constants"},{"include":"#sexp"},{"include":"#table"},{"include":"#vector"},{"include":"#keywords"},{"include":"#special"},{"include":"#lua"},{"include":"#strings"},{"include":"#methods"},{"include":"#symbols"}]},"keywords":{"name":"constant.keyword.fennel","match":":[^ ]+"},"lua":{"patterns":[{"name":"support.function.fennel","match":"\\b(assert|collectgarbage|dofile|error|getmetatable|ipairs|load|loadfile|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setmetatable|tonumber|tostring|type|xpcall)\\b"},{"name":"support.function.library.fennel","match":"\\b(coroutine|coroutine.create|coroutine.isyieldable|coroutine.resume|coroutine.running|coroutine.status|coroutine.wrap|coroutine.yield|debug|debug.debug|debug.gethook|debug.getinfo|debug.getlocal|debug.getmetatable|debug.getregistry|debug.getupvalue|debug.getuservalue|debug.sethook|debug.setlocal|debug.setmetatable|debug.setupvalue|debug.setuservalue|debug.traceback|debug.upvalueid|debug.upvaluejoin|io|io.close|io.flush|io.input|io.lines|io.open|io.output|io.popen|io.read|io.stderr|io.stdin|io.stdout|io.tmpfile|io.type|io.write|math|math.abs|math.acos|math.asin|math.atan|math.ceil|math.cos|math.deg|math.exp|math.floor|math.fmod|math.huge|math.log|math.max|math.maxinteger|math.min|math.mininteger|math.modf|math.pi|math.rad|math.random|math.randomseed|math.sin|math.sqrt|math.tan|math.tointeger|math.type|math.ult|os|os.clock|os.date|os.difftime|os.execute|os.exit|os.getenv|os.remove|os.rename|os.setlocale|os.time|os.tmpname|package|package.config|package.cpath|package.loaded|package.loadlib|package.path|package.preload|package.searchers|package.searchpath|string|string.byte|string.char|string.dump|string.find|string.format|string.gmatch|string.gsub|string.len|string.lower|string.match|string.pack|string.packsize|string.rep|string.reverse|string.sub|string.unpack|string.upper|table|table.concat|table.insert|table.move|table.pack|table.remove|table.sort|table.unpack|utf8|utf8.char|utf8.charpattern|utf8.codepoint|utf8.codes|utf8.len|utf8.offset)\\b"},{"name":"constant.language.fennel","match":"\\b(_G|_VERSION)\\b"}]},"methods":{"patterns":[{"name":"entity.name.function.method.fennel","match":"\\w+\\:\\w+"}]},"sexp":{"name":"sexp.fennel","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.paren.open.fennel"}},"endCaptures":{"0":{"name":"punctuation.paren.close.fennel"}}},"special":{"patterns":[{"name":"keyword.special.fennel","match":"\\#|\\%|\\+|\\*|[?][.]|(\\.)?\\.|(\\/)?\\/|:|\u003c=?|=|\u003e=?|\\^"},{"name":"keyword.special.fennel","match":"(\\-\\\u003e(\\\u003e)?)"},{"name":"keyword.special.fennel","match":"\\-\\?\\\u003e(\\\u003e)?"},{"name":"keyword.special.fennel","match":"-"},{"name":"keyword.special.fennel","match":"not="},{"name":"keyword.special.fennel","match":"set-forcibly!"},{"name":"keyword.special.fennel","match":"\\b(and|band|bnot|bor|bxor|collect|comment|do|doc|doto|each|eval-compiler|for|global|hashfn|icollect|if|import-macros|include|lambda|length|let|local|lshift|lua|macro|macrodebug|macros|match|not=?|or|partial|pick-args|pick-values|quote|require-macros|rshift|set|tset|values|var|when|while|with-open)\\b"},{"name":"keyword.control.fennel","match":"\\b(fn)\\b"},{"name":"keyword.special.fennel","match":"~="},{"name":"keyword.special.fennel","match":"λ"}]},"strings":{"name":"string.quoted.double.fennel","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.fennel","match":"\\\\."}]},"symbols":{"patterns":[{"name":"entity.name.function.symbol.fennel","match":"\\w+(?:\\.\\w+)+"},{"name":"variable.other.fennel","match":"\\w+"}]},"table":{"name":"table.fennel","begin":"\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.table.bracket.open.fennel"}},"endCaptures":{"0":{"name":"punctuation.table.bracket.close.fennel"}}},"vector":{"name":"meta.vector.fennel","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.vector.bracket.open.fennel"}},"endCaptures":{"0":{"name":"punctuation.vector.bracket.close.fennel"}}}}}
@@ -1 +1 @@
1
- {"name":"FontForge Script","scopeName":"source.fontforge","patterns":[{"include":"#main"}],"repository":{"codepoint":{"name":"constant.numeric.other.codepoint.fontforge","match":"0[uU][A-Fa-f0-9]+"},"comments":{"patterns":[{"name":"comment.line.number-sign.fontforge","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.fontforge"}}},{"name":"comment.block.fontforge","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.fontforge"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.fontforge"}}},{"name":"comment.line.double-slash","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.fontforge"}}}]},"control":{"name":"keyword.control.$1.fontforge","match":"\\b(if|elseif|else|endif|while|endloop|foreach|break|return|shift)\\b"},"integer":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.fontforge","match":"(?\u003c!\\w)[-+]?0[Xx][A-Fa-f0-9]+"},{"name":"constant.numeric.integer.octal.fontforge","match":"(?\u003c!\\w)[-+]?(?=0)\\d+"},{"name":"constant.numeric.integer.decimal.fontforge","match":"(?\u003c!\\w)[-+]?\\d+"}]},"main":{"patterns":[{"include":"#comments"},{"include":"#codepoint"},{"include":"#strings"},{"include":"#control"},{"include":"#real"},{"include":"#integer"},{"include":"#operators"},{"include":"#procedureCall"},{"include":"#punctuation"},{"include":"#variables"}]},"operators":{"patterns":[{"name":"keyword.operator.comparison.fontforge","match":"==|!=|\u003e=|\u003c=|\u003e|\u003c"},{"name":"keyword.operator.assignment.compound.fontforge","match":"=|[-+*/%]="},{"name":"keyword.operator.decrement.fontforge","match":"--"},{"name":"keyword.operator.increment.fontforge","match":"\\+{2}"},{"name":"keyword.operator.arithmetic.fontforge","match":"[-+/*~!]"},{"name":"keyword.operator.logical.fontforge","match":"\u0026\u0026|\\|\\|"},{"name":"keyword.operator.bitwise.fontforge","match":"\u0026|\\||\\\\\\^"},{"name":"keyword.operator.pathspec.fontforge","match":":[htre]","captures":{"0":{"patterns":[{"include":"#punctuation"}]}}}]},"procedureCall":{"name":"meta.function-call.fontforge","contentName":"meta.function-call.arguments.fontforge","begin":"(\\w+)\\s*(\\()","end":"\\)","patterns":[{"include":"$base"}],"beginCaptures":{"1":{"name":"entity.name.function.fontforge"},"2":{"name":"punctuation.definition.arguments.begin.bracket.round.fontforge"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.fontforge"}}},"punctuation":{"patterns":[{"name":"punctuation.separator.comma.fontforge","match":","},{"name":"punctuation.terminator.statement.fontforge","match":";"},{"name":"punctuation.delimiter.colon.fontforge","match":":"},{"name":"meta.expression.chained.fontforge","begin":"\\[","end":"\\]","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"punctuation.bracket.begin.square.fontforge"}},"endCaptures":{"0":{"name":"punctuation.bracket.end.square.fontforge"}}},{"name":"meta.expression.fontforge","begin":"\\(","end":"\\)","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"punctuation.bracket.begin.round.fontforge"}},"endCaptures":{"0":{"name":"punctuation.bracket.end.round.fontforge"}}}]},"real":{"name":"constant.numeric.float.fontforge","match":"(?\u003c!\\w)[-+]?\\d*\\.\\d+"},"shared":{"patterns":[{"include":"#codepoint"},{"include":"#strings"},{"include":"#real"},{"include":"#integer"},{"include":"#punctuation"},{"include":"#operators"}]},"stringEscapes":{"patterns":[{"name":"constant.character.escape.newline.fontforge","match":"\\\\n"}]},"strings":{"patterns":[{"name":"string.double.quoted.fontforge","begin":"\"","end":"\"|$","patterns":[{"include":"#stringEscapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fontforge"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.fontforge"}}},{"name":"string.single.quoted.fontforge","begin":"'","end":"'|$","patterns":[{"include":"#stringEscapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fontforge"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.fontforge"}}}]},"variables":{"patterns":[{"name":"variable.language.readonly.positional.fontforge","match":"(\\$)\\d+(?=\\W)","captures":{"1":{"name":"punctuation.definition.variable.fontforge"}}},{"name":"variable.language.readonly.fontforge","match":"(\\$)\\w+","captures":{"1":{"name":"punctuation.definition.variable.fontforge"}}},{"name":"variable.other.global.fontforge","match":"(_)\\w+","captures":{"1":{"name":"punctuation.definition.variable.fontforge"}}},{"name":"variable.other.font.fontforge","match":"(@)\\w+","captures":{"1":{"name":"punctuation.definition.variable.fontforge"}}},{"name":"variable.other.local.fontforge","match":"(?=[A-Za-z])\\w+"}]}}}
1
+ {"name":"FontForge Script","scopeName":"source.fontforge","patterns":[{"include":"#main"}],"repository":{"codepoint":{"name":"constant.numeric.other.codepoint.fontforge","match":"0[uU][A-Fa-f0-9]+"},"comments":{"patterns":[{"name":"comment.line.number-sign.fontforge","begin":"#","end":"$","patterns":[{"include":"#lineContinuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.fontforge"}}},{"name":"comment.block.fontforge","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.fontforge"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.fontforge"}}},{"name":"comment.line.double-slash","begin":"//","end":"$","patterns":[{"include":"#lineContinuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.fontforge"}}}]},"control":{"name":"keyword.control.flow.$1.fontforge","match":"(?\u003c![$.@/])\\b(if|elseif|else|endif|while|endloop|foreach|break|return|shift)\\b(?![$.@/])"},"integer":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.fontforge","match":"(?\u003c!\\w)[-+]?0[Xx][A-Fa-f0-9]+"},{"name":"constant.numeric.integer.octal.fontforge","match":"(?\u003c!\\w)[-+]?(?=0)\\d+"},{"name":"constant.numeric.integer.decimal.fontforge","match":"(?\u003c!\\w)[-+]?\\d+"}]},"lineContinuation":{"begin":"(\\\\)$\\s*","end":"^","beginCaptures":{"1":{"name":"constant.character.escape.line-continuation.fontforge"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#codepoint"},{"include":"#strings"},{"include":"#control"},{"include":"#real"},{"include":"#integer"},{"include":"#operators"},{"include":"#procedureCall"},{"include":"#punctuation"},{"include":"#variables"},{"include":"#lineContinuation"}]},"operators":{"patterns":[{"name":"keyword.operator.comparison.fontforge","match":"==|!=|\u003e=|\u003c=|\u003e|\u003c"},{"name":"keyword.operator.assignment.compound.fontforge","match":"=|[-+*/%]="},{"name":"keyword.operator.decrement.fontforge","match":"--"},{"name":"keyword.operator.increment.fontforge","match":"\\+{2}"},{"name":"keyword.operator.arithmetic.fontforge","match":"[-+/*~!]"},{"name":"keyword.operator.logical.fontforge","match":"\u0026\u0026|\\|\\|"},{"name":"keyword.operator.bitwise.fontforge","match":"\u0026|\\||\\\\\\^"},{"name":"keyword.operator.pathspec.fontforge","match":":[htre]","captures":{"0":{"patterns":[{"include":"#punctuation"}]}}}]},"procedureCall":{"patterns":[{"name":"meta.function-call.builtin.fontforge","contentName":"meta.function-call.arguments.fontforge","begin":"(?x) (?\u003c![$.@/]) \\b ( ATan2 | AddAccent | AddAnchorClass | AddAnchorPoint | AddDHint | AddExtrema | AddHHint | AddInstrs | AddLookupSubtable | AddLookup | AddPosSub | AddSizeFeature | AddVHint | ApplySubstitution | Array | AskUser | AutoCounter | AutoHint | AutoInstr | AutoKern | AutoTrace | AutoWidth | BitmapsAvail | BitmapsRegen | BuildAccented | BuildComposite | BuildDuplicate | CIDChangeSubFont | CIDFlattenByCMap | CIDFlatten | CIDSetFontNames | CanonicalContours | CanonicalStart | Ceil | CenterInWidth | ChangePrivateEntry | ChangeWeight | CharCnt | CheckForAnchorClass | Chr | ClearBackground | ClearGlyphCounterMasks | ClearHints | ClearInstrs | ClearPrivateEntry | ClearTable | Clear | Close | CompareFonts | CompareGlyphs | ConvertByCMap | ConvertToCID | CopyAnchors | CopyFgToBg | CopyLBearing | CopyRBearing | CopyReference | CopyUnlinked | CopyVWidth | CopyWidth | Copy | CorrectDirection | Cos | Cut | DefaultOtherSubrs | DefaultRoundToGrid | DefaultUseMyMetrics | DetachAndRemoveGlyphs | DetachGlyphs | DontAutoHint | DrawsSomething | Error | ExpandStroke | Export | Exp | FileAccess | FindIntersections | FindOrAddCvtIndex | Floor | FontImage | FontsInFile | GenerateFamily | GenerateFeatureFile | Generate | GetAnchorPoints | GetCvtAt | GetEnv | GetFontBoundingBox | GetLookupInfo | GetLookupOfSubtable | GetLookupSubtables | GetLookups | GetMaxpValue | GetOS2Value | GetPosSub | GetPref | GetPrivateEntry | GetSubtableOfAnchor | GetTTFName | GetTeXParam | GlyphInfo | HFlip | HasPreservedTable | HasPrivateEntry | Import | InFont | Inline | InterpolateFonts | Int | IsAlNum | IsAlpha | IsDigit | IsFinite | IsFraction | IsHexDigit | IsLigature | IsLower | IsNan | IsOtherFraction | IsSpace | IsUpper | IsVulgarFraction | Italic | Join | LoadEncodingFile | LoadNamelistDir | LoadNamelist | LoadPrefs | LoadStringFromFile | LoadTableFromFile | Log | LookupSetFeatureList | LookupStoreLigatureInAfm | MMAxisBounds | MMAxisNames | MMBlendToNewFont | MMChangeInstance | MMChangeWeight | MMInstanceNames | MMWeightedName | MergeFeature | MergeFonts | MergeKern | MergeLookupSubtables | MergeLookups | MoveReference | Move | MultipleEncodingsToReferences | NameFromUnicode | NearlyHvCps | NearlyHvLines | NearlyLines | New | NonLinearTransform | Open | Ord | Outline | OverlapIntersect | PasteWithOffset | Paste | PositionReference | PostNotice | Pow | PreloadCidmap | PrintFont | PrintSetup | Print | Quit | Rand | ReadOtherSubrsFile | Real | Reencode | RemoveAllKerns | RemoveAllVKerns | RemoveAnchorClass | RemoveDetachedGlyphs | RemoveLookupSubtable | RemoveLookup | RemoveOverlap | RemovePosSub | RemovePreservedTable | RenameGlyphs | ReplaceCvtAt | ReplaceGlyphCounterMasks | ReplaceWithReference | RevertToBackup | Revert | Rotate | RoundToCluster | RoundToInt | Round | SameGlyphAs | SavePrefs | SaveTableToFile | Save | ScaleToEm | Scale | SelectAllInstancesOf | SelectAll | SelectBitmap | SelectByPosSub | SelectChanged | SelectFewerSingletons | SelectFewer | SelectGlyphsBoth | SelectGlyphsReferences | SelectGlyphsSplines | SelectHintingNeeded | SelectIf | SelectInvert | SelectMoreIf | SelectMoreSingletonsIf | SelectMoreSingletons | SelectMore | SelectNone | SelectSingletonsIf | SelectSingletons | SelectWorthOutputting | Select | SetCharCnt | SetFondName | SetFontHasVerticalMetrics | SetFontNames | SetFontOrder | SetGasp | SetGlyphChanged | SetGlyphClass | SetGlyphColor | SetGlyphComment | SetGlyphCounterMask | SetGlyphName | SetGlyphTeX | SetItalicAngle | SetKern | SetLBearing | SetMacStyle | SetMaxpValue | SetOS2Value | SetPanose | SetPref | SetRBearing | SetTTFName | SetTeXParams | SetUnicodeValue | SetUniqueID | SetVKern | SetVWidth | SetWidth | Shadow | Simplify | Sin | SizeOf | Skew | SmallCaps | Sqrt | StrJoin | StrSplit | Strcasecmp | Strcasestr | Strftime | Strlen | Strrstr | Strskipint | Strstr | Strsub | Strtod | Strtol | SubstitutionPoints | Tan | ToLower | ToMirror | ToString | ToUpper | Transform | TypeOf | UCodePoint | Ucs4 | UnicodeFromName | UnlinkReference | Utf8 | VFlip | VKernFromHKern | Wireframe | WorthOutputting | WriteStringToFile ) \\s* (\\()","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"support.function.built-in.fontforge"},"2":{"name":"punctuation.definition.arguments.bracket.round.begin.fontforge"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.bracket.round.begin.fontforge"}}},{"name":"meta.function-call.user-defined.fontforge","contentName":"meta.function-call.arguments.fontforge","begin":"(?:(?\u003c![$.@/])\\b((?!\\.?\\d)[A-Za-z$_.\\d@/]+)|(?\u003c=['\"\\)]))\\s*(\\()","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"entity.name.function.fontforge"},"2":{"name":"punctuation.definition.arguments.bracket.round.begin.fontforge"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.bracket.round.end.fontforge"}}},{"name":"meta.function-call.indirect.fontforge","match":"(?x)\n(?:^|(?\u003c!\\*/|['\"\\)A-Za-z$_.\\d@/])\n(?\u003c=\\S))\n\\s* (\\()\n( \"[^\"]*+\"\n| '[^']*+'\n| (?![\"']) [^\\(\\)]* [^\\s\\(\\)]+ [^\\(\\)]*\n) (\\))\n(?=\\s*\\()","captures":{"0":{"name":"meta.expression.fontforge"},"1":{"name":"punctuation.bracket.begin.round.fontforge"},"2":{"patterns":[{"include":"#main"}]},"3":{"name":"punctuation.bracket.end.round.fontforge"}}}]},"punctuation":{"patterns":[{"name":"punctuation.separator.comma.fontforge","match":","},{"name":"punctuation.terminator.statement.fontforge","match":";"},{"name":"punctuation.delimiter.colon.fontforge","match":":"},{"name":"meta.expression.chained.fontforge","begin":"\\[","end":"\\]","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.bracket.begin.square.fontforge"}},"endCaptures":{"0":{"name":"punctuation.bracket.end.square.fontforge"}}},{"name":"meta.expression.fontforge","begin":"\\(","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.bracket.begin.round.fontforge"}},"endCaptures":{"0":{"name":"punctuation.bracket.end.round.fontforge"}}}]},"real":{"name":"constant.numeric.float.fontforge","match":"(?\u003c!\\w)[-+]?\\d*\\.\\d+"},"shared":{"patterns":[{"include":"#codepoint"},{"include":"#strings"},{"include":"#real"},{"include":"#integer"},{"include":"#punctuation"},{"include":"#operators"}]},"stringEscapes":{"patterns":[{"name":"constant.character.escape.newline.fontforge","match":"\\\\n"},{"include":"#lineContinuation"}]},"strings":{"patterns":[{"name":"string.double.quoted.fontforge","begin":"\"","end":"\"|$","patterns":[{"include":"#stringEscapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fontforge"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.fontforge"}}},{"name":"string.single.quoted.fontforge","begin":"'","end":"'|$","patterns":[{"include":"#stringEscapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fontforge"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.fontforge"}}}]},"variables":{"patterns":[{"name":"variable.language.readonly.positional.fontforge","match":"(\\$)\\d+(?=\\W)","captures":{"1":{"name":"punctuation.definition.variable.fontforge"}}},{"name":"variable.language.readonly.fontforge","match":"(\\$)\\w+","captures":{"1":{"name":"punctuation.definition.variable.fontforge"}}},{"name":"variable.other.global.fontforge","match":"(_)\\w+","captures":{"1":{"name":"punctuation.definition.variable.fontforge"}}},{"name":"variable.other.font.fontforge","match":"(@)\\w+","captures":{"1":{"name":"punctuation.definition.variable.fontforge"}}},{"name":"variable.other.local.fontforge","match":"(?=[A-Za-z])\\w+"}]}}}
@@ -1 +1 @@
1
- {"name":"F*","scopeName":"source.fstar","patterns":[{"include":"#comments"},{"include":"#modules"},{"include":"#options"},{"include":"#expr"}],"repository":{"commentblock":{"patterns":[{"name":"comment.block.fstar","begin":"\\(\\*","end":"\\*\\)","patterns":[{"include":"#commentblock"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.fstar"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.fstar"}}}]},"comments":{"patterns":[{"name":"comment.line.fstar","match":"//.*"},{"include":"#commentblock"}]},"expr":{"patterns":[{"include":"#comments"},{"name":"variable.other.generic-type.fstar","match":"'[a-zA-Z0-9_]+\\b"},{"include":"#strings"},{"name":"support.class.base.fstar","match":"\\b(int|nat|pos|bool|unit|string|Type|Type0|eqtype)\\b"},{"name":"support.class.base.fstar","match":"(/\\\\|\\\\/|\u003c:|\u003c@|[(][|]|[|][)]|u#|~\u003e|-\u003e|\u003c--|\u003c-|\u003c==\u003e|==\u003e|[?][.]|[.]\\[|[.]\\(|[{][:]pattern|::|:=|;;|[!][{]|\\[[|]|[|]\u003e|[|]\\]|[~+^\u0026?$|#,.:;=\\[\\](){}-])"},{"name":"constant.language.monad.fstar","match":"\\b(Pure|PURE|Tot|STATE|ST|St|Stack|StackInline|HST|ALL|All|EXN|Exn|Ex|DIV|Div|GHOST|Ghost|GTot|Lemma)\\b"},{"name":"constant.language.fstar","match":"\\b(_|[(]\\s*[)]|\\[\\s*\\])\\b"},{"name":"keyword.other.fstar","match":"\\b(let|in|type|kind|val|rec|and|if|then|else|assume|admit|assert|assert_norm|squash|failwith|SMTPat|SMTPatOr|hasEq|fun|function|forall|exists|exception|by|new_effect|reify|try|synth|with|when)\\b"},{"name":"storage.modifier.fstar","match":"\\b(abstract|attributes|noeq|unopteq|inline|inline_for_extraction|irreducible|logic|mutable|new|noextract|private|reifiable|reflectable|total|unfold|unfoldable)\\b"},{"name":"constant.language.boolean.fstar","match":"\\b([tT]rue|[fF]alse)\\b"},{"name":"constant.numeric.hex.js","match":"\\b0[xX][0-9a-fA-F]+[uU]?[zyslL]?\\b"},{"name":"constant.numeric.decimal.js","match":"\\b[0-9]+[uU]?[zyslL]?\\b"},{"match":"(?x)\n(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+\\b)| # 1.E+3\n (?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # .1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+(\\.)\\B)| # 1.\n (?:\\B(\\.)[0-9]+\\b)| # .1\n (?:\\b[0-9]+\\b(?!\\.)) # 1\n)[L]?[fF]?","captures":{"0":{"name":"constant.numeric.decimal.fstar"},"1":{"name":"meta.delimiter.decimal.period.fstar"},"2":{"name":"meta.delimiter.decimal.period.fstar"},"3":{"name":"meta.delimiter.decimal.period.fstar"},"4":{"name":"meta.delimiter.decimal.period.fstar"},"5":{"name":"meta.delimiter.decimal.period.fstar"},"6":{"name":"meta.delimiter.decimal.period.fstar"}}},{"begin":"([(])\\s*(requires|ensures|decreases)?","end":"([)])","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"punctuation.definition.scope.begin.bracket.round.fstar"},"2":{"name":"keyword.other.fstar"}},"endCaptures":{"1":{"name":"punctuation.definition.scope.end.bracket.round.fstar"}}},{"begin":"([(])","end":"([)])","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"punctuation.definition.clause.begin.bracket.round.fstar"}},"endCaptures":{"1":{"name":"punctuation.definition.clause.end.bracket.round.fstar"}}},{"begin":"([%]\\[)","end":"(\\])","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"constant.language.termorder.begin.fstar"}},"endCaptures":{"1":{"name":"constant.language.termorder.end.fstar"}}},{"begin":"(\\[[@])","end":"(\\])","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"storage.modifier.attributes.begin.fstar"}},"endCaptures":{"1":{"name":"storage.modifier.attributes.end.fstar"}}},{"begin":"\\b(match)\\b","end":"\\b(with)\\b","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"keyword.control.match.fstar"}},"endCaptures":{"1":{"name":"keyword.control.with.fstar"}}},{"begin":"\\b(begin)\\b","end":"\\b(end)\\b","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"keyword.control.begin.fstar"}},"endCaptures":{"1":{"name":"keyword.control.end.fstar"}}},{"match":"\\b([\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)\\b(?!\\s*[.])","captures":{"1":{"name":"support.function.constructor.fstar"}}},{"match":"\\b((?:[\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*[.])+)","captures":{"1":{"name":"variable.other.module.fstar"}}},{"match":"\\b([\\p{Ll}_][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)","captures":{"1":{"name":"entity.name.function.fstar"}}}]},"modules":{"patterns":[{"begin":"\\b(module)\\s+([\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)\\s*(=)","end":"\\b((?\u003cname\u003e[\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)(?:[.]\\g\u003cname\u003e)*)\\b","beginCaptures":{"1":{"name":"keyword.control.module.fstar"},"2":{"name":"variable.other.module-alias.fstar"},"3":{"name":"keyword.operator.assignment.fstar"}},"endCaptures":{"1":{"name":"variable.other.module.fstar"}}},{"begin":"\\b(module|open|include)\\b","end":"\\b((?\u003cname\u003e[\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)(?:[.]\\g\u003cname\u003e)*)\\b","beginCaptures":{"1":{"name":"keyword.control.module.fstar"}},"endCaptures":{"1":{"name":"variable.other.module.fstar"}}}]},"op_names":{"patterns":[{"name":"entity.name.tag.fstar","match":"\\bop(?:_(?:Multiply|Star|Slash|Percent|Plus|Substraction|Equals|Less|Greater|Bang|Dollar|Amp|Dot|Hat|Colon|Pipe|Question))+\\b"}]},"options":{"patterns":[{"match":"(#(?:re)?set-options)\\s*([\"])((?:[^\"]|\\\\\")*)([\"])","captures":{"1":{"name":"keyword.control.setoption.fstar"},"2":{"name":"punctuation.definition.options.begin.fstar"},"3":{"name":"string.quoted.double.fstar"},"4":{"name":"punctuation.definition.options.end.fstar"}}}]},"string_escapes":{"patterns":[{"name":"invalid.illegal.unicode-escape.fstar","match":"\\\\u(?![A-Fa-f0-9]{4}|{[A-Fa-f0-9]+})[^'\"]*"},{"name":"constant.character.escape.js","match":"\\\\u(?:[A-Fa-f0-9]{4}|({)([A-Fa-f0-9]+)(}))","captures":{"1":{"name":"punctuation.definition.unicode-escape.begin.bracket.curly.fstar"},"2":{"patterns":[{"name":"invalid.illegal.unicode-escape.fstar","match":"[A-Fa-f\\d]{7,}|(?!10)[A-Fa-f\\d]{6}"}]},"3":{"name":"punctuation.definition.unicode-escape.end.bracket.curly.fstar"}}},{"name":"constant.character.escape.fstar","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"}]},"strings":{"patterns":[{"name":"string.quoted.double.fstar","begin":"\"","end":"\"","patterns":[{"include":"#string_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fstar"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.fstar"}}},{"name":"string.quoted.single.fstar","begin":"'","end":"'","patterns":[{"include":"#string_escapes"},{"name":"invalid.illegal.string.js","match":".{2,}"}],"beginCaptures":{"0":{"name":"punctuation.definition.char.begin.fstar"}},"endCaptures":{"0":{"name":"punctuation.definition.char.end.fstar"}}},{"name":"string.quoted.template.fstar","begin":"`","end":"`","patterns":[{"include":"#op_names"}],"beginCaptures":{"0":{"name":"punctuation.definition.operator.begin.fstar"}},"endCaptures":{"0":{"name":"punctuation.definition.operator.end.fstar"}}}]}}}
1
+ {"name":"F*","scopeName":"source.fstar","patterns":[{"include":"#comments"},{"include":"#modules"},{"include":"#options"},{"include":"#expr"}],"repository":{"commentblock":{"patterns":[{"name":"comment.block.fstar","begin":"\\(\\*","end":"\\*\\)","patterns":[{"include":"#commentblock"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.fstar"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.fstar"}}}]},"comments":{"patterns":[{"name":"comment.line.fstar","match":"//.*"},{"include":"#commentblock"}]},"expr":{"patterns":[{"include":"#comments"},{"name":"variable.other.generic-type.fstar","match":"'[a-zA-Z0-9_]+\\b"},{"include":"#strings"},{"name":"support.class.base.fstar","match":"\\b(int|nat|pos|bool|unit|string|Type|Type0|eqtype)\\b"},{"name":"support.class.base.fstar","match":"(/\\\\|\\\\/|\u003c:|\u003c@|[(][|]|[|][)]|u#|`|~\u003e|-\u003e|\u003c--|\u003c-|\u003c==\u003e|==\u003e|[?][.]|[.]\\[|[.]\\(|[{][:]pattern|::|:=|;;|[!][{]|\\[[|]|[|]\u003e|[|]\\]|[~+^\u0026?$|#,.:;=\\[\\](){}-])"},{"name":"constant.language.monad.fstar","match":"\\b(Pure|PURE|Tot|STATE|ST|St|Stack|StackInline|HST|ALL|All|EXN|Exn|Ex|DIV|Div|GHOST|Ghost|GTot|Lemma)\\b"},{"name":"constant.language.fstar","match":"\\b(_|[(]\\s*[)]|\\[\\s*\\])\\b"},{"name":"keyword.other.fstar","match":"\\b(let|in|type|kind|val|rec|and|if|then|else|assume|admit|assert|assert_norm|squash|failwith|SMTPat|SMTPatOr|hasEq|fun|function|forall|exists|exception|by|new_effect|reify|try|synth|with|when)\\b"},{"name":"storage.modifier.fstar","match":"\\b(abstract|attributes|noeq|unopteq|inline|inline_for_extraction|irreducible|logic|mutable|new|noextract|private|reifiable|reflectable|total|unfold|unfoldable)\\b"},{"name":"constant.language.boolean.fstar","match":"\\b([tT]rue|[fF]alse)\\b"},{"name":"constant.numeric.hex.js","match":"\\b0[xX][0-9a-fA-F]+[uU]?[zyslL]?\\b"},{"name":"constant.numeric.decimal.js","match":"\\b[0-9]+[uU]?[zyslL]?\\b"},{"match":"(?x)\n(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+\\b)| # 1.E+3\n (?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # .1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+(\\.)\\B)| # 1.\n (?:\\B(\\.)[0-9]+\\b)| # .1\n (?:\\b[0-9]+\\b(?!\\.)) # 1\n)[L]?[fF]?","captures":{"0":{"name":"constant.numeric.decimal.fstar"},"1":{"name":"meta.delimiter.decimal.period.fstar"},"2":{"name":"meta.delimiter.decimal.period.fstar"},"3":{"name":"meta.delimiter.decimal.period.fstar"},"4":{"name":"meta.delimiter.decimal.period.fstar"},"5":{"name":"meta.delimiter.decimal.period.fstar"},"6":{"name":"meta.delimiter.decimal.period.fstar"}}},{"begin":"([(])\\s*(requires|ensures|decreases)?","end":"([)])","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"punctuation.definition.scope.begin.bracket.round.fstar"},"2":{"name":"keyword.other.fstar"}},"endCaptures":{"1":{"name":"punctuation.definition.scope.end.bracket.round.fstar"}}},{"begin":"([(])","end":"([)])","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"punctuation.definition.clause.begin.bracket.round.fstar"}},"endCaptures":{"1":{"name":"punctuation.definition.clause.end.bracket.round.fstar"}}},{"begin":"([%]\\[)","end":"(\\])","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"constant.language.termorder.begin.fstar"}},"endCaptures":{"1":{"name":"constant.language.termorder.end.fstar"}}},{"begin":"(\\[[@])","end":"(\\])","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"storage.modifier.attributes.begin.fstar"}},"endCaptures":{"1":{"name":"storage.modifier.attributes.end.fstar"}}},{"begin":"\\b(match)\\b","end":"\\b(with)\\b","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"keyword.control.match.fstar"}},"endCaptures":{"1":{"name":"keyword.control.with.fstar"}}},{"begin":"\\b(begin)\\b","end":"\\b(end)\\b","patterns":[{"include":"#expr"}],"beginCaptures":{"1":{"name":"keyword.control.begin.fstar"}},"endCaptures":{"1":{"name":"keyword.control.end.fstar"}}},{"match":"\\b([\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)\\b(?!\\s*[.])","captures":{"1":{"name":"support.function.constructor.fstar"}}},{"match":"\\b((?:[\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*[.])+)","captures":{"1":{"name":"variable.other.module.fstar"}}},{"match":"\\b([\\p{Ll}_][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)","captures":{"1":{"name":"entity.name.function.fstar"}}}]},"modules":{"patterns":[{"begin":"\\b(module)\\s+([\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)\\s*(=)","end":"\\b((?\u003cname\u003e[\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)(?:[.]\\g\u003cname\u003e)*)\\b","beginCaptures":{"1":{"name":"keyword.control.module.fstar"},"2":{"name":"variable.other.module-alias.fstar"},"3":{"name":"keyword.operator.assignment.fstar"}},"endCaptures":{"1":{"name":"variable.other.module.fstar"}}},{"begin":"\\b(module|open|include)\\b","end":"\\b((?\u003cname\u003e[\\p{Lu}\\p{Lt}][\\p{Lu}\\p{Lt}\\p{Ll}\\p{Lo}\\p{Lm}\\d'_]*)(?:[.]\\g\u003cname\u003e)*)\\b","beginCaptures":{"1":{"name":"keyword.control.module.fstar"}},"endCaptures":{"1":{"name":"variable.other.module.fstar"}}}]},"op_names":{"patterns":[{"name":"entity.name.tag.fstar","match":"\\bop(?:_(?:Multiply|Star|Slash|Percent|Plus|Substraction|Equals|Less|Greater|Bang|Dollar|Amp|Dot|Hat|Colon|Pipe|Question))+\\b"}]},"options":{"patterns":[{"match":"(#(?:re)?set-options)\\s*([\"])((?:[^\"]|\\\\\")*)([\"])","captures":{"1":{"name":"keyword.control.setoption.fstar"},"2":{"name":"punctuation.definition.options.begin.fstar"},"3":{"name":"string.quoted.double.fstar"},"4":{"name":"punctuation.definition.options.end.fstar"}}}]},"string_escapes":{"patterns":[{"name":"invalid.illegal.unicode-escape.fstar","match":"\\\\u(?![A-Fa-f0-9]{4}|{[A-Fa-f0-9]+})[^'\"]*"},{"name":"constant.character.escape.js","match":"\\\\u(?:[A-Fa-f0-9]{4}|({)([A-Fa-f0-9]+)(}))","captures":{"1":{"name":"punctuation.definition.unicode-escape.begin.bracket.curly.fstar"},"2":{"patterns":[{"name":"invalid.illegal.unicode-escape.fstar","match":"[A-Fa-f\\d]{7,}|(?!10)[A-Fa-f\\d]{6}"}]},"3":{"name":"punctuation.definition.unicode-escape.end.bracket.curly.fstar"}}},{"name":"constant.character.escape.fstar","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"}]},"strings":{"patterns":[{"name":"string.quoted.double.fstar","begin":"\"","end":"\"","patterns":[{"include":"#string_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fstar"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.fstar"}}},{"name":"string.quoted.single.fstar","begin":"'","end":"'","patterns":[{"include":"#string_escapes"},{"name":"invalid.illegal.string.js","match":".{2,}"}],"beginCaptures":{"0":{"name":"punctuation.definition.char.begin.fstar"}},"endCaptures":{"0":{"name":"punctuation.definition.char.end.fstar"}}}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.ftl","patterns":[{"include":"#comment"},{"include":"#message"},{"include":"#wrong-line"}],"repository":{"attributes":{"begin":"\\s*(\\.[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\s*[^\\.])","patterns":[{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.attribute-begin.fluent"}}},"comment":{"name":"comment.fluent","match":"^##?#?\\s.*$"},"function-comma":{"name":"support.function.function-comma.fluent","match":","},"function-named-argument":{"name":"variable.other.named-argument.fluent","begin":"([a-zA-Z0-9]+:)\\s*([\"a-zA-Z0-9]+)","end":"(?=\\)|,|\\s)","beginCaptures":{"1":{"name":"support.function.named-argument.name.fluent"},"2":{"name":"variable.other.named-argument.value.fluent"}}},"function-positional-argument":{"name":"variable.other.function.positional-argument.fluent","match":"\\$[a-zA-Z0-9_-]+"},"invalid-placeable-string-missing-end-quote":{"name":"invalid.illegal.wrong-placeable-missing-end-quote.fluent","match":"\"[^\"]+$"},"invalid-placeable-wrong-placeable-missing-end":{"name":"invalid.illegal.wrong-placeable-missing-end.fluent","match":"([^}A-Z]*$|[^-][^\u003e]$)\\b"},"message":{"contentName":"string.fluent","begin":"^(-?[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\S)","patterns":[{"include":"#attributes"},{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.message-identifier.fluent"}}},"placeable":{"contentName":"variable.other.placeable.content.fluent","begin":"({)","end":"(})","patterns":[{"include":"#placeable-string"},{"include":"#placeable-function"},{"include":"#placeable-reference-or-number"},{"include":"#selector"},{"include":"#invalid-placeable-wrong-placeable-missing-end"},{"include":"#invalid-placeable-string-missing-end-quote"},{"include":"#invalid-placeable-wrong-function-name"}],"beginCaptures":{"1":{"name":"keyword.placeable.begin.fluent"}},"endCaptures":{"1":{"name":"keyword.placeable.end.fluent"}}},"placeable-function":{"contentName":"string.placeable-function.fluent","begin":"([A-Z][A-Z0-9_-]*\\()","end":"(\\))","patterns":[{"include":"#function-comma"},{"include":"#function-positional-argument"},{"include":"#function-named-argument"}],"beginCaptures":{"1":{"name":"support.function.placeable-function.call.begin.fluent"}},"endCaptures":{"1":{"name":"support.function.placeable-function.call.end.fluent"}}},"placeable-reference-or-number":{"name":"variable.other.placeable.reference-or-number.fluent","match":"((-|\\$)[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9_-]*|[0-9]+)"},"placeable-string":{"contentName":"string.placeable-string-content.fluent","begin":"(\")(?=[^\\n]*\")","end":"(\")","beginCaptures":{"1":{"name":"variable.other.placeable-string-begin.fluent"}},"endCaptures":{"1":{"name":"variable.other.placeable-string-end.fluent"}}},"selector":{"contentName":"string.selector.content.fluent","begin":"(-\u003e)","end":"^(?=\\s*})","patterns":[{"include":"#selector-item"}],"beginCaptures":{"1":{"name":"support.function.selector.begin.fluent"}}},"selector-item":{"contentName":"string.selector-item.content.fluent","begin":"(\\s*\\*?\\[)([a-zA-Z0-9_-]+)(\\]\\s*)","end":"^(?=\\s|})","patterns":[{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.function.selector-item.begin.fluent"},"2":{"name":"variable.other.selector-item.begin.fluent"},"3":{"name":"support.function.selector-item.begin.fluent"}}},"wrong-line":{"name":"invalid.illegal.wrong-line.fluent","match":".*"}}}
@@ -1 +1 @@
1
- {"name":"VSCode GCode Syntax","scopeName":"source.gcode","patterns":[{"include":"#all"}],"repository":{"all":{"patterns":[{"include":"#comments"},{"include":"#speedsfeeds"},{"include":"#prognumbers"},{"include":"#coords"},{"include":"#tools"},{"include":"#modifiers"},{"include":"#macrovars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#bracket-expression"}]},"bracket-expression":{"name":"expression.group","begin":"\\[","end":"\\]","patterns":[{"include":"#all"}],"beginCaptures":{"0":{"name":"punctuation.paren.open"}},"endCaptures":{"0":{"name":"punctuation.paren.close"}}},"comments":{"patterns":[{"name":"comment.gcode","match":"(\\(.+\\))"},{"name":"comment.gcode","begin":";","end":"\\n"}]},"coords":{"patterns":[{"name":"string.gcode","match":"([xX])\\s?(\\-?\\d?\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"string.gcode","match":"([yY])\\s?(\\-?\\d?\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"invalid.gcode","match":"([zZ])\\s?(\\-?\\d?\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"constant.character.escape.gcode","match":"([aAbBcC])\\s?(\\-?\\d?\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"}]},"keywords":{"patterns":[{"name":"keyword.control.gcode","match":"(GOTO(?\u003e\\d+))|(IF)|(EQ)|(NE)|(LT)|(GT)|(LE)|(GE)|(DO(?\u003e\\d+))|(WHILE)|(WH)|(END(?\u003e\\d+))|(AND)|(OR)|(XOR)"},{"name":"constant.numeric.gcode","match":"[gG](1)?5[4-9](.1)?\\s?(P[0-9]{1,3})?"},{"name":"constant.numeric.gcode","match":"[gG]1[1-2][0-9]"},{"name":"constant.numeric.gcode","match":"[gG]15\\s?(H[0-9]{1,2})?"},{"name":"markup.bold.gcode","match":"[gG][0-9]{1,3}(\\.[0-9])?"},{"name":"keyword.operator.quantifier.regexp.gcode","match":"[mM][0-9]{1,3}"},{"name":"string.gcode","match":"([\\%])"}]},"macrovars":{"patterns":[{"name":"variable.other.gcode","match":"[#][0-9]+"},{"name":"variable.other.gcode","match":"[#][\\[].+[\\]]"}]},"modifiers":{"patterns":[{"name":"constant.character.escape.gcode","match":"([iIjJkK])(\\-?\\d?\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"support.constant.math.gcode","match":"([qQrR])(\\-?\\d?\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]]))"},{"name":"support.constant.math.gcode","match":"([uUwW])(\\-?\\d?\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]]))"}]},"operators":{"patterns":[{"name":"support.constant.math.gcode","match":"(SIN)|(COS)|(TAN)|(ASIN)|(ACOS)|(ATAN)|(FIX)|(FUP)|(LN)|(ROUND)|(SQRT)"},{"name":"support.constant.math.gcode","match":"(FIX)|(FUP)|(ROUND)|(ABS)|(MOD)"},{"name":"support.constant.math.gcode","match":"(\\+)|(\\*)|(\\/)|(\\*\\*)"},{"name":"invalid.gcode","match":"(\\-)"}]},"prognumbers":{"patterns":[{"name":"constant.numeric.gcode","match":"(^[nN])(\\d+)"},{"name":"string.regexp.gcode","match":"(^[oO])(\\d+)"},{"name":"string.regexp.gcode","match":"([pP])\\s?(\\d?\\.?\\d+\\.?|\\.?(?=[#\\[]))"}]},"speedsfeeds":{"patterns":[{"name":"constant.language.gcode","match":"([sS])\\s?(\\d+|(?=[#\\[]))"},{"name":"constant.language.gcode","match":"([eEfF])\\s?(\\d*\\.?\\d+\\.?|\\.?(?=[#\\[]))"}]},"tools":{"patterns":[{"name":"constant.character.gcode","match":"([dD])\\s?(\\d+\\.?\\d*|(?=[#\\[]))"},{"name":"constant.character.gcode","match":"([hH])\\s?(\\d+\\.?\\d*|(?=[#\\[]))"},{"name":"constant.character.gcode","match":"([tT])\\s?(\\d+\\.?\\d*|(?=[#\\[]))"}]}}}
1
+ {"name":"VSCode GCode Syntax","scopeName":"source.gcode","patterns":[{"include":"#all"}],"repository":{"all":{"patterns":[{"include":"#comments"},{"include":"#speedsfeeds"},{"include":"#prognumbers"},{"include":"#coords"},{"include":"#tools"},{"include":"#modifiers"},{"include":"#macrovars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#bracket-expression"}]},"bracket-expression":{"name":"expression.group","begin":"\\[","end":"\\]","patterns":[{"include":"#all"}],"beginCaptures":{"0":{"name":"punctuation.paren.open"}},"endCaptures":{"0":{"name":"punctuation.paren.close"}}},"comments":{"patterns":[{"name":"comment.gcode","match":"(\\(.+\\))"},{"name":"comment.gcode","begin":";","end":"\\n"}]},"coords":{"patterns":[{"name":"string.gcode","match":"([xX])\\s?(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"string.gcode","match":"([yY])\\s?(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"invalid.gcode","match":"([zZ])\\s?(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"constant.character.escape.gcode","match":"([aAbBcC])\\s?(\\-*\\d?\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"}]},"keywords":{"patterns":[{"name":"keyword.control.gcode","match":"(GOTO(?\u003e\\d+))|(IF)|(EQ)|(NE)|(LT)|(GT)|(LE)|(GE)|(DO(?\u003e\\d+))|(WHILE)|(WH)|(END(?\u003e\\d+))|(AND)|(OR)|(XOR)"},{"name":"constant.numeric.gcode","match":"[gG](1)?5[4-9](.1)?\\s?(P[0-9]{1,3})?"},{"name":"constant.numeric.gcode","match":"[gG]1[1-2][0-9]"},{"name":"constant.numeric.gcode","match":"[gG]15\\s?(H[0-9]{1,2})?"},{"name":"markup.bold.gcode","match":"[gG][0-9]{1,3}(\\.[0-9])?"},{"name":"keyword.operator.quantifier.regexp.gcode","match":"[mM][0-9]{1,3}"},{"name":"string.gcode","match":"([\\%])"}]},"macrovars":{"patterns":[{"name":"variable.other.gcode","match":"[#][0-9]+"},{"name":"variable.other.gcode","match":"[#][\\[].+[\\]]"}]},"modifiers":{"patterns":[{"name":"constant.character.escape.gcode","match":"([iIjJkK])(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"support.constant.math.gcode","match":"([qQrR])(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]]))"},{"name":"support.constant.math.gcode","match":"([uUwW])(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]]))"}]},"operators":{"patterns":[{"name":"support.constant.math.gcode","match":"(SIN)|(COS)|(TAN)|(ASIN)|(ACOS)|(ATAN)|(FIX)|(FUP)|(LN)|(ROUND)|(SQRT)"},{"name":"support.constant.math.gcode","match":"(FIX)|(FUP)|(ROUND)|(ABS)|(MOD)"},{"name":"support.constant.math.gcode","match":"(\\+)|(\\*)|(\\/)|(\\*\\*)"},{"name":"invalid.gcode","match":"(\\-)"}]},"prognumbers":{"patterns":[{"name":"constant.numeric.gcode","match":"(^[nN])(\\d+)"},{"name":"string.regexp.gcode","match":"(^[oO])(\\d+)"},{"name":"string.regexp.gcode","match":"([pP])\\s?(\\d?\\.?\\d+\\.?|\\.?(?=[#\\[]))"}]},"speedsfeeds":{"patterns":[{"name":"constant.language.gcode","match":"([sS])\\s?(\\d+|(?=[#\\[]))"},{"name":"constant.language.gcode","match":"([eEfF])\\s?(\\d*\\.?\\d+\\.?|\\.?(?=[#\\[]))"}]},"tools":{"patterns":[{"name":"constant.character.gcode","match":"([dD])\\s?(\\d*\\.?\\d*|(?=[#\\[]))"},{"name":"constant.character.gcode","match":"([hH])\\s?(\\d*\\.?\\d*|(?=[#\\[]))"},{"name":"constant.character.gcode","match":"([tT])\\s?(\\d*\\.?\\d*|(?=[#\\[]))"}]}}}
@@ -1 +1 @@
1
- {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#base_expression"},{"include":"#logic_op"},{"include":"#compare_op"},{"include":"#arithmetic_op"},{"include":"#assignment_op"},{"include":"#keywords"},{"include":"#self"},{"include":"#const_def"},{"include":"#type_declear"},{"include":"#class_def"},{"include":"#class_name"},{"include":"#builtin_func"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#function-declaration"},{"include":"#function-return-type"},{"include":"#any-method"},{"include":"#any-property"},{"include":"#extends"},{"include":"#pascal_case_class"}],"repository":{"annotated-parameter":{"begin":"(?x)\n \\b\n ([[:alpha:]_]\\w*) \\s* (:)\n","end":"(,)|(?=\\))","patterns":[{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"any-method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any-property":{"name":"variable.other.property.gdscript","match":"(?\u003c=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_op":{"name":"keyword.operator.arithmetic.gdscript","match":"\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},"assignment_op":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#strings"},{"include":"#comment"},{"include":"#letter"},{"include":"#numbers"},{"include":"#line-continuation"}]},"builtin_classes":{"name":"support.class.library.gdscript","match":"(?\u003c![^.]\\.|:)\\b(Vector2|Vector3|Color|Rect2|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|AABB|String|Color|NodePath|RID|Object|Dictionary|Array|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray)\\b"},"builtin_func":{"name":"support.function.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(sin|cos|tan|sinh|cosh|tanh|asin|acos|atan|atan2|sqrt|fmod|fposmod|floor|ceil|round|abs|sign|pow|log|exp|is_nan|is_inf|ease|decimals|stepify|lerp|dectime|randomize|randi|randf|rand_range|seed|rand_seed|deg2rad|rad2deg|linear2db|db2linear|max|min|clamp|nearest_po2|weakref|funcref|convert|typeof|type_exists|char|str|print|printt|prints|printerr|printraw|var2str|str2var|var2bytes|bytes2var|range|load|inst2dict|dict2inst|hash|Color8|print_stack|instance_from_id|preload|yield|assert)\\b(?=(\\()([^)]*)(\\)))"},"class_def":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_op":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_def":{"match":"\\b(?i:(const))\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.const.gdscript"},"2":{"name":"constant.language.gdscript"}}},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_0-9]+)\\b"},"extends":{"name":"entity.other.inherited-class.gdscript","match":"(?\u003c=extends)\\s+[a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?"},"function-declaration":{"name":"meta.function.gdscript","begin":"(?x)\n \\s*\n (?:\\b(static) \\s+)? \\b(func|signal)\\s+\n (?=\n [[:alpha:]_][[:word:]]* \\s* \\(\n )\n","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#function-def-name"},{"include":"#parameters"},{"include":"#line-continuation"},{"include":"#return-annotation"}],"beginCaptures":{"1":{"name":"storage.type.function.static.gdscript"},"2":{"name":"storage.type.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function-def-name":{"patterns":[{"name":"entity.name.function.gdscript","match":"(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n"}]},"function-return-type":{"match":"\\)\\s*\\-\\\u003e\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\:","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?i:if|elif|else|for|while|break|continue|pass|return|match|func|class|class_name|extends|is|in|onready|tool|static|export|setget|const|var|as|void|enum|preload|assert|yield|signal|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync)\\b"},"letter":{"name":"constant.language.gdscript","match":"\\b(?i:true|false|null)\\b"},"line-continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_op":{"name":"keyword.operator.logical.gdscript","match":"\\b(and|or|not)\\b"},"loose-default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"\\b(?i:0x[[:xdigit:]]*)\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b"},{"name":"constant.numeric.integer.gdscript","match":"\\b\\d+\\b"}]},"parameter-special":{"match":"(?x)\n \\b ((self)|(cls)) \\b \\s*(?:(,)|(?=\\)))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"variable.parameter.function.language.special.self.gdscript"},"3":{"name":"variable.parameter.function.language.special.cls.gdscript"},"4":{"name":"punctuation.separator.parameters.gdscript"}}},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"name":"keyword.operator.unpacking.parameter.gdscript","match":"(\\*\\*|\\*)"},{"include":"#parameter-special"},{"match":"(?x)\n ([[:alpha:]_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose-default"},{"include":"#annotated-parameter"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\b","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"strings":{"patterns":[{"name":"string.quoted.double.gdscript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.quoted.single.gdscript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.nodepath.gdscript","begin":"@\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\."}]}]},"type_declear":{"match":"\\:\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"var_def":{"match":"\\b(?i:(var))\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.var.gdscript"},"2":{"name":"variable.language.gdscript"}}}}}
1
+ {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#base_expression"},{"include":"#logic_op"},{"include":"#compare_op"},{"include":"#arithmetic_op"},{"include":"#assignment_op"},{"include":"#keywords"},{"include":"#self"},{"include":"#const_def"},{"include":"#type_declear"},{"include":"#class_def"},{"include":"#class_name"},{"include":"#builtin_func"},{"include":"#builtin_get_node_shorthand"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#function-declaration"},{"include":"#function-return-type"},{"include":"#any-method"},{"include":"#any-property"},{"include":"#extends"},{"include":"#pascal_case_class"}],"repository":{"annotated-parameter":{"begin":"(?x)\n \\b\n ([[:alpha:]_]\\w*) \\s* (:)\n","end":"(,)|(?=\\))","patterns":[{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"any-method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any-property":{"name":"variable.other.property.gdscript","match":"(?\u003c=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_op":{"name":"keyword.operator.arithmetic.gdscript","match":"\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},"assignment_op":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#strings"},{"include":"#comment"},{"include":"#letter"},{"include":"#numbers"},{"include":"#line-continuation"}]},"builtin_classes":{"name":"support.class.library.gdscript","match":"(?\u003c![^.]\\.|:)\\b(Vector2|Vector3|Color|Rect2|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|AABB|String|Color|NodePath|RID|Object|Dictionary|Array|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray)\\b"},"builtin_func":{"name":"support.function.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(sin|cos|tan|sinh|cosh|tanh|asin|acos|atan|atan2|sqrt|fmod|fposmod|floor|ceil|round|abs|sign|pow|log|exp|is_nan|is_inf|ease|decimals|stepify|lerp|dectime|randomize|randi|randf|rand_range|seed|rand_seed|deg2rad|rad2deg|linear2db|db2linear|max|min|clamp|nearest_po2|weakref|funcref|convert|typeof|type_exists|char|str|print|printt|prints|printerr|printraw|var2str|str2var|var2bytes|bytes2var|range|load|inst2dict|dict2inst|hash|Color8|print_stack|instance_from_id|preload|yield|assert)\\b(?=(\\()([^)]*)(\\)))"},"builtin_get_node_shorthand":{"name":"support.function.builtin.shorthand.gdscript","match":"\\$((\\\"(\\.\\.\\/)+|\\\"\\/|\\\"[0-9]+|\\\")([0-9A-Za-z\\_]+\\/)*[A-Za-z0-9\\_]+\\\"|[A-Za-z\\_]+(\\/[A-Za-z\\_]+)*)"},"class_def":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_op":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_def":{"match":"\\b(?i:(const))\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.const.gdscript"},"2":{"name":"constant.language.gdscript"}}},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_0-9]+)\\b"},"extends":{"name":"entity.other.inherited-class.gdscript","match":"(?\u003c=extends)\\s+[a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?"},"function-declaration":{"name":"meta.function.gdscript","begin":"(?x)\n \\s*\n (?:\\b(static) \\s+)? \\b(func|signal)\\s+\n (?=\n [[:alpha:]_][[:word:]]* \\s* \\(\n )\n","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#function-def-name"},{"include":"#parameters"},{"include":"#line-continuation"},{"include":"#return-annotation"}],"beginCaptures":{"1":{"name":"storage.type.function.static.gdscript"},"2":{"name":"storage.type.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function-def-name":{"patterns":[{"name":"entity.name.function.gdscript","match":"(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n"}]},"function-return-type":{"match":"\\)\\s*\\-\\\u003e\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\:","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?i:if|elif|else|for|while|break|continue|pass|return|match|func|class|class_name|extends|is|in|onready|tool|static|export|setget|const|var|as|void|enum|preload|assert|yield|signal|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|in)\\b"},"letter":{"name":"constant.language.gdscript","match":"\\b(?i:true|false|null)\\b"},"line-continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_op":{"name":"keyword.operator.logical.gdscript","match":"\\b(and|or|not)\\b"},"loose-default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"\\b(?i:0x[[:xdigit:]]*)\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b"},{"name":"constant.numeric.integer.gdscript","match":"\\b\\d+\\b"}]},"parameter-special":{"match":"(?x)\n \\b ((self)|(cls)) \\b \\s*(?:(,)|(?=\\)))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"variable.parameter.function.language.special.self.gdscript"},"3":{"name":"variable.parameter.function.language.special.cls.gdscript"},"4":{"name":"punctuation.separator.parameters.gdscript"}}},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"name":"keyword.operator.unpacking.parameter.gdscript","match":"(\\*\\*|\\*)"},{"include":"#parameter-special"},{"match":"(?x)\n ([[:alpha:]_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose-default"},{"include":"#annotated-parameter"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\b","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"strings":{"patterns":[{"name":"string.quoted.double.gdscript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.quoted.single.gdscript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.nodepath.gdscript","begin":"@\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\."}]}]},"type_declear":{"match":"\\:\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"var_def":{"match":"\\b(?i:(var))\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.var.gdscript"},"2":{"name":"variable.language.gdscript"}}}}}