github-linguist 7.16.0 → 7.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +1 -0
  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/liquid.injection.json +1 -0
  11. data/grammars/markdown.curry.codeblock.json +1 -0
  12. data/grammars/markdown.textproto.codeblock.json +1 -0
  13. data/grammars/source.2da.json +1 -0
  14. data/grammars/source.abap.json +1 -1
  15. data/grammars/source.aidl.json +1 -1
  16. data/grammars/source.ballerina.json +1 -1
  17. data/grammars/source.bc.json +1 -0
  18. data/grammars/source.bicep.json +1 -1
  19. data/grammars/source.bnd.json +1 -0
  20. data/grammars/source.cirru.json +1 -1
  21. data/grammars/source.cl.json +1 -0
  22. data/grammars/source.clar.json +1 -0
  23. data/grammars/source.clarion.json +1 -1
  24. data/grammars/source.clojure.json +1 -1
  25. data/grammars/source.cmd.json +1 -0
  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.curry.json +1 -0
  30. data/grammars/source.dart.json +1 -1
  31. data/grammars/source.data-weave.json +1 -1
  32. data/grammars/source.dc.json +1 -0
  33. data/grammars/source.dds.dspf.json +1 -0
  34. data/grammars/source.dds.icff.json +1 -0
  35. data/grammars/source.dds.lf.json +1 -0
  36. data/grammars/source.dds.pf.json +1 -0
  37. data/grammars/source.dds.prtf.json +1 -0
  38. data/grammars/source.deb-control.json +1 -0
  39. data/grammars/source.debian.makefile.json +1 -0
  40. data/grammars/source.denizenscript.json +1 -0
  41. data/grammars/source.ditroff.json +1 -1
  42. data/grammars/source.earthfile.json +1 -0
  43. data/grammars/source.elixir.json +1 -1
  44. data/grammars/source.euphoria.json +1 -0
  45. data/grammars/source.fsharp.json +1 -1
  46. data/grammars/source.fstar.json +1 -1
  47. data/grammars/source.futhark.json +1 -1
  48. data/grammars/source.gcode.json +1 -1
  49. data/grammars/source.gitignore.json +1 -1
  50. data/grammars/source.gleam.json +1 -0
  51. data/grammars/source.goldgrm.json +1 -0
  52. data/grammars/source.gsc.json +1 -0
  53. data/grammars/source.haskell.json +1 -1
  54. data/grammars/source.hoon.json +1 -0
  55. data/grammars/source.hsig.json +1 -1
  56. data/grammars/source.icurry.json +1 -0
  57. data/grammars/source.janet.json +1 -0
  58. data/grammars/source.jest.snap.json +1 -0
  59. data/grammars/source.jq.json +1 -1
  60. data/grammars/source.js.json +1 -1
  61. data/grammars/source.json.json +1 -1
  62. data/grammars/source.julia.json +1 -1
  63. data/grammars/source.kotlin.json +1 -1
  64. data/grammars/source.m2.json +1 -1
  65. data/grammars/source.matlab.json +1 -1
  66. data/grammars/source.mi.json +1 -0
  67. data/grammars/source.miniyaml.json +1 -0
  68. data/grammars/source.mint.json +1 -0
  69. data/grammars/source.mlir.json +1 -1
  70. data/grammars/source.mo.json +1 -0
  71. data/grammars/source.odin.json +1 -1
  72. data/grammars/source.opts.json +1 -1
  73. data/grammars/source.pcb.schematic.json +1 -1
  74. data/grammars/source.pcb.sexp.json +1 -1
  75. data/grammars/source.pic.json +1 -1
  76. data/grammars/source.pnlgrp.json +1 -0
  77. data/grammars/source.postscript.json +1 -1
  78. data/grammars/source.powershell.json +1 -1
  79. data/grammars/source.procfile.json +1 -0
  80. data/grammars/source.promela.json +1 -0
  81. data/grammars/source.proto.json +1 -1
  82. data/grammars/source.python.kivy.json +1 -0
  83. data/grammars/source.q_output.json +1 -1
  84. data/grammars/source.qsharp.json +1 -1
  85. data/grammars/source.rascal.json +1 -1
  86. data/grammars/source.rego.json +1 -1
  87. data/grammars/source.rescript.json +1 -1
  88. data/grammars/source.rpg.json +1 -0
  89. data/grammars/source.rpgle.json +1 -0
  90. data/grammars/source.scala.json +1 -1
  91. data/grammars/source.shellcheckrc.json +1 -1
  92. data/grammars/source.smali.json +1 -1
  93. data/grammars/source.solidity.json +1 -1
  94. data/grammars/source.sqf.json +1 -1
  95. data/grammars/source.ssh-config.json +1 -1
  96. data/grammars/source.textproto.json +1 -0
  97. data/grammars/source.ts.json +1 -1
  98. data/grammars/source.tsx.json +1 -1
  99. data/grammars/source.v.json +1 -1
  100. data/grammars/source.vyper.json +1 -1
  101. data/grammars/source.witcherscript.json +1 -0
  102. data/grammars/source.ws.json +1 -0
  103. data/grammars/source.wsd.json +1 -1
  104. data/grammars/source.yara.json +1 -1
  105. data/grammars/source.yasnippet.json +1 -1
  106. data/grammars/text.html.liquid.json +1 -1
  107. data/grammars/text.html.php.json +1 -1
  108. data/grammars/text.roff.json +1 -1
  109. data/grammars/text.rtf.json +1 -1
  110. data/grammars/text.tex.latex.haskell.json +1 -1
  111. data/grammars/version +1 -1
  112. data/lib/linguist/VERSION +1 -1
  113. data/lib/linguist/documentation.yml +1 -0
  114. data/lib/linguist/generated.rb +32 -1
  115. data/lib/linguist/heuristics.yml +52 -2
  116. data/lib/linguist/languages.json +1 -1
  117. data/lib/linguist/languages.yml +297 -22
  118. data/lib/linguist/samples.json +1 -1
  119. data/lib/linguist/vendor.yml +4 -1
  120. metadata +82 -40
  121. data/lib/linguist/linguist.bundle +0 -0
@@ -1 +1 @@
1
- {"name":"Option list","scopeName":"source.opts","patterns":[{"include":"#main"}],"repository":{"escape":{"patterns":[{"include":"etc#esc"},{"name":"constant.character.percent.url-encoded.opts","match":"(%)[A-Fa-f0-9]{2}","captures":{"1":{"name":"punctuation.definition.character.percentage.opts"}}}]},"main":{"patterns":[{"include":"etc#comment"},{"include":"#option"},{"include":"#escape"}]},"option":{"patterns":[{"name":"meta.option.opts","begin":"(--|-)([^-\\s=][^\\s=]*)","end":"(?!\\G)(?=\\$|\\S)","patterns":[{"match":"(?xi)\n(?\u003c= # HACK: Fixed-width look-behinds enforced by Oniguruma\n\t\\w[-_]pattern \\G\n\t| reg[-_]exp \\G\n\t| regexp \\G\n\t| reg[-_]ex \\G\n\t| regex \\G\n) \\s+ (\\S+)","captures":{"1":{"patterns":[{"include":"source.regexp"}]}}},{"match":"\\G(=)(\\S*)","captures":{"1":{"name":"etc#eql"},"2":{"patterns":[{"include":"#value"}]}}},{"match":"\\G\\s+(?!#|-)(\\S+)","captures":{"1":{"patterns":[{"include":"#value"}]}}}],"beginCaptures":{"1":{"name":"punctuation.definition.dash.option.name.opts"},"2":{"name":"entity.option.name.opts"}}}]},"optionValue":{"patterns":[{"include":"etc"},{"include":"etc#bareword"}]}}}
1
+ {"name":"Option list","scopeName":"source.opts","patterns":[{"include":"#main"}],"repository":{"escape":{"patterns":[{"include":"etc#esc"},{"name":"constant.character.percent.url-encoded.opts","match":"(%)[A-Fa-f0-9]{2}","captures":{"1":{"name":"punctuation.definition.character.percentage.opts"}}}]},"main":{"patterns":[{"include":"etc#comment"},{"include":"#option"},{"include":"#escape"}]},"option":{"patterns":[{"name":"meta.option.opts","begin":"(--|-)([^-\\s=][^\\s=]*)","end":"(?!\\G)(?=\\$|\\S)","patterns":[{"match":"(?xi)\n(?\u003c= # HACK: Fixed-width look-behinds enforced by Oniguruma\n\t\\w[-_]pattern \\G\n\t| reg[-_]exp \\G\n\t| regexp \\G\n\t| reg[-_]ex \\G\n\t| regex \\G\n) \\s+ (\\S+)","captures":{"1":{"patterns":[{"include":"source.regexp"}]}}},{"match":"\\G(=)(\\S*)","captures":{"1":{"patterns":[{"include":"etc#eql"}]},"2":{"patterns":[{"include":"#value"}]}}},{"match":"\\G\\s+(?!#|-)(\\S+)","captures":{"1":{"patterns":[{"include":"#value"}]}}}],"beginCaptures":{"1":{"name":"punctuation.definition.dash.option.name.opts"},"2":{"name":"entity.option.name.opts"}}}]},"value":{"patterns":[{"include":"etc"},{"include":"etc#bareword"}]}}}
@@ -1 +1 @@
1
- {"name":"KiCad Schematic","scopeName":"source.pcb.schematic","patterns":[{"contentName":"source.eagle.pcb.board","begin":"\\A(?=\u003c\\?xml\\s+version=\"[\\d.]+\"\\s)","end":"(?=A)B","patterns":[{"include":"text.xml"}]},{"contentName":"source.scheme","begin":"\\A\\s*(?=;|\\()","end":"(?=A)B","patterns":[{"include":"source.scheme"}]},{"name":"meta.header.pcb.schematic","begin":"^\\s*(EESchema\\s+(?:Schematic|-LIBRARY)\\s+\\S+.*)\\s*$","end":"(?\u003c=\\$EndDescr)(?=\\s|$)","patterns":[{"match":"^\\s*(LIBS(:))\\s*(.+)","captures":{"1":{"name":"variable.assignment.libs.pcb.schematic"},"2":{"name":"punctuation.separator.key-value.pcb.schematic"},"3":{"patterns":[{"name":"punctuation.delimiter.list.comma.pcb.schematic","match":","},{"name":"constant.other.lib-name.pcb.schematic","match":"[^\\s,]+"}]}}},{"name":"meta.eelayer.pcb.schematic","begin":"^\\s*(EELAYER)((?:\\s+[-+]?[\\d.]+)*)\\s*$","end":"^\\s*(EELAYER)\\s+(END)\\s*$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"entity.name.var.pcb.schematic"},"2":{"patterns":[{"include":"#numbers"}]}},"endCaptures":{"1":{"name":"entity.name.var.pcb.schematic"},"2":{"name":"keyword.control.pcb.schematic"}}},{"name":"meta.description.pcb.schematic","begin":"^\\s*((\\$)Descr)(?=\\s)","end":"^\\s*((\\$)EndDescr)(?=\\s)","patterns":[{"match":"\\G\\s+([A-E][0-9]?)(?=\\s)","captures":{"1":{"name":"constant.language.paper-size.pcb.schematic"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.begin.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.end.pcb.schematic"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.header.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.header.pcb.schematic"},"2":{"name":"punctuation.definition.header.pcb.schematic"}}},{"name":"meta.bitmap.pcb.schematic","begin":"^\\s*((\\$)Bitmap)\\s*$","end":"^\\s*((\\$)EndBitmap)(?=\\s|$)","patterns":[{"contentName":"string.unquoted.heredoc.bytestream.pcb.schematic","begin":"^\\s*(Data)\\s*$","end":"^\\s*(EndData)\\s*$","patterns":[{"name":"comment.ignored.pcb.schematic","match":"\\s+((\\$)EndBitmap)\\s*$"},{"name":"invalid.illegal.syntax.pcb.schematic","match":"(?\u003c=\\s|^)(?![A-Fa-f0-9]{2}(?:\\s|$))(\\S+)"}],"beginCaptures":{"1":{"name":"keyword.control.data.section.begin.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.data.section.end.pcb.schematic"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.begin.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.end.pcb.schematic"}}},{"name":"meta.component.${1:/downcase}.pcb.schematic","begin":"^\\s*(DEF|DRAW)(?:\\s+(\\S+)\\s+(.+))?\\s*$","end":"^\\s*(END\\1)(?=\\s|$)","patterns":[{"include":"#params"}],"beginCaptures":{"1":{"name":"storage.type.class.definition.pcb.schematic"},"2":{"name":"entity.name.var.pcb.schematic"},"3":{"patterns":[{"include":"#params"}]}},"endCaptures":{"1":{"name":"storage.type.class.definition.pcb.schematic"}}},{"name":"meta.aliases.pcb.schematic","match":"^\\s*(ALIAS)\\s+(.+)\\s*$","captures":{"1":{"name":"storage.type.class.alias.pcb.schematic"},"2":{"patterns":[{"include":"#quotedString"},{"name":"entity.name.var.pcb.schematic","match":"\\S+"}]}}},{"name":"meta.${3:/downcase}.pcb.schematic","begin":"^\\s*((\\$)([A-Za-z]\\w+))\\s*$","end":"^\\s*((\\$)[Ee]nd\\3)(?=\\s|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.begin.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.end.pcb.schematic"}}},{"name":"meta.wire.pcb.schematic","match":"^\\s*(Wire)\\s+(Wire|Bus|Line)\\s+(Line)\\s*$","captures":{"1":{"name":"entity.name.var.pcb.schematic"},"2":{"name":"entity.name.type.pcb.schematic"},"3":{"name":"constant.language.other.pch.schematic"}}},{"name":"meta.text.pcb.schematic","begin":"^\\s*(Text)\\s+(\\w+)\\s+(.+)\\s+(?:(~)|(\\w+))\\s*$","end":"^\\s*(\\S.*)$","beginCaptures":{"1":{"name":"entity.name.var.pcb.schematic"},"2":{"name":"entity.name.type.pcb.schematic"},"3":{"patterns":[{"include":"$self"}]},"4":{"patterns":[{"include":"#tilde"}]},"5":{"name":"constant.language.other.pch.schematic"}},"endCaptures":{"0":{"name":"string.unquoted.herestring.pcb.schematic"}}},{"begin":"^\\s*([A-Za-z]\\w*)(?=\\s)","end":"$","patterns":[{"include":"#params"}],"beginCaptures":{"1":{"name":"entity.name.var.pcb.schematic"}}},{"include":"#shared"}],"repository":{"comments":{"match":"^\\s*((#).*$)","captures":{"1":{"name":"comment.line.number-sign.pcb.schematic"},"2":{"name":"punctuation.definition.comment.pcb.board"}}},"lowerCaseName":{"name":"variable.parameter.identifier.pcb.schematic","match":"(?\u003c=\\s)[A-Za-z_][-\\w]+(?=\\s|$)"},"numbers":{"patterns":[{"name":"constant.numeric.integer.decimal.pcb.schematic","match":"(?\u003c![-\\w])[-+]?\\d+(?=\\s|$)"},{"name":"constant.numeric.float.decimal.pcb.schematic","match":"(?\u003c![-\\w])[-+]?\\d*\\.\\d+"}]},"params":{"patterns":[{"include":"#upperCaseName"},{"include":"#lowerCaseName"},{"include":"$self"}]},"quotedString":{"name":"string.quoted.double.pcb.schematic","begin":"\"","end":"\"|^|$","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pcb.schematic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.pcb.schematic"}}},"shared":{"patterns":[{"include":"#comments"},{"include":"#capsConstant"},{"include":"#tilde"},{"include":"#quotedString"},{"include":"#numbers"}]},"tilde":{"name":"keyword.operator.pcb.schematic","match":"~"},"upperCaseName":{"name":"constant.language.other.pcb.schematic","match":"(?\u003c=\\s)([+#])?[A-Z0-9_]+(?:\\s|$)","captures":{"1":{"name":"punctuation.definition.constant.pcb.schematic"}}}}}
1
+ {"name":"KiCad Schematic","scopeName":"source.pcb.schematic","patterns":[{"contentName":"source.eagle.pcb.board","begin":"\\A(?=\u003c\\?xml\\s+version=\"[\\d.]+\"\\s)","end":"(?=A)B","patterns":[{"include":"text.xml"}]},{"contentName":"source.pcb.sexp","begin":"\\A\\s*(?=\\(kicad_sch(?:\\s|$|\\())","end":"(?=A)B","patterns":[{"include":"source.pcb.sexp"}]},{"contentName":"source.scheme","begin":"\\A\\s*(?=;|\\()","end":"(?=A)B","patterns":[{"include":"source.scheme"}]},{"name":"meta.header.pcb.schematic","begin":"^\\s*(EESchema(?:\\s+Schematic|-(?:DOCLIB|LIBRARY))\\s+\\S+.*)\\s*$","end":"(?\u003c=\\$EndDescr)(?=\\s|$)","patterns":[{"match":"^\\s*(LIBS(:))\\s*(.+)","captures":{"1":{"name":"variable.assignment.libs.pcb.schematic"},"2":{"name":"punctuation.separator.key-value.pcb.schematic"},"3":{"patterns":[{"name":"punctuation.delimiter.list.comma.pcb.schematic","match":","},{"name":"constant.other.lib-name.pcb.schematic","match":"[^\\s,]+"}]}}},{"name":"meta.eelayer.pcb.schematic","begin":"^\\s*(EELAYER)((?:\\s+[-+]?[\\d.]+)*)\\s*$","end":"^\\s*(EELAYER)\\s+(END)\\s*$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"entity.name.var.pcb.schematic"},"2":{"patterns":[{"include":"#numbers"}]}},"endCaptures":{"1":{"name":"entity.name.var.pcb.schematic"},"2":{"name":"keyword.control.pcb.schematic"}}},{"name":"meta.description.pcb.schematic","begin":"^\\s*((\\$)Descr)(?=\\s)","end":"^\\s*((\\$)EndDescr)(?=\\s)","patterns":[{"match":"\\G\\s+([A-E][0-9]?)(?=\\s)","captures":{"1":{"name":"constant.language.paper-size.pcb.schematic"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.begin.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.end.pcb.schematic"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.header.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.header.pcb.schematic"},"2":{"name":"punctuation.definition.header.pcb.schematic"}}},{"name":"meta.bitmap.pcb.schematic","begin":"^\\s*((\\$)Bitmap)\\s*$","end":"^\\s*((\\$)EndBitmap)(?=\\s|$)","patterns":[{"contentName":"string.unquoted.heredoc.bytestream.pcb.schematic","begin":"^\\s*(Data)\\s*$","end":"^\\s*(EndData)\\s*$","patterns":[{"name":"comment.ignored.pcb.schematic","match":"\\s+((\\$)EndBitmap)\\s*$"},{"name":"invalid.illegal.syntax.pcb.schematic","match":"(?\u003c=\\s|^)(?![A-Fa-f0-9]{2}(?:\\s|$))(\\S+)"}],"beginCaptures":{"1":{"name":"keyword.control.data.section.begin.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.data.section.end.pcb.schematic"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.begin.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.end.pcb.schematic"}}},{"name":"meta.component.${1:/downcase}.pcb.schematic","begin":"^\\s*(DEF|DRAW)(?:\\s+(\\S+)\\s+(.+))?\\s*$","end":"^\\s*(END\\1)(?=\\s|$)","patterns":[{"include":"#params"}],"beginCaptures":{"1":{"name":"storage.type.class.definition.pcb.schematic"},"2":{"name":"entity.name.var.pcb.schematic"},"3":{"patterns":[{"include":"#params"}]}},"endCaptures":{"1":{"name":"storage.type.class.definition.pcb.schematic"}}},{"name":"meta.aliases.pcb.schematic","match":"^\\s*(ALIAS)\\s+(.+)\\s*$","captures":{"1":{"name":"storage.type.class.alias.pcb.schematic"},"2":{"patterns":[{"include":"#quotedString"},{"name":"entity.name.var.pcb.schematic","match":"\\S+"}]}}},{"name":"meta.${3:/downcase}.pcb.schematic","begin":"^\\s*((\\$)([A-Za-z]\\w+))\\s*$","end":"^\\s*((\\$)[Ee]nd\\3)(?=\\s|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.begin.pcb.schematic"}},"endCaptures":{"1":{"name":"keyword.control.section.pcb.schematic"},"2":{"name":"punctuation.section.end.pcb.schematic"}}},{"name":"meta.wire.pcb.schematic","match":"^\\s*(Wire)\\s+(Wire|Bus|Line)\\s+(Line)\\s*$","captures":{"1":{"name":"entity.name.var.pcb.schematic"},"2":{"name":"entity.name.type.pcb.schematic"},"3":{"name":"constant.language.other.pch.schematic"}}},{"name":"meta.text.pcb.schematic","begin":"^\\s*(Text)\\s+(\\w+)\\s+(.+)\\s+(?:(~)|(\\w+))\\s*$","end":"^\\s*(\\S.*)$","beginCaptures":{"1":{"name":"entity.name.var.pcb.schematic"},"2":{"name":"entity.name.type.pcb.schematic"},"3":{"patterns":[{"include":"$self"}]},"4":{"patterns":[{"include":"#tilde"}]},"5":{"name":"constant.language.other.pch.schematic"}},"endCaptures":{"0":{"name":"string.unquoted.herestring.pcb.schematic"}}},{"begin":"^\\s*([A-Za-z]\\w*)(?=\\s)","end":"$","patterns":[{"include":"#params"}],"beginCaptures":{"1":{"name":"entity.name.var.pcb.schematic"}}},{"include":"#shared"}],"repository":{"comments":{"match":"^\\s*((#).*$)","captures":{"1":{"name":"comment.line.number-sign.pcb.schematic"},"2":{"name":"punctuation.definition.comment.pcb.board"}}},"lowerCaseName":{"name":"variable.parameter.identifier.pcb.schematic","match":"(?\u003c=\\s)[A-Za-z_][-\\w]+(?=\\s|$)"},"numbers":{"patterns":[{"name":"constant.numeric.integer.decimal.pcb.schematic","match":"(?\u003c![-\\w])[-+]?\\d+(?=\\s|$)"},{"name":"constant.numeric.float.decimal.pcb.schematic","match":"(?\u003c![-\\w])[-+]?\\d*\\.\\d+"}]},"params":{"patterns":[{"include":"#upperCaseName"},{"include":"#lowerCaseName"},{"include":"$self"}]},"quotedString":{"name":"string.quoted.double.pcb.schematic","begin":"\"","end":"\"|^|$","patterns":[{"include":"source.pcb.sexp#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pcb.schematic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.pcb.schematic"}}},"shared":{"patterns":[{"include":"#comments"},{"include":"#tilde"},{"include":"#quotedString"},{"include":"#numbers"}]},"tilde":{"name":"keyword.operator.pcb.schematic","match":"~"},"upperCaseName":{"name":"constant.language.other.pcb.schematic","match":"(?\u003c=\\s)([+#])?[A-Z0-9_]+(?:\\s|$)","captures":{"1":{"name":"punctuation.definition.constant.pcb.schematic"}}}}}
@@ -1 +1 @@
1
- {"name":"KiCad PCB (S-expressions)","scopeName":"source.pcb.sexp","patterns":[{"name":"meta.expression.layers.pcb.sexp","begin":"(\\()\\s*(layers)(?=\\s|$|\\()","end":"\\)","patterns":[{"name":"meta.expression.layer.pcb.sexp","begin":"(\\()\\s*(\\d+)(?:\\s+|(?=$|\\())","end":"\\)","patterns":[{"match":"\\G\\s*(-?(?:(?![\\s\\(\\)])[\\0-\\x7F])+)","captures":{"1":{"name":"entity.name.function.pcb.sexp"}}},{"include":"#shared"}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.pcb.sexp"},"2":{"name":"constant.numeric.integer.decimal.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.pcb.sexp"}}},{"include":"#shared"}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.pcb.sexp"},"2":{"name":"storage.type.class.layers.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.pcb.sexp"}}},{"name":"meta.expression.comment.pcb.sexp","contentName":"comment.block.expression.pcb.sexp","begin":"(\\()\\s*(comment)(?=\\s|$|\\()","end":"\\)","patterns":[{"begin":"\"","end":"\"|^|$","patterns":[{"include":"#stringInnards"}]}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.pcb.sexp"},"2":{"name":"entity.name.function.comment.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.pcb.sexp"}}},{"name":"meta.expression.pcb.sexp","begin":"\\(","end":"\\)","patterns":[{"match":"\\G\\s*(kicad_pcb|module|page_layout|fp_lib_table)(?=\\s|$|\\()","captures":{"1":{"name":"storage.type.class.pcb.sexp"}}},{"match":"\\G\\s*(string_quote)\\s+(\")(?=\\))","captures":{"1":{"name":"entity.name.function.pcb.sexp"},"2":{"name":"constant.character.quote.pcb.sexp"}}},{"match":"\\G\\s*(-?(?:(?![\\s\\(\\)])[\\0-\\x7F])+)","captures":{"1":{"name":"entity.name.function.pcb.sexp"}}},{"include":"#shared"}],"beginCaptures":{"0":{"name":"punctuation.section.expression.begin.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.pcb.sexp"}}}],"repository":{"shared":{"patterns":[{"include":"#values"},{"include":"$self"}]},"stringInnards":{"patterns":[{"name":"constant.character.escape.pcb.sexp","match":"\\\\\\S"},{"name":"invalid.illegal.unclosed.string.pcb.sexp","match":"\\G(?:[^\"\\\\]|\\\\.)+(?=$)"}]},"values":{"patterns":[{"name":"constant.numeric.float.decimal.pcb.sexp","match":"[-+]?\\d*\\.\\d+"},{"name":"constant.numeric.integer.decimal.pcb.sexp","match":"[-+]?\\d+(?=\\s|\\))"},{"name":"constant.numeric.integer.hex.pcb.sexp","match":"0x[A-Fa-f0-9]+(?:_[A-Fa-f0-9]+)*"},{"name":"constant.language.boolean.$1.pcb.sexp","match":"(?\u003c=\\s|\\(|\\))(true|false|yes|no)(?=\\s|\\(|\\))"},{"name":"string.quoted.double.empty.pcb.sexp","match":"(\")(\")","captures":{"1":{"name":"punctuation.definition.string.begin.pcb.sexp"},"2":{"name":"punctuation.definition.string.end.pcb.sexp"}}},{"name":"string.quoted.double.pcb.sexp","begin":"\"","end":"\"|^|$","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.pcb.sexp"}}},{"name":"meta.embedded.source.pcb.sexp","match":"(\\${)([^\\s}\\(\\)]+)(})","captures":{"1":{"name":"punctuation.section.embedded.bracket.curly.begin.pcb.sexp"},"2":{"name":"string.interpolated.embedded.pcb.sexp"},"3":{"name":"punctuation.section.embedded.bracket.curly.end.pcb.sexp"}}},{"name":"variable.parameter.identifier.pcb.sexp","match":"[^\\s\\(\\)]+"}]}}}
1
+ {"name":"KiCad PCB (S-expressions)","scopeName":"source.pcb.sexp","patterns":[{"name":"meta.expression.layers.pcb.sexp","begin":"(\\()\\s*(layers)(?=\\s|$|\\()","end":"\\)","patterns":[{"name":"meta.expression.layer.pcb.sexp","begin":"(\\()\\s*(\\d+)(?:\\s+|(?=$|\\())","end":"\\)","patterns":[{"match":"\\G\\s*(-?(?:(?![\\s\\(\\)])[\\0-\\x7F])+)","captures":{"1":{"name":"entity.name.function.pcb.sexp"}}},{"include":"#shared"}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.pcb.sexp"},"2":{"name":"constant.numeric.integer.decimal.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.pcb.sexp"}}},{"include":"#shared"}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.pcb.sexp"},"2":{"name":"storage.type.class.layers.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.pcb.sexp"}}},{"name":"meta.expression.comment.pcb.sexp","contentName":"comment.block.expression.pcb.sexp","begin":"(\\()\\s*(comment)(?=\\s|$|\\()","end":"\\)","patterns":[{"begin":"\"","end":"\"|^|$","patterns":[{"include":"#stringInnards"}]}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.pcb.sexp"},"2":{"name":"entity.name.function.comment.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.pcb.sexp"}}},{"name":"meta.expression.pcb.sexp","begin":"\\(","end":"\\)","patterns":[{"match":"\\G\\s*(kicad_pcb|kicad_sch|module|page_layout|fp_lib_table|sym_lib_table)(?=\\s|$|\\()","captures":{"1":{"name":"storage.type.class.pcb.sexp"}}},{"match":"\\G\\s*(string_quote)\\s+(\")(?=\\))","captures":{"1":{"name":"entity.name.function.pcb.sexp"},"2":{"name":"constant.character.quote.pcb.sexp"}}},{"match":"\\G\\s*(-?(?:(?![\\s\\(\\)])[\\0-\\x7F])+)","captures":{"1":{"name":"entity.name.function.pcb.sexp"}}},{"include":"#shared"}],"beginCaptures":{"0":{"name":"punctuation.section.expression.begin.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.pcb.sexp"}}}],"repository":{"shared":{"patterns":[{"include":"#values"},{"include":"$self"}]},"stringInnards":{"patterns":[{"name":"constant.character.escape.pcb.sexp","match":"\\\\\\S"},{"name":"invalid.illegal.unclosed.string.pcb.sexp","match":"\\G(?:[^\"\\\\]|\\\\.)+(?=$)"}]},"values":{"patterns":[{"name":"constant.numeric.float.decimal.pcb.sexp","match":"[-+]?\\d*\\.\\d+"},{"name":"constant.numeric.integer.decimal.pcb.sexp","match":"[-+]?\\d+(?=\\s|\\))"},{"name":"constant.numeric.integer.hex.pcb.sexp","match":"0x[A-Fa-f0-9]+(?:_[A-Fa-f0-9]+)*"},{"name":"constant.language.boolean.$1.pcb.sexp","match":"(?\u003c=\\s|\\(|\\))(true|false|yes|no)(?=\\s|\\(|\\))"},{"name":"string.quoted.double.empty.pcb.sexp","match":"(\")(\")","captures":{"1":{"name":"punctuation.definition.string.begin.pcb.sexp"},"2":{"name":"punctuation.definition.string.end.pcb.sexp"}}},{"name":"string.quoted.double.pcb.sexp","begin":"\"","end":"\"|^|$","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pcb.sexp"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.pcb.sexp"}}},{"name":"meta.embedded.source.pcb.sexp","match":"(\\${)([^\\s}\\(\\)]+)(})","captures":{"1":{"name":"punctuation.section.embedded.bracket.curly.begin.pcb.sexp"},"2":{"name":"string.interpolated.embedded.pcb.sexp"},"3":{"name":"punctuation.section.embedded.bracket.curly.end.pcb.sexp"}}},{"name":"variable.parameter.identifier.pcb.sexp","match":"[^\\s\\(\\)]+"}]}}}
@@ -1 +1 @@
1
- {"name":"Pic","scopeName":"source.pic","patterns":[{"include":"#binary"},{"include":"#tags"},{"include":"#embedded-roff"},{"include":"#embedded-latex"},{"include":"#main"}],"repository":{"attributes":{"name":"variable.other.property.$1.pic","match":"(?x)\\b\n(cw|dashed|diameter|diam|dotted|down|height|ht|invisible\n|invis|left|radius|rad|right|same|up|width|wid)\\b"},"backref":{"name":"variable.language.backreference.pic","match":"\\b(last|(?:\\d*1[1-3]th|\\d*0th|(?:(?!11st)\\d)*1st|\\d*2nd|(?:(?!13rd)\\d*)3rd|\\d*[4-9]th)(?:[ \\t]+last)?)\\b","captures":{"0":{"name":"entity.name.pic"}}},"binary":{"name":"raw.binary.data","begin":"^(?=.*[\\x00-\\x06\\x{FFFD}])","end":"(?=A)B"},"boolean":{"name":"constant.boolean.$1.dformat.pic","match":"\\b(true|false|on|off)\\b"},"brackets":{"patterns":[{"begin":"\\(","end":"(?=\\))|^(?=\\.P[EF]\\b)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.pic"}}},{"begin":"\\[","end":"(?=\\])|^(?=\\.P[EF]\\b)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.pic"}}},{"begin":"\\{","end":"(?=\\})|^(?=\\.P[EF]\\b)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.pic"}}}]},"chem":{"patterns":[{"include":"#label"},{"name":"keyword.function.bond.pic.chem","match":"\\b((?:(?:double|triple|front|back)[ \\t]+)?\\bbond)\\b","captures":{"0":{"name":"support.function.pic.chem"},"1":{"name":"entity.name.function.pic.chem"}}},{"name":"keyword.function.ring.pic.chem","match":"(?:\\baromatic[ \\t]+)?\\b(?:benzene|(?:flat)?ring\\d*)","captures":{"0":{"name":"entity.name.function.pic.chem"}}},{"name":"keyword.operator.direction.pic.chem","match":"\\b(pointing)\\b"},{"name":"keyword.function.set-size.pic.chem","match":"\\b(size)\\b[ \\t]*(\\d+)","captures":{"1":{"name":"entity.name.function.pic.chem"},"2":{"name":"constant.numeric.parameter.pic.chem"}}},{"name":"keyword.control.branch-point.pic.chem","match":"\\bBP\\b"},{"name":"string.unquoted.group-name.pic.chem","match":"(?=[A-Z])(?!BP)([\\w\\(\\).]+)","captures":{"1":{"patterns":[{"include":"#punctuation"},{"name":"punctuation.delimiter.period.full-stop.chem.pic","match":"\\."}]}}},{"begin":"\\(","end":"(?=\\))|^(?=\\.P[EF]\\b|^[.']\\s*cend\\b)","patterns":[{"include":"#chem"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.chem.pic"}}},{"begin":"\\[","end":"(?=\\])|^(?=\\.P[EF]\\b|^[.']\\s*cend\\b)","patterns":[{"include":"#chem"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.chem.pic"}}},{"begin":"\\{","end":"(?=\\})|^(?=\\.P[EF]\\b|^[.']\\s*cend\\b)","patterns":[{"include":"#chem"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.chem.pic"}}},{"include":"$self"}]},"comment":{"name":"comment.line.pic","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.pic"}}},"dformat":{"patterns":[{"include":"#pic-line"},{"name":"meta.format.dformat.pic","begin":"^style\\b","end":"$","patterns":[{"include":"#boolean"},{"name":"constant.language.dformat.pic","match":"(?x)\\b\n(addr|addrdelta|addrht|bitwid|charwid|fill|linedisp\n|linethrutext|recht|recspread|reset|textht)\\b"},{"include":"#number"}],"beginCaptures":{"0":{"name":"keyword.function.pic"}}},{"name":"meta.record.dformat.pic","begin":"^\\S.*$\\R?","end":"^(?=\\S)","patterns":[{"match":"^([ \\t]+[^:\\s]+:)?(?:(?\u003c=:)|[ \\t]+)(\\S+)\\s+(.*)$","captures":{"0":{"name":"markup.list.unnumbered.dformat.pic"},"1":{"patterns":[{"include":"#main"}]},"2":{"patterns":[{"name":"punctuation.separator.dash.dformat.pic","match":"-"},{"include":"#number"}]},"3":{"patterns":[{"contentName":"source.embedded.eqn.roff","begin":"@","end":"@","patterns":[{"include":"text.roff#eqn"}],"beginCaptures":{"0":{"name":"punctuation.definition.section.begin.eqn"}},"endCaptures":{"0":{"name":"punctuation.definition.section.end.eqn"}}}]}}}],"beginCaptures":{"0":{"name":"markup.bold.heading.dformat.pic"}}}]},"embedded-latex":{"name":"source.embedded.tex.pic","match":"^(?:\\\\\\w|%).*$","captures":{"0":{"patterns":[{"include":"text.tex"}]}}},"embedded-roff":{"begin":"^(?=[.'][ \\t]*(?:\\w|\\\\))","end":"(?\u003c!\\\\)$|(\\\\\".*)$","patterns":[{"include":"text.roff"}],"endCaptures":{"1":{"patterns":[{"include":"text.roff"}]}}},"escaped-newline":{"name":"constant.character.escape.newline.pic","begin":"\\\\$\\R?","end":"^(?:[.'])?","beginCaptures":{"0":{"name":"punctuation.definition.escape.pic"}}},"function-call":{"contentName":"meta.function-call.pic","begin":"\\b(?!\\d)(\\w+)(\\()","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"support.function.pic"},"1":{"name":"entity.name.function.pic"},"2":{"name":"punctuation.definition.arguments.begin.pic"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.pic"}}},"globals":{"name":"support.variable.global.pic","match":"(?x)\\b\n(arcrad|arrowhead|arrowht|arrowwid|boxht|boxwid|circlerad|dashwid\n|ellipseht|ellipsewid|fillval|lineht|linewid|maxpsht|maxpswid\n|moveht|movewid|scale|textht|textwid)\\b"},"grap":{"patterns":[{"name":"variable.language.process-id.pic.grap","match":"\\bpid\\b"},{"name":"keyword.control.then.pic.grap","match":"\\bthen\\b"},{"name":"keyword.operator.pic.grap","match":"\\b(in|out|through)\\b"},{"include":"#comment"},{"include":"#string"},{"include":"#number"},{"include":"#boolean"},{"include":"#punctuation"},{"include":"#operators"},{"include":"#function-call"},{"include":"#macros"},{"include":"#pic-line"},{"name":"keyword.function.pic.grap","match":"(?x)\\b\n(assignment|circle|coord|copy|draw|for|frame|graph|grid|if|label\n|line|new|next|numberlist|pic|plot|print|sh|ticks?)\\b","captures":{"0":{"name":"entity.function.name.pic.grap"}}},{"name":"variable.other.property.$1.pic.grap","match":"(?x)\\b\n(above|arrow|below|bot|bottom|dashed|dotted|down|ht|invis\n|left|log|radius|right|[lr]just|size|solid|top|up|wid|x|y)\\b"},{"name":"support.function.grap.pic","match":"(?x)\\b\n(atan2|cos|exp|int|log|max|min|rand|sin|sqrt|bullet\n|plus|box|star|dot|times|htick|vtick|square|delta)\\b"},{"begin":"\\(","end":"(?=\\))|^(?=\\.P[EF]\\b|^[.']\\s*G2\\b)","patterns":[{"include":"#grap"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.chem.pic"}}},{"begin":"\\[","end":"(?=\\])|^(?=\\.P[EF]\\b|^[.']\\s*G2\\b)","patterns":[{"include":"#grap"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.chem.pic"}}},{"begin":"\\{","end":"(?=\\})|^(?=\\.P[EF]\\b|^[.']\\s*G2\\b)","patterns":[{"include":"#grap"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.chem.pic"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"keyword.control.$1.pic","match":"\\b(for|do|if|then(?=\\s*\\{)|else)\\b"},{"name":"keyword.operator.$1.pic","match":"\\b(and|at|by|copy|from|reset|sh|then|thru|to|with|of\\s+the\\s+way\\s+between)\\b"}]},"label":{"match":"([A-Z][^#(\"\\s:]*)(:)","captures":{"1":{"name":"storage.type.label.pic"},"2":{"name":"punctuation.separator.key-value.pic"}}},"macros":{"patterns":[{"name":"meta.function.$1.pic","match":"(define|undef)\\b\\s*(\\w*)","captures":{"1":{"name":"storage.type.function.pic"},"2":{"name":"entity.name.function.pic"}}},{"name":"variable.other.positional.pic","match":"(\\$)\\d+","captures":{"1":{"name":"punctuation.definition.variable"}}},{"begin":"(until)[ \\t]+((\")([^\"]+)(\"))\\s*$\\R?","end":"^[ ]*(\\4)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.until.pic"},"2":{"name":"string.quoted.double.pic"},"3":{"name":"punctuation.definition.string.begin.pic"},"5":{"name":"punctuation.definition.string.end.pic"}},"endCaptures":{"1":{"name":"keyword.control.terminator.pic"}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#keywords"},{"include":"#backref"},{"include":"#macros"},{"include":"#string"},{"include":"#number"},{"include":"#escaped-newline"},{"include":"#operators"},{"include":"#brackets"},{"include":"#punctuation"},{"include":"#primitives"},{"include":"#attributes"},{"include":"#globals"},{"include":"#function-call"},{"include":"#label"},{"include":"#name"}]},"name":{"name":"variable.other.pic","match":"(?!\\d)\\w+"},"number":{"name":"constant.numeric.pic","match":"(?:(?\u003c!\\d)[-+])?(?:\\d+(?:\\.\\d+)?|\\.\\d+|\\.(?=[Ee]))(?:[Ee][-+]?\\d+)?"},"operators":{"patterns":[{"name":"keyword.operator.arrow.pic","match":"\u003c-\u003e|\u003c-|-\u003e"},{"name":"keyword.operator.comparison.pic","match":"[=\u003e\u003c]=?|!=|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.assignment.pic","match":":?="},{"name":"keyword.operator.arithmetic.pic","match":"[-/+*%^]"}]},"pic-line":{"begin":"^(pic)\\b","end":"$","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.control.dformat.pic"}}},"primitives":{"name":"keyword.function.pic","match":"\\b(box|line|arrow|circle|ellipse|arc|move|spline|print|command|plot)\\b","captures":{"0":{"name":"entity.function.name.pic"}}},"punctuation":{"patterns":[{"name":"punctuation.definition.bracket.curly.pic","match":"\\}"},{"name":"punctuation.definition.bracket.round.pic","match":"\\)"},{"name":"punctuation.definition.bracket.square.pic","match":"\\]"},{"name":"punctuation.terminator.statement.pic","match":";"},{"name":"punctuation.separator.comma.pic","match":","},{"name":"punctuation.definition.bracket.angle.pic","match":"\u003c|\u003e"},{"name":"punctuation.delimiter.period.full-stop.pic","match":"\\.(?!\\d)"}]},"string":{"name":"string.quoted.double.pic","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.pic","match":"(\\\\)[\\\\\"]","captures":{"1":{"name":"punctuation.definition.escape.pic"}}},{"match":"(?:[^\"\\\\]|\\\\[^\"])+","captures":{"0":{"patterns":[{"include":"text.roff#escapes"}]}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.pic"}}},"tags":{"patterns":[{"name":"invalid.deprecated.function.picture.macro.roff","match":"^([.'])[ \\t]*(PS)[ \\t]*(\u003c)(.*)(?=$|\\\\\")","captures":{"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.function.name.roff"},"3":{"name":"punctuation.definition.filename.roff"},"4":{"patterns":[{"include":"text.roff#params"}]}}},{"contentName":"source.embedded.pic","begin":"^([.'])[ \\t]*(PS)\\b([\\d \\t]*(?:#.*)?)?(\\\\[#\"].*)?$","end":"^([.'])[ \\t]*(P[EF])\\b","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"meta.function.begin.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.function.name.roff"},"3":{"patterns":[{"include":"source.pic"}]},"4":{"patterns":[{"include":"text.roff#escapes"}]}},"endCaptures":{"0":{"name":"meta.function.end.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.name.function.roff"}}},{"contentName":"source.embedded.chem.pic","begin":"^([.'])[ \\t]*(cstart)\\b\\s*(\\S.*)?","end":"^([.'])[ \\t]*(cend)\\b","patterns":[{"include":"#chem"}],"beginCaptures":{"0":{"name":"meta.function.begin.chemical.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.pic.chem"},"2":{"name":"entity.function.name.roff"},"3":{"name":"invalid.illegal.unexpected-characters.pic.chem"}},"endCaptures":{"0":{"name":"meta.function.end.chemical.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.function.name.roff"}}},{"contentName":"source.embedded.dformat.pic","begin":"^([.'])[ \\t]*(begin[ \\t]+dformat)\\b","end":"^([.'])[ \\t]*(end)\\b","patterns":[{"include":"#dformat"}],"beginCaptures":{"0":{"name":"meta.function.begin.dformat.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.pic.dformat"},"2":{"name":"entity.function.name.roff"}},"endCaptures":{"0":{"name":"meta.function.end.dformat.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.function.name.roff"}}},{"contentName":"source.embedded.grap.pic","begin":"^([.'])[ \\t]*(G1)\\b(\\s*\\d+)?(\\s*\\\\\".*$)?","end":"^([.'])[ \\t]*(G2)\\b","patterns":[{"include":"#grap"}],"beginCaptures":{"0":{"name":"meta.function.begin.graph.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.pic.grap"},"2":{"name":"entity.function.name.roff"},"3":{"name":"constant.numeric.parameter.pic.grap"},"4":{"patterns":[{"include":"text.roff#escapes"}]}},"endCaptures":{"0":{"name":"meta.function.end.graph.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.pic.grap"},"2":{"name":"entity.function.name.roff"}}}]}}}
1
+ {"name":"Pic","scopeName":"source.pic","patterns":[{"include":"#binary"},{"include":"#tags"},{"include":"#embedded-roff"},{"include":"#embedded-latex"},{"include":"#main"}],"repository":{"attributes":{"patterns":[{"name":"entity.other.attribute-name.same-as.pikchr.pic","match":"\\bsame\\s+as\\b"},{"name":"entity.other.attribute-name.$1.pic","match":"(?x)\\b (chop|cw|dashed|diameter|diam|dotted|down|height|ht|invisible |invis|left|radius|rad|right|same|up|width|wid)\\b"},{"name":"entity.other.attribute-name.$1.pic","begin":"\\b(colou?r(?:ed)?|outlined?|shaded|fill)\\b[ \\t]*(?=\\w)","end":"(?=\\S)|(?\u003c=\\S)","patterns":[{"name":"constant.numeric.hexadecimal.hex.pikchr.pic","match":"\\G0[Xx][0-9A-Fa-f]{6}"},{"name":"support.constant.no-colour.pikchr.pic","match":"(?i)\\G(None|Off)\\b"},{"name":"support.constant.colour.pikchr.pic","match":"(?xi)\\G (AliceBlue|AntiqueWhite|Aquamarine|Aqua|Azure|Beige|Bisque|Black|BlanchedAlmond|BlueViolet|Blue|Brown|BurlyWood|CadetBlue |Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenrod|DarkGreen|DarkGr[ae]y |DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y |DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|Firebrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro |GhostWhite|Goldenrod|Gold|Gr[ae]y|GreenYellow|Green|Honeydew|HotPink|IndianRed|Indigo|Ivory|Khaki|LavenderBlush|Lavender |LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenrodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon |LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|LimeGreen|Lime|Linen|Magenta|Maroon|MediumAquamarine |MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed |MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|OliveDrab|Olive|OrangeRed|Orange|Orchid |PaleGoldenrod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple |Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|Seashell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow |SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Turquoise|Violet|Wheat|WhiteSmoke|White|YellowGreen|Yellow)\\b"}],"applyEndPatternLast":true},{"name":"entity.other.attribute-name.$1.pikchr.pic","match":"\\b(aligned|big|bold|fit|italic|small|(?:thickness|color|fill)(?!\\s*(?:[-:+/*%=!\u003c\u003e]?=|\u003c|\u003e))|thick|thin)\\b"},{"name":"entity.other.attribute-name.$1.dpic.pic","match":"\\b(scaled)\\b"}]},"backref":{"patterns":[{"name":"variable.language.backreference.pic","match":"\\b(last|(?:\\d*1[1-3]th|\\d*0th|(?:(?!11st)\\d)*1st|\\d*2nd|(?:(?!13rd)\\d*)3rd|\\d*[4-9]th)(?:[ \\t]+last)?)\\b"},{"name":"meta.backreference.computed.pic","match":"((')([^']*)('))(th)","captures":{"1":{"name":"string.quoted.single.pic"},"2":{"name":"punctuation.definition.string.begin.pic"},"3":{"name":"meta.expression.pic","patterns":[{"include":"#main"}]},"4":{"name":"punctuation.definition.string.end.pic"},"5":{"name":"constant.language.ordinal-suffix.pic"}}},{"name":"variable.language.backreference.pikchr.pic","match":"\\b(first|previous)\\b"}]},"binary":{"name":"raw.binary.data","begin":"^(?=.*(?![\\x02-\\x07\\f\\x7F])[\\x00-\\x06\\x{FFFD}])","end":"(?=A)B"},"boolean":{"name":"constant.boolean.$1.dformat.pic","match":"\\b(true|false|on|off)\\b"},"brackets":{"patterns":[{"begin":"\\(","end":"(?=\\))|^(?=\\.P[EF]\\b)","patterns":[{"name":"variable.language.global.pikchr.pic","match":"\\b(?:color|fill|thickness)\\b"},{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.pic"}}},{"begin":"\\[","end":"(?=\\])|^(?=\\.P[EF]\\b)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.pic"}}},{"begin":"\\{","end":"(?=\\})|^(?=\\.P[EF]\\b)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.pic"}}}]},"chem":{"patterns":[{"include":"#label"},{"match":"\\b(?:(?:(double|triple|front|back)[ \\t]+)?\\b(bond))\\b","captures":{"1":{"name":"storage.modifier.$1.pic.chem"},"2":{"name":"storage.type.bond.pic.chem"}}},{"match":"(?:\\b(aromatic)[ \\t]+)?\\b(benzene|(?:flat)?ring\\d*)","captures":{"1":{"name":"storage.modifier.aromatic.pic.chem"},"2":{"name":"storage.type.ring.pic.chem"}}},{"name":"storage.modifier.direction.pic.chem","match":"\\b(pointing)\\b"},{"name":"meta.set-size.pic.chem","match":"\\b(size)\\b[ \\t]*(\\d+)","captures":{"1":{"name":"entity.other.attribute-name.size.pic.chem"},"2":{"name":"constant.numeric.parameter.pic.chem"}}},{"name":"keyword.control.branch-point.pic.chem","match":"\\bBP\\b"},{"name":"string.unquoted.group-name.pic.chem","match":"(?=[A-Z])(?!BP)([\\w\\(\\).]+)","captures":{"1":{"patterns":[{"include":"#punctuation"},{"name":"punctuation.delimiter.period.full-stop.chem.pic","match":"\\."}]}}},{"begin":"\\(","end":"(?=\\))|^(?=\\.P[EF]\\b|^[.']\\s*cend\\b)","patterns":[{"include":"#chem"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.chem.pic"}}},{"begin":"\\[","end":"(?=\\])|^(?=\\.P[EF]\\b|^[.']\\s*cend\\b)","patterns":[{"include":"#chem"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.chem.pic"}}},{"begin":"\\{","end":"(?=\\})|^(?=\\.P[EF]\\b|^[.']\\s*cend\\b)","patterns":[{"include":"#chem"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.chem.pic"}}},{"include":"$self"}]},"comment":{"patterns":[{"name":"comment.line.number-sign.pic","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.pic"}}},{"name":"comment.line.double-slash.non-standard.pikchr.pic","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.pic"}}},{"name":"comment.block.non-standard.pikchr.pic","begin":"/\\*","end":"\\*/|^(?=\\.P[EF]\\b|^[.']\\s*cend\\b)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.pic"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.pic"}}}]},"dformat":{"patterns":[{"include":"#pic-line"},{"name":"meta.format.dformat.pic","begin":"^style\\b","end":"$","patterns":[{"include":"#boolean"},{"name":"constant.language.dformat.pic","match":"(?x)\\b\n(addr|addrdelta|addrht|bitwid|charwid|fill|linedisp\n|linethrutext|recht|recspread|reset|textht)\\b"},{"include":"#number"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.style.dformat.pic"}}},{"name":"meta.record.dformat.pic","begin":"^\\S.*$\\R?","end":"^(?=\\S)","patterns":[{"match":"^([ \\t]+[^:\\s]+:)?(?:(?\u003c=:)|[ \\t]+)(\\S+)\\s+(.*)$","captures":{"0":{"name":"markup.list.unnumbered.dformat.pic"},"1":{"patterns":[{"include":"#main"}]},"2":{"patterns":[{"name":"punctuation.separator.dash.dformat.pic","match":"-"},{"include":"#number"}]},"3":{"patterns":[{"contentName":"source.embedded.eqn.roff","begin":"@","end":"@","patterns":[{"include":"text.roff#eqn"}],"beginCaptures":{"0":{"name":"punctuation.definition.section.begin.eqn"}},"endCaptures":{"0":{"name":"punctuation.definition.section.end.eqn"}}}]}}}],"beginCaptures":{"0":{"name":"markup.bold.heading.dformat.pic"}}}]},"embedded-latex":{"name":"source.embedded.tex.pic","match":"^(?:\\\\\\w|%).*$","captures":{"0":{"patterns":[{"include":"text.tex"}]}}},"embedded-roff":{"begin":"^(?=[.'][ \\t]*(?:\\w|\\\\))","end":"(?\u003c!\\\\)$|(\\\\\".*)$","patterns":[{"include":"text.roff"}],"endCaptures":{"1":{"patterns":[{"include":"text.roff"}]}}},"escaped-newline":{"name":"constant.character.escape.newline.pic","begin":"\\\\$\\R?","end":"^(?:[.'])?","beginCaptures":{"0":{"name":"punctuation.definition.escape.pic"}}},"function-call":{"contentName":"meta.function-call.pic","begin":"\\b(?!\\d)(\\w+)(?=\\()","end":"(?!\\G)","patterns":[{"name":"meta.arguments.pic","begin":"\\G\\(","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.pic"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.pic"}}}],"beginCaptures":{"1":{"patterns":[{"include":"#function-name"}]}}},"function-name":{"patterns":[{"name":"support.function.$1.pic","match":"(?:\\G|^)(atan2|cos|exp|int|log|max|min|s?rand|sin|sqrt|sprintf)$"},{"name":"entity.name.function.user-defined.pic","match":"(?:\\G|^)\\S+"}]},"globals":{"patterns":[{"name":"variable.language.global.pic","match":"(?x)\\b\n(arcrad|arrowhead|arrowht|arrowwid|boxht|boxwid|circlerad|dashwid\n|ellipseht|ellipsewid|fillval|lineht|linewid|maxpsht|maxpswid\n|moveht|movewid|scale|textht|textwid)\\b"},{"name":"variable.language.global.pikchr.pic","match":"\\b((?:left|right|top|bottom)?margin|charht|charwid|color|fill|fontscale|thickness)\\b"}]},"grap":{"patterns":[{"name":"variable.language.process-id.pic.grap","match":"\\bpid\\b"},{"name":"keyword.control.then.pic.grap","match":"\\bthen\\b"},{"name":"keyword.operator.pic.grap","match":"\\b(in|out|through)\\b"},{"include":"#comment"},{"include":"#string"},{"include":"#number"},{"include":"#boolean"},{"include":"#punctuation"},{"include":"#operators"},{"include":"#function-call"},{"include":"#macros"},{"include":"#pic-line"},{"name":"keyword.function.pic.grap","match":"(?x)\\b\n(assignment|circle|coord|copy|draw|for|frame|graph|grid|if|label\n|line|new|next|numberlist|pic|plot|print|sh|ticks?)\\b","captures":{"0":{"name":"entity.function.name.pic.grap"}}},{"name":"variable.other.property.$1.pic.grap","match":"(?x)\\b\n(above|arrow|below|bot|bottom|dashed|dotted|down|ht|invis\n|left|log|radius|right|[lr]just|size|solid|top|up|wid|x|y)\\b"},{"name":"support.function.grap.pic","match":"(?x)\\b\n(atan2|cos|exp|int|log|max|min|rand|sin|sqrt|bullet\n|plus|box|star|dot|times|htick|vtick|square|delta)\\b"},{"begin":"\\(","end":"(?=\\))|^(?=\\.P[EF]\\b|^[.']\\s*G2\\b)","patterns":[{"include":"#grap"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.chem.pic"}}},{"begin":"\\[","end":"(?=\\])|^(?=\\.P[EF]\\b|^[.']\\s*G2\\b)","patterns":[{"include":"#grap"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.chem.pic"}}},{"begin":"\\{","end":"(?=\\})|^(?=\\.P[EF]\\b|^[.']\\s*G2\\b)","patterns":[{"include":"#grap"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.chem.pic"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"keyword.control.$1.pic","match":"\\b(for|do|if|then(?=\\s*\\{)|else)\\b"},{"name":"keyword.operator.$1.pic","match":"\\b(and|at|by|copy|from|reset|sh|then|thru|to|with|of(?:\\s+the\\s+way\\s+between)?)\\b"},{"name":"keyword.operator.$1.dpic.pic","match":"\\b(continue|exec)\\b"},{"name":"keyword.operator.$1.pikchr.pic","match":"\\b(above|below|close|go|heading|until\\s+even\\s+with|vertex\\s+of)\\b"}]},"label":{"match":"([A-Z][^#(\"\\s:]*)(:)","captures":{"1":{"name":"storage.type.label.pic"},"2":{"name":"punctuation.separator.key-value.pic"}}},"macros":{"patterns":[{"name":"meta.function.$1.pic","match":"(define|undef)\\b\\s*(\\w*)","captures":{"1":{"name":"storage.type.function.pic"},"2":{"name":"entity.name.function.pic"}}},{"name":"variable.other.positional.pic","match":"(\\$)\\d+","captures":{"1":{"name":"punctuation.definition.variable"}}},{"begin":"(until)[ \\t]+((\")([^\"]+)(\"))\\s*$\\R?","end":"^[ ]*(\\4)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.until.pic"},"2":{"name":"string.quoted.double.pic"},"3":{"name":"punctuation.definition.string.begin.pic"},"5":{"name":"punctuation.definition.string.end.pic"}},"endCaptures":{"1":{"name":"keyword.control.terminator.pic"}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#shell-command"},{"include":"#keywords"},{"include":"#positions"},{"include":"#backref"},{"include":"#macros"},{"include":"#string"},{"include":"#number"},{"include":"#escaped-newline"},{"include":"#operators"},{"include":"#brackets"},{"include":"#punctuation"},{"include":"#primitives"},{"include":"#attributes"},{"include":"#globals"},{"include":"#function-call"},{"include":"#label"},{"include":"#name"}]},"name":{"patterns":[{"name":"variable.positional.other.pic","match":"(\\$)(?!0)\\d+\\b","captures":{"1":{"name":"punctuation.definition.variable.pic"}}},{"name":"variable.other.user-defined.non-standard.pikchr.pic","match":"([$@])\\w+","captures":{"1":{"name":"punctuation.definition.variable.pikchr.pic"}}},{"name":"variable.other.user-defined.pic","match":"(?!\\d)\\w+\\b"}]},"number":{"name":"constant.numeric.pic","match":"(?:(?\u003c!\\d)-)?(?:\\d+(?:\\.(?:\\d+|(?=[Ee][-+]?\\d)))?)(?:[Ee][-+]?\\d+)?(?:(%)|(cm|in|mm|pc|pt|px)\\b)?","captures":{"1":{"name":"constant.other.unit.percentage.pikchr.pic"},"2":{"name":"constant.other.unit.$2.pikchr.pic"}}},"operators":{"patterns":[{"name":"keyword.operator.arrow.pic","match":"\u003c-\u003e|\u003c-|-\u003e"},{"name":"keyword.operator.arrow.unicode.pikchr.pic","match":"←|→|↔"},{"name":"keyword.operator.logical.boolean.pic","match":"\u0026\u0026|\\|{2}"},{"name":"keyword.operator.comparison.relational.numeric.pic","match":"[\u003c\u003e]=?"},{"name":"keyword.operator.comparison.relational.boolean.pic","match":"[!=]="},{"name":"keyword.operator.assignment.compound.pic","match":"[-+*/]="},{"name":"keyword.operator.assignment.pic","match":":?="},{"name":"keyword.operator.arithmetic.pic","match":"[-/+*%^]"},{"name":"keyword.operator.logical.not.negation.pic","match":"!"},{"name":"keyword.operator.arrow.html-entity.pikchr.pic","match":"\u0026(?:(?:left|right|leftright)arrow|[lr]arr);","captures":{"0":{"patterns":[{"include":"text.html.basic#character-reference"}]}}}]},"pic-line":{"begin":"^(pic)\\b","end":"$","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.control.dformat.pic"}}},"positions":{"patterns":[{"name":"entity.other.attribute-name.corner.pic","match":"(?\u003c=\\.)(?:bottom|bot|center|end|left|right|start|top|[ns][ew]|[bcelnrstw])\\b"},{"name":"variable.language.placement.pic","match":"(?x) \\b\n( (?:bottom|center|east|end|north|south|start|top|west|Here)\n| (?:lower|upper) \\s+ (?:left|right)\n| (?:left|right) (?=\\s+ of \\b)\n) \\b"},{"name":"meta.position.pic","match":"(?\u003cbalance\u003e\u003c([^\u003c\u003e]++|\\g\u003cbalance\u003e)*+\u003e){0}\\g\u003cbalance\u003e","captures":{"0":{"patterns":[{"name":"punctuation.definition.position.bracket.angle.begin.pic","match":"\u003c"},{"name":"punctuation.definition.position.bracket.angle.end.pic","match":"\u003e"},{"name":"punctuation.separator.coordinates.comma.pic","match":","},{"include":"#main"}]}}}]},"primitives":{"patterns":[{"name":"storage.type.primitive.$1.pic","match":"\\b(box|line|arrow|circle|ellipse|arc|move|spline|print|command|plot)\\b"},{"name":"storage.type.primitive.$1.pikchr.pic","match":"\\b(oval|cylinder|file|dot|text)\\b"}]},"punctuation":{"patterns":[{"name":"punctuation.definition.bracket.curly.pic","match":"\\}"},{"name":"punctuation.definition.bracket.round.pic","match":"\\)"},{"name":"punctuation.definition.bracket.square.pic","match":"\\]"},{"name":"punctuation.terminator.statement.pic","match":";"},{"name":"punctuation.separator.comma.pic","match":","},{"name":"punctuation.definition.bracket.angle.pic","match":"\u003c|\u003e"},{"name":"punctuation.delimiter.period.full-stop.pic","match":"\\.(?!\\d)"}]},"shell-braces":{"name":"meta.scope.group.shell","begin":"{","end":"}","patterns":[{"include":"#shell-braces"},{"include":"source.shell"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.shell.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.group.shell.end.shell"}}},"shell-command":{"name":"meta.shell-command.pic","begin":"\\b(sh)\\b[ \\t]*","end":"(?!\\G)","patterns":[{"contentName":"source.embedded.shell","begin":"\\G{","end":"}","patterns":[{"include":"#shell-braces"},{"include":"source.shell"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.balanced-text.brace.begin.pic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.balanced-text.brace.end.pic"}},"applyEndPatternLast":true},{"contentName":"source.embedded.shell","begin":"\\G(.)","end":"\\1","patterns":[{"include":"source.shell"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.balanced-text.arbitrary-delimiter.begin.pic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.balanced-text.arbitrary-delimiter.end.pic"}}}],"beginCaptures":{"1":{"name":"keyword.operator.$1.pic"}}},"string":{"name":"string.quoted.double.pic","begin":"\"","end":"\"","patterns":[{"include":"#string-escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.pic"}}},"string-escapes":{"patterns":[{"name":"constant.character.escape.pic","match":"(\\\\)[\\\\\"]","captures":{"1":{"name":"punctuation.definition.escape.pic"}}},{"match":"(?:[^\"\\\\]|\\\\[^\"])+","captures":{"0":{"patterns":[{"include":"text.roff#escapes"}]}}}]},"tags":{"patterns":[{"name":"invalid.deprecated.function.picture.macro.roff","match":"^([.'])[ \\t]*(PS)[ \\t]*(\u003c)(.*)(?=$|\\\\\")","captures":{"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.function.name.roff"},"3":{"name":"punctuation.definition.filename.roff"},"4":{"patterns":[{"include":"text.roff#params"}]}}},{"contentName":"source.embedded.pic","begin":"^([.'])[ \\t]*(PS)\\b([\\d \\t]*(?:#.*)?)?(\\\\[#\"].*)?$","end":"^([.'])[ \\t]*(P[EF])\\b","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"meta.function.begin.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.function.name.roff"},"3":{"patterns":[{"include":"source.pic"}]},"4":{"patterns":[{"include":"text.roff#escapes"}]}},"endCaptures":{"0":{"name":"meta.function.end.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.name.function.roff"}}},{"contentName":"source.embedded.chem.pic","begin":"^([.'])[ \\t]*(cstart)\\b\\s*(\\S.*)?","end":"^([.'])[ \\t]*(cend)\\b","patterns":[{"include":"#chem"}],"beginCaptures":{"0":{"name":"meta.function.begin.chemical.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.pic.chem"},"2":{"name":"entity.function.name.roff"},"3":{"name":"invalid.illegal.unexpected-characters.pic.chem"}},"endCaptures":{"0":{"name":"meta.function.end.chemical.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.function.name.roff"}}},{"contentName":"source.embedded.dformat.pic","begin":"^([.'])[ \\t]*(begin[ \\t]+dformat)\\b","end":"^([.'])[ \\t]*(end)\\b","patterns":[{"include":"#dformat"}],"beginCaptures":{"0":{"name":"meta.function.begin.dformat.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.pic.dformat"},"2":{"name":"entity.function.name.roff"}},"endCaptures":{"0":{"name":"meta.function.end.dformat.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.roff"},"2":{"name":"entity.function.name.roff"}}},{"contentName":"source.embedded.grap.pic","begin":"^([.'])[ \\t]*(G1)\\b(\\s*\\d+)?(\\s*\\\\\".*$)?","end":"^([.'])[ \\t]*(G2)\\b","patterns":[{"include":"#grap"}],"beginCaptures":{"0":{"name":"meta.function.begin.graph.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.pic.grap"},"2":{"name":"entity.function.name.roff"},"3":{"name":"constant.numeric.parameter.pic.grap"},"4":{"patterns":[{"include":"text.roff#escapes"}]}},"endCaptures":{"0":{"name":"meta.function.end.graph.picture.section.macro.roff"},"1":{"name":"punctuation.definition.macro.pic.grap"},"2":{"name":"entity.function.name.roff"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"PNLGRP","scopeName":"source.pnlgrp","patterns":[{"include":"#comments"},{"include":"#symbols"},{"include":"#tags"}],"repository":{"comments":{"patterns":[{"name":"comment.line.pnlgrp","begin":"^(\\.\\*).*","end":"\n"}]},"symbols":{"patterns":[{"name":"support.function.pnlgrp","match":"(?i)(\u0026(AMP|COLON|CONT|MSG\\(.*\\)|PERIOD|SLR)\\.?)"}]},"tags":{"patterns":[{"name":"keyword.other.pnlgrp.help","begin":"(?i)(?\u003c=(:(HELP)[ ]))","end":"\\.","patterns":[{"name":"support.function.pnlgrp.help","match":"(?i)\\b(:(HELP)[ ])"},{"name":"support.function.pnlgrp.help.attribute.name","match":"(?i)\\b(NAME|WIDTH|DEPTH)[=]"},{"name":"support.variable.pnlgrp.help.attribute.value","match":"(?i)([A-Z0-9]{1,32}|[']([A-Z0-9_\\/]{1,32}|\\*)['])"}]},{"name":"keyword.other.pnlgrp.import","begin":"(?i)(?\u003c=(:(IMPORT)[ ]))","end":"\\.","patterns":[{"name":"support.function.pnlgrp.import","match":"(?i)\\b(:(IMPORT)[ ])"},{"name":"support.function.pnlgrp.import.attribute.name","match":"(?i)\\b(NEWNAME|NAME|PNLGRP|PRDLIB)[=]"},{"name":"support.variable.pnlgrp.import.attribute.value","match":"(?i)([A-Z0-9]{1,32}|[']([A-Z0-9_\\/]{1,32}|\\*)['])"}]},{"name":"keyword.other.pnlgrp.isch","begin":"(?i)(?\u003c=(:(ISCH)[ ]))","end":"\\.","patterns":[{"name":"support.function.pnlgrp.isch","match":"(?i)\\b(:(ISCH)[ ])"},{"name":"support.function.pnlgrp.isch.attribute.name","match":"(?i)\\b(ROOTS)[=]"},{"name":"support.variable.pnlgrp.isch.attribute.value","match":"(?i)(['](([A-Z0-9]{1,20}[ ]*){1,50})['])"}]},{"name":"keyword.other.pnlgrp.ischsubt","begin":"(?i)(?\u003c=(:(ISCHSUBT)[ ]))","end":"\\.","patterns":[{"name":"support.function.pnlgrp.ischsubt","match":"(?i)\\b(:(ISCHSUBT)[ ])"},{"name":"support.function.pnlgrp.ischsubt.attribute.name","match":"(?i)\\b(TOPICS)[=]"},{"name":"support.variable.pnlgrp.ischsubt.attribute.value","match":"(?i)(['](([A-Z0-9_\\/]{1,32}[ ]*){1,16})['])"}]},{"name":"keyword.other.pnlgrp.ischsyn","begin":"(?i)(?\u003c=(:(ISCHSYN)[ ]))","end":"\\.","patterns":[{"name":"support.function.pnlgrp.ischsyn","match":"(?i)\\b(:(ISCHSYN)[ ])"},{"name":"support.function.pnlgrp.ischsyn.attribute.name","match":"(?i)\\b(ROOT)[=]"},{"name":"support.variable.pnlgrp.ischsyn.attribute.value","match":"(?i)(['](([A-Z0-9]{1,20}){1})['])"}]},{"name":"keyword.other.pnlgrp.link","begin":"(?i)(?\u003c=(:(LINK)[ ]))","end":"\\.","patterns":[{"name":"support.function.pnlgrp.link","match":"(?i)\\b(:(LINK)[ ])"},{"name":"support.function.pnlgrp.link.attribute.name","match":"(?i)\\b(PERFORM|UNLESS[1-4]|THENDO[1-4]|LINKWHEN)[=]"},{"name":"support.variable.pnlgrp.link.attribute.value","match":"(?i)'((DSPHELP ([A-Z0-9_/]{1,32})([ ]+[A-Z][A-Z0-9@#$]{0,9}/[A-Z][A-Z0-9@#$]{0,9}([ ]+[A-Z][A-Z0-9@#$]{0,9})?)?)|(CHKOBJ\\(\"[A-Z][A-Z0-9@#$]{0,9}\",\"\\*[A-Z]{0,9}\"(,\"(\\*(CHANGE|ALL|USE|EXCLUDE|AUTLMGT)|(\\*(OBJEXIST|OBJMGT|OBJOPR|OBJALTER|OBJREF|ADD|DLT|READ|UPD|EXECUTE)[ ]*){1,7})?\")\\))|(CHKPGM\\(\"(\\*LIBL/|[A-Z][A-Z0-9@#$]{0,9}/)?[A-Z][A-Z0-9@#$]{0,9}\"\\))|(CHKUSRCLS\\(\\*(SECOFR|SECADM|PGMR|SYSOPR|USER)\\)))'"}]},{"name":"keyword.other.pnlgrp.list","begin":"(?i)(?\u003c=(:(DL|OL|SL|UL)[ ]))","end":"\\.","patterns":[{"name":"support.function.pnlgrp.list","match":"(?i)\\b(:(DL|OL|SL|UL)[ ])"},{"name":"support.function.pnlgrp.list.attribute.name","match":"(?i)\\b(COMPACT)"}]},{"name":"keyword.other.pnlgrp.pk","begin":"(?i)(?\u003c=(:(PK)[ ]))","end":"\\.","patterns":[{"name":"support.function.pnlgrp.pk.attribute.name","match":"(?i)\\b(DEF)"}]},{"name":"keyword.other.pnlgrp.pnlgrp","begin":"(?i)(?\u003c=(:(PNLGRP)[ ]))","end":"\\.","patterns":[{"name":"support.function.pnlgrp.pnlgrp","match":"(?i)\\b(:(PNLGRP)[ ])"},{"name":"support.function.pnlgrp.pnlgrp.attribute.name","match":"(?i)\\b(SCHIDX|ENBGUI|TXTMODE|TXTCHRID|BIDI|NBRSHAPE|DFTMSGF|SUBMSGF)[=]"},{"name":"support.variable.pnlgrp.pnlgrp.attribute.value","match":"(?i)(([A-Z][A-Z0-9#@$]{1,9}/[A-Z][A-Z0-9#@$]{1,9})|NONE|NO|YES|SBCS|DBCS|LTR|RTL|ARABIC|HINDI|('[0-9]{2,5}'))"}]},{"name":"keyword.other.pnlgrp","match":"(?i)(:(XMP|XH[1-4]|VARRCD|VAR|UL|TTROW|TT|TOPINST|TL|TI|TEXT|SL|RT|PV|PT|PT|PRTTRAIL|PRTPNL|PRTHEAD|PNLGRP).?)"},{"name":"keyword.other.pnlgrp","match":"(?i)(:(PK|PDFLDC|PDFLD|PDACCEL|PD|PC|PARML|PANEL|P|OPTLINE|OL|NT|NOTE|MENUI|MENUGRP|MENU|MBARC|MBAR|LP).?)"},{"name":"keyword.other.pnlgrp","match":"(?i)(:(LISTVIEW|LISTGRP|LISTDEF|LISTCOL|LISTACT|LIST|LINK|LINES|LI|KEYL|KEYI|ISCHSYN|ISCHSUBT|ISCH|INFO).?)"},{"name":"keyword.other.pnlgrp","match":"(?i)(:(IMPORT|IMHELP|HP[0-9]|HELP|H[1-4]|FIG|EXMP|EUL|ETT|ETL|ESL|ERT|EPV|EPT|EPRTPNL|EPRTHEAD|EPNLGRP|EPK).?)"},{"name":"keyword.other.pnlgrp","match":"(?i)(:(EPDFLD|EPARML|EPANEL|EOL|ENT|ENOTE|EMENUGRP|EMENU|EMBARC|EMBAR|ELISTGRP|ELIST|ELINK|ELINES|EKEYL|EINFO).?)"},{"name":"keyword.other.pnlgrp","match":"(?i)(:(EHP[0-9]|EHELP|EFIG|EDL|EDATAGRP|EDATA|ECLASS|ECIT|DTHD|DT|DL|DDHD|DD|DATASLTC|DATASLT|DATAIX|DATAI).?)"},{"name":"keyword.other.pnlgrp","match":"(?i)(:(DATAGRP|DATACOL|DATAC|DATA|COPYR|COND|CMDLINE|CLASS|CIT|CHECK|BOTINST|APPFMT).?)"}]}}}
@@ -1 +1 @@
1
- {"name":"PostScript","scopeName":"source.postscript","patterns":[{"name":"meta.document.pdf","begin":"\\A(?=%PDF)","end":"(?=A)B","patterns":[{"include":"#main"}]},{"include":"#main"}],"repository":{"array":{"name":"meta.array.postscript","begin":"\\[","end":"\\]","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.postscript"}}},"base85":{"name":"string.other.base85.postscript","begin":"\u003c~","end":"~\u003e","patterns":[{"name":"invalid.illegal.base85.char.postscript","match":"(?:[^!-uz\\s]|~(?!\u003e))++"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"comment":{"patterns":[{"name":"punctuation.whitespace.comment.leading.postscript","match":"^[ \\t]+(?=%)"},{"include":"#dsc"},{"name":"comment.line.percentage.postscript","begin":"%","end":"(?=$|\\r|\\f)","beginCaptures":{"0":{"name":"punctuation.definition.comment.postscript"}}}]},"dictionary":{"name":"meta.dictionary.postscript","begin":"\u003c\u003c","end":"\u003e\u003e","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.postscript"}}},"dsc":{"name":"meta.Document-Structuring-Comment.postscript","contentName":"string.unquoted.DSC.postscript","begin":"(?x) ^ (%%)\n( BeginBinary\n| BeginCustomColor\n| BeginData\n| BeginDefaults\n| BeginDocument\n| BeginEmulation\n| BeginExitServer\n| BeginFeature\n| BeginFile\n| BeginFont\n| BeginObject\n| BeginPageSetup\n| BeginPaperSize\n| BeginPreview\n| BeginProcSet\n| BeginProcessColor\n| BeginProlog\n| BeginResource\n| BeginSetup\n| BoundingBox\n| CMYKCustomColor\n| ChangeFont\n| Copyright\n| CreationDate\n| Creator\n| DocumentCustomColors\n| DocumentData\n| DocumentFonts\n| DocumentMedia\n| DocumentNeededFiles\n| DocumentNeededFonts\n| DocumentNeededProcSets\n| DocumentNeededResources\n| DocumentPaperColors\n| DocumentPaperForms\n| DocumentPaperSizes\n| DocumentPaperWeights\n| DocumentPrinterRequired\n| DocumentProcSets\n| DocumentProcessColors\n| DocumentSuppliedFiles\n| DocumentSuppliedFonts\n| DocumentSuppliedProcSets\n| DocumentSuppliedResources\n| EOF\n| Emulation\n| EndBinary\n| EndComments\n| EndCustomColor\n| EndData\n| EndDefaults\n| EndDocument\n| EndEmulation\n| EndExitServer\n| EndFeature\n| EndFile\n| EndFont\n| EndObject\n| EndPageSetup\n| EndPaperSize\n| EndPreview\n| EndProcSet\n| EndProcessColor\n| EndProlog\n| EndResource\n| EndSetup\n| ExecuteFile\n| Extensions\n| Feature\n| For\n| IncludeDocument\n| IncludeFeature\n| IncludeFile\n| IncludeFont\n| IncludeProcSet\n| IncludeResource\n| LanguageLevel\n| OperatorIntervention\n| OperatorMessage\n| Orientation\n| PageBoundingBox\n| PageCustomColors\n| PageFiles\n| PageFonts\n| PageMedia\n| PageOrder\n| PageOrientation\n| PageProcessColors\n| PageRequirements\n| PageResources\n| PageTrailer\n| Pages\n| Page\n| PaperColor\n| PaperForm\n| PaperSize\n| PaperWeight\n| ProofMode\n| RGBCustomColor\n| Requirements\n| Routing\n| Title\n| Trailer\n| VMlocation\n| VMusage\n| Version\n| \\+\n| \\?BeginFeatureQuery\n| \\?BeginFileQuery\n| \\?BeginFontListQuery\n| \\?BeginFontQuery\n| \\?BeginPrinterQuery\n| \\?BeginProcSetQuery\n| \\?BeginQuery\n| \\?BeginResourceListQuery\n| \\?BeginResourceQuery\n| \\?BeginVMStatus\n| \\?EndFeatureQuery\n| \\?EndFileQuery\n| \\?EndFontListQuery\n| \\?EndFontQuery\n| \\?EndPrinterQuery\n| \\?EndProcSetQuery\n| \\?EndQuery\n| \\?EndResourceListQuery\n| \\?EndResourceQuery\n| \\?EndVMStatus\n) (:)? [^\\S\\r\\n]*","end":"(?=$|\\r|\\f)","beginCaptures":{"0":{"name":"keyword.other.DSC.postscript"},"1":{"name":"punctuation.definition.keyword.DSC.postscript"},"3":{"name":"keyword.operator.assignment.key-value.colon.postscript"}}},"embedded":{"patterns":[{"contentName":"string.unquoted.heredoc.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s+((?=\\S)[^{}%]+?)\\s+(readline)(?!\\s*})\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])(?:$\\s*)?","end":"(?!\\G)$","beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"patterns":[{"include":"#main"}]},"3":{"name":"keyword.operator.postscript"}}},{"name":"meta.encrypted-source.base85.postscript","contentName":"string.other.base85.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s*((/)ASCII85Decode)\\s+(filter)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])([^}\u003e\\]%]*?(?:exec|image|readstring)\\s*)$\\s*+","end":"~\u003e|(?=cleartomark|closefile)","beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"name":"variable.other.literal.postscript"},"3":{"name":"punctuation.definition.name.postscript"},"4":{"name":"keyword.operator.postscript"},"5":{"patterns":[{"include":"#main"}]}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},{"name":"meta.encrypted-source.eexec.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s+(eexec)(?:$|(?=.*[\\0-\\x08\\x14-\\x31\\x7F\\x80-\\x9F])(?=.{0,3}?[^A-Fa-f0-9]|\\b[A-Fa-f0-9]))","end":"(cleartomark|closefile)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])|(?\u003c=\\G)(?=[^\\s0-9A-Fa-f])","patterns":[{"begin":"\\G(?=\\s*$)","end":"(?=\\s*\\S)"},{"begin":"(?:\\G|(?\u003c=\\n|^))\\s*(?=\\S)","end":"(?!\\G)","patterns":[{"name":"string.other.raw.binary.postscript","contentName":"sublimelinter.gutter-mark","begin":"\\G(?!cleartomark|closefile)(?=.{0,3}?[^A-Fa-f0-9])","end":"(?=\\s*(?:cleartomark|closefile))"},{"name":"string.other.hexadecimal.postscript","begin":"\\G(?!cleartomark|closefile)(?=\\s{0,3}?(?:[A-Fa-f0-9]))","end":"(?=\\s*[^A-Fa-f0-9\\s]|cleartomark|closefile)"}]}],"beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"name":"keyword.operator.postscript"}},"endCaptures":{"1":{"name":"keyword.operator.postscript"}}}]},"embeddedRow":{"patterns":[{"name":"string.other.base85.postscript","match":"^[!-uz]{0,78}(~\u003e)","captures":{"1":{"name":"punctuation.definition.string.end.postscript"}}},{"name":"string.other.base85.postscript","begin":"(?x) ^\n(?= [^%\\[]*? \\]\n| [^%(]*? \\)\n| [^%\u003c]*? \u003e\n| .*? \u003c(?!~|\u003c) [A-Fa-f0-9]* [^~\u003eA-Fa-f0-9]\n) [!-uz]{60,80} [^\\S\\r\\n]* $","end":"^[!-uz]{0,78}(~\u003e)","endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}}]},"extensions":{"name":"keyword.operator.ghostscript.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) (?:\\b|(?=\\.))\n( \\.activatepathcontrol\n| \\.addcontrolpath\n| \\.begintransparencygroup\n| \\.begintransparencymaskgroup\n| \\.bind\n| \\.bindnow\n| \\.currentalphaisshape\n| \\.currentblendmode\n| \\.currentfillconstantalpha\n| \\.currentopacityalpha\n| \\.currentoverprintmode\n| \\.currentpathcontrolstate\n| \\.currentshapealpha\n| \\.currentstrokeconstantalpha\n| \\.currenttextknockout\n| \\.dicttomark\n| \\.endtransparencygroup\n| \\.endtransparencymask\n| \\.fileposition\n| \\.genordered\n| \\.knownget\n| \\.locksafe\n| \\.popdf14devicefilter\n| \\.pushpdf14devicefilter\n| \\.setalphaisshape\n| \\.setblendmode\n| \\.setdebug\n| \\.setfillconstantalpha\n| \\.setopacityalpha\n| \\.setoverprintmode\n| \\.setsafe\n| \\.setshapealpha\n| \\.setstrokeconstantalpha\n| \\.settextknockout\n| \\.shellarguments\n| \\.tempfile\n| %Type1BuildChar\n| %Type1BuildGlyph\n| arccos\n| arcsin\n| copydevice\n| copyscanlines\n| currentdevice\n| finddevice\n| findlibfile\n| findprotodevice\n| getdeviceprops\n| getenv\n| makeimagedevice\n| max\n| min\n| putdeviceprops\n| setdevice\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},"hex":{"name":"string.other.hexadecimal.postscript","begin":"\u003c","end":"\u003e","patterns":[{"name":"invalid.illegal.hexadecimal.char.postscript","match":"[^\u003e0-9A-Fa-f\\s]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"main":{"patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#dictionary"},{"include":"#array"},{"include":"#procedure"},{"include":"#base85"},{"include":"#hex"},{"include":"#radix"},{"include":"#number"},{"include":"#embedded"},{"include":"#operators"},{"include":"#extensions"},{"include":"#embeddedRow"},{"include":"#names"}]},"names":{"patterns":[{"name":"variable.other.constant.immediately-evaluated.postscript","match":"(//)[^()\u003c\u003e\\[\\]{}/%\\s]*","captures":{"1":{"name":"punctuation.definition.name.postscript"}}},{"name":"variable.other.constant.literal.postscript","match":"(/)[^()\u003c\u003e\\[\\]{}/%\\s]*","captures":{"1":{"name":"punctuation.definition.name.postscript"}}},{"name":"variable.other.executable.postscript","match":"[^()\u003c\u003e\\[\\]{}/%\\s]+"}]},"number":{"name":"constant.numeric.postscript","match":"[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][-+]?\\d+)?(?=$|[\\s\\[\\]{}(/%\u003c])"},"operators":{"patterns":[{"name":"keyword.operator.level-3.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( GetHalftoneName\n| GetPageDeviceName\n| GetSubstituteCRD\n| StartData\n| StartData\n| addglyph\n| beginbfchar\n| beginbfrange\n| begincidchar\n| begincidrange\n| begincmap\n| begincodespacerange\n| beginnotdefchar\n| beginnotdefrange\n| beginrearrangedfont\n| beginusematrix\n| cliprestore\n| clipsave\n| composefont\n| currentsmoothness\n| currenttrapparams\n| endbfchar\n| endbfrange\n| endcidchar\n| endcidrange\n| endcmap\n| endcodespacerange\n| endnotdefchar\n| endnotdefrange\n| endrearrangedfont\n| endusematrix\n| findcolorrendering\n| removeall\n| removeglyphs\n| setsmoothness\n| settrapparams\n| settrapzone\n| shfill\n| usecmap\n| usefont\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},{"name":"keyword.operator.level-2.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( GlobalFontDirectory\n| ISOLatin1Encoding\n| SharedFontDirectory\n| UserObjects\n| arct\n| colorimage\n| configurationerror\n| cshow\n| currentblackgeneration\n| currentcacheparams\n| currentcmykcolor\n| currentcolorrendering\n| currentcolorscreen\n| currentcolorspace\n| currentcolortransfer\n| currentcolor\n| currentdevparams\n| currentglobal\n| currentgstate\n| currenthalftone\n| currentobjectformat\n| currentoverprint\n| currentpacking\n| currentpagedevice\n| currentshared\n| currentstrokeadjust\n| currentsystemparams\n| currentundercolorremoval\n| currentuserparams\n| defineresource\n| defineuserobject\n| deletefile\n| execform\n| execuserobject\n| filenameforall\n| fileposition\n| filter\n| findencoding\n| findresource\n| gcheck\n| globaldict\n| glyphshow\n| gstate\n| ineofill\n| infill\n| instroke\n| inueofill\n| inufill\n| inustroke\n| languagelevel\n| makepattern\n| packedarray\n| printobject\n| product\n| realtime\n| rectclip\n| rectfill\n| rectstroke\n| renamefile\n| resourceforall\n| resourcestatus\n| revision\n| rootfont\n| scheck\n| selectfont\n| serialnumber\n| setbbox\n| setblackgeneration\n| setcachedevice2\n| setcacheparams\n| setcmykcolor\n| setcolorrendering\n| setcolorscreen\n| setcolorspace\n| setcolortransfer\n| setcolor\n| setdevparams\n| setfileposition\n| setglobal\n| setgstate\n| sethalftone\n| setobjectformat\n| setoverprint\n| setpacking\n| setpagedevice\n| setpattern\n| setshared\n| setstrokeadjust\n| setsystemparams\n| setucacheparams\n| setundercolorremoval\n| setuserparams\n| setvmthreshold\n| shareddict\n| startjob\n| uappend\n| ucachestatus\n| ucache\n| ueofill\n| ufill\n| undefinedresource\n| undefinefont\n| undefineresource\n| undefineuserobject\n| undef\n| upath\n| ustrokepath\n| ustroke\n| vmreclaim\n| writeobject\n| xshow\n| xyshow\n| yshow\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},{"name":"keyword.operator.level-1.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( FontDirectory\n| StandardEncoding\n| VMerror\n| abs\n| add\n| aload\n| anchorsearch\n| and\n| arcn\n| arcto\n| arc\n| array\n| ashow\n| astore\n| atan\n| awidthshow\n| begin\n| bind\n| bitshift\n| bytesavailable\n| cachestatus\n| ceiling\n| charpath\n| cleardictstack\n| cleartomark\n| clear\n| clippath\n| clip\n| closefile\n| closepath\n| colorimage\n| concatmatrix\n| concat\n| condition\n| copypage\n| copy\n| cos\n| countdictstack\n| countexecstack\n| counttomark\n| count\n| currentcontext\n| currentdash\n| currentdict\n| currentfile\n| currentflat\n| currentfont\n| currentgray\n| currenthalftonephase\n| currenthsbcolor\n| currentlinecap\n| currentlinejoin\n| currentlinewidth\n| currentmatrix\n| currentmiterlimit\n| currentpoint\n| currentrgbcolor\n| currentscreen\n| currenttransfer\n| curveto\n| cvi\n| cvlit\n| cvn\n| cvrs\n| cvr\n| cvs\n| cvx\n| defaultmatrix\n| definefont\n| defineusername\n| def\n| detach\n| deviceinfo\n| dictfull\n| dictstackoverflow\n| dictstackunderflow\n| dictstack\n| dict\n| div\n| dtransform\n| dup\n| echo\n| eexec\n| end\n| eoclip\n| eofill\n| eoviewclip\n| eq\n| erasepage\n| errordict\n| exch\n| execstackoverflow\n| execstack\n| executeonly\n| executive\n| exec\n| exitserver\n| exit\n| exp\n| false\n| file\n| fill\n| findfont\n| flattenpath\n| floor\n| flushfile\n| flush\n| forall\n| fork\n| for\n| getinterval\n| get\n| ge\n| grestoreall\n| grestore\n| gsave\n| gt\n| handleerror\n| identmatrix\n| idiv\n| idtransform\n| ifelse\n| if\n| imagemask\n| image\n| index\n| initclip\n| initgraphics\n| initmatrix\n| initviewclip\n| internaldict\n| interrupt\n| invalidaccess\n| invalidcontext\n| invalidexit\n| invalidfileaccess\n| invalidfont\n| invalidid\n| invalidrestore\n| invertmatrix\n| ioerror\n| itransform\n| known\n| kshow\n| length\n| le\n| limitcheck\n| lineto\n| ln\n| load\n| lock\n| log\n| loop\n| lt\n| makefont\n| mark\n| matrix\n| maxlength\n| mod\n| monitor\n| moveto\n| mul\n| neg\n| newpath\n| ne\n| noaccess\n| nocurrentpoint\n| notify\n| not\n| nulldevice\n| null\n| or\n| pathbbox\n| pathforall\n| pdfmark\n| pop\n| print\n| prompt\n| pstack\n| putinterval\n| put\n| quit\n| rand\n| rangecheck\n| rcheck\n| rcurveto\n| readhexstring\n| readline\n| readonly\n| readstring\n| read\n| rectviewclip\n| repeat\n| resetfile\n| restore\n| reversepath\n| rlineto\n| rmoveto\n| roll\n| rotate\n| round\n| rrand\n| run\n| save\n| scalefont\n| scale\n| search\n| serverdict\n| setcachedevice\n| setcachelimit\n| setcharwidth\n| setdash\n| setflat\n| setfont\n| setgray\n| sethalftonephase\n| sethsbcolor\n| setlinecap\n| setlinejoin\n| setlinewidth\n| setmatrix\n| setmiterlimit\n| setrgbcolor\n| setscreen\n| settransfer\n| showpage\n| show\n| sin\n| sqrt\n| srand\n| stackoverflow\n| stackunderflow\n| stack\n| start\n| statusdict\n| status\n| stopped\n| stop\n| store\n| stringwidth\n| string\n| strokepath\n| stroke\n| sub\n| syntaxerror\n| systemdict\n| timeout\n| token\n| transform\n| translate\n| true\n| truncate\n| typecheck\n| type\n| undefinedfilename\n| undefinedresult\n| undefined\n| unmatchedmark\n| unregistered\n| userdict\n| usertime\n| version\n| viewclippath\n| viewclip\n| vmstatus\n| wait\n| wcheck\n| where\n| widthshow\n| writehexstring\n| writestring\n| write\n| wtranslation\n| xcheck\n| xor\n| yield\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])\n|\n# Stuff that starts with a non-word character\n(?\u003c=^|[/\\s{}()\u003c\u003e\\[\\]%])\n(=?=|\\$error)\n(?=$|[/\\s{}()\u003c\u003e\\[\\]%])"}]},"procedure":{"name":"meta.procedure.postscript","begin":"{","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.procedure.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.procedure.end.postscript"}}},"radix":{"name":"constant.numeric.radix.postscript","match":"[0-3]?[0-9]#[0-9a-zA-Z]+"},"specialFiles":{"patterns":[{"name":"constant.language.device-name.$2-device.postscript","match":"\\G(%)([-\\w]+)(?=%|\\)|$)(%)?","captures":{"1":{"name":"punctuation.definition.device-name.begin.postscript"},"3":{"name":"punctuation.definition.device-name.end.postscript"}}},{"name":"constant.language.special-file.stdio.$2.postscript","match":"\\G(%)(stderr|stdin|stdout)(?=\\)|$)","captures":{"1":{"name":"punctuation.definition.special-file.begin.postscript"},"3":{"name":"punctuation.definition.special-file.end.postscript"}}},{"name":"constant.language.special-file.interactive.$2.postscript","match":"\\G(%)(lineedit|statementedit)(?=\\)|$)","captures":{"1":{"name":"punctuation.definition.special-file.begin.postscript"},"3":{"name":"punctuation.definition.special-file.end.postscript"}}}]},"string":{"name":"string.other.postscript","begin":"\\(","end":"\\)","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"stringInnards":{"patterns":[{"include":"#specialFiles"},{"name":"constant.numeric.octal.postscript","match":"\\\\[0-7]{1,3}"},{"name":"constant.character.escape.postscript","match":"\\\\(\\\\|[bfnrt()]|[0-7]{1,3}|\\r?\\n)"},{"name":"invalid.illegal.unknown-escape.postscript.ignored","match":"\\\\"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#stringInnards"}]}]}},"injections":{"L:source.postscript meta.document.pdf - (meta.encrypted-source | source.embedded | text.embedded)":{"patterns":[{"name":"meta.encrypted-source.stream.pdf","begin":"(?:^|(?\u003c=\u003e\u003e)\\s*)(?=stream$)","end":"endstream|(?=endobj\\b)","patterns":[{"begin":"\\G(stream)\\s*$\\s*","end":"(?=endstream|(?=endobj\\b))","patterns":[{"contentName":"text.embedded.xml","begin":"(\u003c\\?xpacket(?=\\s)[^\u003e]+\\?\u003e)(?=$|\u003cx:xmpmeta)","end":"(\u003c\\?xpacket(?=\\s)[^\u003e]*end\\b[^\u003e]*\\?\u003e)|(?=\\s*(?:endstream|endobj\\b))","patterns":[{"include":"text.xml"}],"beginCaptures":{"1":{"name":"text.embedded.xml","patterns":[{"include":"text.xml"}]}},"endCaptures":{"1":{"name":"text.embedded.xml","patterns":[{"include":"text.xml"}]}}},{"name":"string.other.base85.pdf","begin":"(?!endstream)[!-uz]{50,80}\\s*$","end":"~\u003e|(?=\\s*(?:endstream|endobj\\b))","endCaptures":{"0":{"name":"punctuation.definition.string.end.pdf"}}},{"name":"string.other.raw.binary.pdf","contentName":"sublimelinter.gutter-mark","begin":"(?!endstream|[!-uz]{50,80}\\s*$)(?:(?\u003c=[\\n\\r]|\\G|^))(?=.)","end":"(?=\\s*(?:endstream|endobj\\b))"}],"beginCaptures":{"1":{"name":"keyword.control.stream.begin.pdf"}}}],"endCaptures":{"0":{"name":"keyword.control.stream.end.pdf"}}},{"match":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(obj)\\s*(?=\u003c\u003c|$)|(?\u003c=^|\\n|\u003e\u003e)(endobj)","captures":{"1":{"name":"keyword.control.object.begin.pdf"},"2":{"name":"keyword.control.object.end.pdf"}}},{"name":"keyword.control.$1.pdf","match":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(trailer|startxref)(?![^/\\s{}()\u003c\u003e\\[\\]%])"}]}}}
1
+ {"name":"PostScript","scopeName":"source.postscript","patterns":[{"name":"meta.document.pdf","begin":"\\A(?=%PDF)","end":"(?=A)B","patterns":[{"include":"#main"}]},{"name":"meta.ai-prefs.postscript","begin":"\\A(?=/(?:(?:Menus|collection1|precision) {|textImportantVisualLinesSnapping \\d)(?:\\r|$))","end":"(?=A)B","patterns":[{"include":"#main"}]},{"include":"#main"}],"repository":{"array":{"name":"meta.array.postscript","begin":"\\[","end":"\\]","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.postscript"}}},"base85":{"name":"string.other.base85.postscript","begin":"\u003c~","end":"~\u003e","patterns":[{"name":"invalid.illegal.base85.char.postscript","match":"(?:[^!-uz\\s]|~(?!\u003e))++"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"comment":{"patterns":[{"name":"punctuation.whitespace.comment.leading.postscript","match":"^[ \\t]+(?=%)"},{"include":"#dsc"},{"name":"comment.line.percentage.postscript","begin":"%","end":"(?=$|\\r|\\f)","beginCaptures":{"0":{"name":"punctuation.definition.comment.postscript"}}}]},"dictionary":{"name":"meta.dictionary.postscript","begin":"\u003c\u003c","end":"\u003e\u003e","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.postscript"}}},"dsc":{"name":"meta.Document-Structuring-Comment.postscript","contentName":"string.unquoted.DSC.postscript","begin":"(?x) ^ (%%)\n( BeginBinary\n| BeginCustomColor\n| BeginData\n| BeginDefaults\n| BeginDocument\n| BeginEmulation\n| BeginExitServer\n| BeginFeature\n| BeginFile\n| BeginFont\n| BeginObject\n| BeginPageSetup\n| BeginPaperSize\n| BeginPreview\n| BeginProcSet\n| BeginProcessColor\n| BeginProlog\n| BeginResource\n| BeginSetup\n| BoundingBox\n| CMYKCustomColor\n| ChangeFont\n| Copyright\n| CreationDate\n| Creator\n| DocumentCustomColors\n| DocumentData\n| DocumentFonts\n| DocumentMedia\n| DocumentNeededFiles\n| DocumentNeededFonts\n| DocumentNeededProcSets\n| DocumentNeededResources\n| DocumentPaperColors\n| DocumentPaperForms\n| DocumentPaperSizes\n| DocumentPaperWeights\n| DocumentPrinterRequired\n| DocumentProcSets\n| DocumentProcessColors\n| DocumentSuppliedFiles\n| DocumentSuppliedFonts\n| DocumentSuppliedProcSets\n| DocumentSuppliedResources\n| EOF\n| Emulation\n| EndBinary\n| EndComments\n| EndCustomColor\n| EndData\n| EndDefaults\n| EndDocument\n| EndEmulation\n| EndExitServer\n| EndFeature\n| EndFile\n| EndFont\n| EndObject\n| EndPageSetup\n| EndPaperSize\n| EndPreview\n| EndProcSet\n| EndProcessColor\n| EndProlog\n| EndResource\n| EndSetup\n| ExecuteFile\n| Extensions\n| Feature\n| For\n| IncludeDocument\n| IncludeFeature\n| IncludeFile\n| IncludeFont\n| IncludeProcSet\n| IncludeResource\n| LanguageLevel\n| OperatorIntervention\n| OperatorMessage\n| Orientation\n| PageBoundingBox\n| PageCustomColors\n| PageFiles\n| PageFonts\n| PageMedia\n| PageOrder\n| PageOrientation\n| PageProcessColors\n| PageRequirements\n| PageResources\n| PageTrailer\n| Pages\n| Page\n| PaperColor\n| PaperForm\n| PaperSize\n| PaperWeight\n| ProofMode\n| RGBCustomColor\n| Requirements\n| Routing\n| Title\n| Trailer\n| VMlocation\n| VMusage\n| Version\n| \\+\n| \\?BeginFeatureQuery\n| \\?BeginFileQuery\n| \\?BeginFontListQuery\n| \\?BeginFontQuery\n| \\?BeginPrinterQuery\n| \\?BeginProcSetQuery\n| \\?BeginQuery\n| \\?BeginResourceListQuery\n| \\?BeginResourceQuery\n| \\?BeginVMStatus\n| \\?EndFeatureQuery\n| \\?EndFileQuery\n| \\?EndFontListQuery\n| \\?EndFontQuery\n| \\?EndPrinterQuery\n| \\?EndProcSetQuery\n| \\?EndQuery\n| \\?EndResourceListQuery\n| \\?EndResourceQuery\n| \\?EndVMStatus\n) (:)? [^\\S\\r\\n]*","end":"(?=$|\\r|\\f)","beginCaptures":{"0":{"name":"keyword.other.DSC.postscript"},"1":{"name":"punctuation.definition.keyword.DSC.postscript"},"3":{"name":"keyword.operator.assignment.key-value.colon.postscript"}}},"embedded":{"patterns":[{"contentName":"string.unquoted.heredoc.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s+((?=\\S)[^{}%]+?)\\s+(readline)(?!\\s*})\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])(?:$\\s*)?","end":"(?!\\G)$","beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"patterns":[{"include":"#main"}]},"3":{"name":"keyword.operator.postscript"}}},{"name":"meta.encrypted-source.base85.postscript","contentName":"string.other.base85.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s*((/)ASCII85Decode)\\s+(filter)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])([^}\u003e\\]%]*?(?:exec|image|readstring)\\s*)$\\s*+","end":"~\u003e|(?=cleartomark|closefile)","beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"name":"variable.other.literal.postscript"},"3":{"name":"punctuation.definition.name.postscript"},"4":{"name":"keyword.operator.postscript"},"5":{"patterns":[{"include":"#main"}]}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},{"name":"meta.encrypted-source.eexec.postscript","begin":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(currentfile)\\s+(eexec)(?:$|(?=.*[\\0-\\x08\\x14-\\x31\\x7F\\x80-\\x9F])(?=.{0,3}?[^A-Fa-f0-9]|\\b[A-Fa-f0-9]))","end":"(cleartomark|closefile)\\b(?![^/\\s{}()\u003c\u003e\\[\\]%])|(?\u003c=\\G)(?=[^\\s0-9A-Fa-f])","patterns":[{"begin":"\\G(?=\\s*$)","end":"(?=\\s*\\S)"},{"begin":"(?:\\G|(?\u003c=\\n|^))\\s*(?=\\S)","end":"(?!\\G)","patterns":[{"name":"string.other.raw.binary.postscript","contentName":"sublimelinter.gutter-mark","begin":"\\G(?!cleartomark|closefile)(?=.{0,3}?[^A-Fa-f0-9])","end":"(?=\\s*(?:cleartomark|closefile))"},{"name":"string.other.hexadecimal.postscript","begin":"\\G(?!cleartomark|closefile)(?=\\s{0,3}?(?:[A-Fa-f0-9]))","end":"(?=\\s*[^A-Fa-f0-9\\s]|cleartomark|closefile)"}]}],"beginCaptures":{"1":{"name":"keyword.operator.postscript"},"2":{"name":"keyword.operator.postscript"}},"endCaptures":{"1":{"name":"keyword.operator.postscript"}}}]},"embeddedRow":{"patterns":[{"name":"string.other.base85.postscript","match":"^[!-uz]{0,78}(~\u003e)","captures":{"1":{"name":"punctuation.definition.string.end.postscript"}}},{"name":"string.other.base85.postscript","begin":"(?x) ^\n(?= [^%\\[]*? \\]\n| [^%(]*? \\)\n| [^%\u003c]*? \u003e\n| .*? \u003c(?!~|\u003c) [A-Fa-f0-9]* [^~\u003eA-Fa-f0-9]\n) [!-uz]{60,80} [^\\S\\r\\n]* $","end":"^[!-uz]{0,78}(~\u003e)","endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}}]},"extensions":{"name":"keyword.operator.ghostscript.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) (?:\\b|(?=\\.))\n( \\.activatepathcontrol\n| \\.addcontrolpath\n| \\.begintransparencygroup\n| \\.begintransparencymaskgroup\n| \\.bind\n| \\.bindnow\n| \\.currentalphaisshape\n| \\.currentblendmode\n| \\.currentfillconstantalpha\n| \\.currentopacityalpha\n| \\.currentoverprintmode\n| \\.currentpathcontrolstate\n| \\.currentshapealpha\n| \\.currentstrokeconstantalpha\n| \\.currenttextknockout\n| \\.dicttomark\n| \\.endtransparencygroup\n| \\.endtransparencymask\n| \\.fileposition\n| \\.genordered\n| \\.knownget\n| \\.locksafe\n| \\.popdf14devicefilter\n| \\.pushpdf14devicefilter\n| \\.setalphaisshape\n| \\.setblendmode\n| \\.setdebug\n| \\.setfillconstantalpha\n| \\.setopacityalpha\n| \\.setoverprintmode\n| \\.setsafe\n| \\.setshapealpha\n| \\.setstrokeconstantalpha\n| \\.settextknockout\n| \\.shellarguments\n| \\.tempfile\n| %Type1BuildChar\n| %Type1BuildGlyph\n| arccos\n| arcsin\n| copydevice\n| copyscanlines\n| currentdevice\n| finddevice\n| findlibfile\n| findprotodevice\n| getdeviceprops\n| getenv\n| makeimagedevice\n| max\n| min\n| putdeviceprops\n| setdevice\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},"hex":{"name":"string.other.hexadecimal.postscript","begin":"\u003c","end":"\u003e","patterns":[{"name":"invalid.illegal.hexadecimal.char.postscript","match":"[^\u003e0-9A-Fa-f\\s]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"main":{"patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#dictionary"},{"include":"#array"},{"include":"#procedure"},{"include":"#base85"},{"include":"#hex"},{"include":"#radix"},{"include":"#number"},{"include":"#embedded"},{"include":"#operators"},{"include":"#extensions"},{"include":"#embeddedRow"},{"include":"#names"}]},"names":{"patterns":[{"name":"variable.other.constant.immediately-evaluated.postscript","match":"(//)[^()\u003c\u003e\\[\\]{}/%\\s]*","captures":{"1":{"name":"punctuation.definition.name.postscript"}}},{"name":"variable.other.constant.literal.postscript","match":"(/)[^()\u003c\u003e\\[\\]{}/%\\s]*","captures":{"1":{"name":"punctuation.definition.name.postscript"}}},{"name":"variable.other.executable.postscript","match":"[^()\u003c\u003e\\[\\]{}/%\\s]+"}]},"number":{"name":"constant.numeric.postscript","match":"[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][-+]?\\d+)?(?=$|[\\s\\[\\]{}(/%\u003c])"},"operators":{"patterns":[{"name":"keyword.operator.level-3.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( GetHalftoneName\n| GetPageDeviceName\n| GetSubstituteCRD\n| StartData\n| StartData\n| addglyph\n| beginbfchar\n| beginbfrange\n| begincidchar\n| begincidrange\n| begincmap\n| begincodespacerange\n| beginnotdefchar\n| beginnotdefrange\n| beginrearrangedfont\n| beginusematrix\n| cliprestore\n| clipsave\n| composefont\n| currentsmoothness\n| currenttrapparams\n| endbfchar\n| endbfrange\n| endcidchar\n| endcidrange\n| endcmap\n| endcodespacerange\n| endnotdefchar\n| endnotdefrange\n| endrearrangedfont\n| endusematrix\n| findcolorrendering\n| removeall\n| removeglyphs\n| setsmoothness\n| settrapparams\n| settrapzone\n| shfill\n| usecmap\n| usefont\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},{"name":"keyword.operator.level-2.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( GlobalFontDirectory\n| ISOLatin1Encoding\n| SharedFontDirectory\n| UserObjects\n| arct\n| colorimage\n| configurationerror\n| cshow\n| currentblackgeneration\n| currentcacheparams\n| currentcmykcolor\n| currentcolorrendering\n| currentcolorscreen\n| currentcolorspace\n| currentcolortransfer\n| currentcolor\n| currentdevparams\n| currentglobal\n| currentgstate\n| currenthalftone\n| currentobjectformat\n| currentoverprint\n| currentpacking\n| currentpagedevice\n| currentshared\n| currentstrokeadjust\n| currentsystemparams\n| currentundercolorremoval\n| currentuserparams\n| defineresource\n| defineuserobject\n| deletefile\n| execform\n| execuserobject\n| filenameforall\n| fileposition\n| filter\n| findencoding\n| findresource\n| gcheck\n| globaldict\n| glyphshow\n| gstate\n| ineofill\n| infill\n| instroke\n| inueofill\n| inufill\n| inustroke\n| languagelevel\n| makepattern\n| packedarray\n| printobject\n| product\n| realtime\n| rectclip\n| rectfill\n| rectstroke\n| renamefile\n| resourceforall\n| resourcestatus\n| revision\n| rootfont\n| scheck\n| selectfont\n| serialnumber\n| setbbox\n| setblackgeneration\n| setcachedevice2\n| setcacheparams\n| setcmykcolor\n| setcolorrendering\n| setcolorscreen\n| setcolorspace\n| setcolortransfer\n| setcolor\n| setdevparams\n| setfileposition\n| setglobal\n| setgstate\n| sethalftone\n| setobjectformat\n| setoverprint\n| setpacking\n| setpagedevice\n| setpattern\n| setshared\n| setstrokeadjust\n| setsystemparams\n| setucacheparams\n| setundercolorremoval\n| setuserparams\n| setvmthreshold\n| shareddict\n| startjob\n| uappend\n| ucachestatus\n| ucache\n| ueofill\n| ufill\n| undefinedresource\n| undefinefont\n| undefineresource\n| undefineuserobject\n| undef\n| upath\n| ustrokepath\n| ustroke\n| vmreclaim\n| writeobject\n| xshow\n| xyshow\n| yshow\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])"},{"name":"keyword.operator.level-1.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( FontDirectory\n| StandardEncoding\n| VMerror\n| abs\n| add\n| aload\n| anchorsearch\n| and\n| arcn\n| arcto\n| arc\n| array\n| ashow\n| astore\n| atan\n| awidthshow\n| begin\n| bind\n| bitshift\n| bytesavailable\n| cachestatus\n| ceiling\n| charpath\n| cleardictstack\n| cleartomark\n| clear\n| clippath\n| clip\n| closefile\n| closepath\n| colorimage\n| concatmatrix\n| concat\n| condition\n| copypage\n| copy\n| cos\n| countdictstack\n| countexecstack\n| counttomark\n| count\n| currentcontext\n| currentdash\n| currentdict\n| currentfile\n| currentflat\n| currentfont\n| currentgray\n| currenthalftonephase\n| currenthsbcolor\n| currentlinecap\n| currentlinejoin\n| currentlinewidth\n| currentmatrix\n| currentmiterlimit\n| currentpoint\n| currentrgbcolor\n| currentscreen\n| currenttransfer\n| curveto\n| cvi\n| cvlit\n| cvn\n| cvrs\n| cvr\n| cvs\n| cvx\n| defaultmatrix\n| definefont\n| defineusername\n| def\n| detach\n| deviceinfo\n| dictfull\n| dictstackoverflow\n| dictstackunderflow\n| dictstack\n| dict\n| div\n| dtransform\n| dup\n| echo\n| eexec\n| end\n| eoclip\n| eofill\n| eoviewclip\n| eq\n| erasepage\n| errordict\n| exch\n| execstackoverflow\n| execstack\n| executeonly\n| executive\n| exec\n| exitserver\n| exit\n| exp\n| false\n| file\n| fill\n| findfont\n| flattenpath\n| floor\n| flushfile\n| flush\n| forall\n| fork\n| for\n| getinterval\n| get\n| ge\n| grestoreall\n| grestore\n| gsave\n| gt\n| handleerror\n| identmatrix\n| idiv\n| idtransform\n| ifelse\n| if\n| imagemask\n| image\n| index\n| initclip\n| initgraphics\n| initmatrix\n| initviewclip\n| internaldict\n| interrupt\n| invalidaccess\n| invalidcontext\n| invalidexit\n| invalidfileaccess\n| invalidfont\n| invalidid\n| invalidrestore\n| invertmatrix\n| ioerror\n| itransform\n| known\n| kshow\n| length\n| le\n| limitcheck\n| lineto\n| ln\n| load\n| lock\n| log\n| loop\n| lt\n| makefont\n| mark\n| matrix\n| maxlength\n| mod\n| monitor\n| moveto\n| mul\n| neg\n| newpath\n| ne\n| noaccess\n| nocurrentpoint\n| notify\n| not\n| nulldevice\n| null\n| or\n| pathbbox\n| pathforall\n| pdfmark\n| pop\n| print\n| prompt\n| pstack\n| putinterval\n| put\n| quit\n| rand\n| rangecheck\n| rcheck\n| rcurveto\n| readhexstring\n| readline\n| readonly\n| readstring\n| read\n| rectviewclip\n| repeat\n| resetfile\n| restore\n| reversepath\n| rlineto\n| rmoveto\n| roll\n| rotate\n| round\n| rrand\n| run\n| save\n| scalefont\n| scale\n| search\n| serverdict\n| setcachedevice\n| setcachelimit\n| setcharwidth\n| setdash\n| setflat\n| setfont\n| setgray\n| sethalftonephase\n| sethsbcolor\n| setlinecap\n| setlinejoin\n| setlinewidth\n| setmatrix\n| setmiterlimit\n| setrgbcolor\n| setscreen\n| settransfer\n| showpage\n| show\n| sin\n| sqrt\n| srand\n| stackoverflow\n| stackunderflow\n| stack\n| start\n| statusdict\n| status\n| stopped\n| stop\n| store\n| stringwidth\n| string\n| strokepath\n| stroke\n| sub\n| syntaxerror\n| systemdict\n| timeout\n| token\n| transform\n| translate\n| true\n| truncate\n| typecheck\n| type\n| undefinedfilename\n| undefinedresult\n| undefined\n| unmatchedmark\n| unregistered\n| userdict\n| usertime\n| version\n| viewclippath\n| viewclip\n| vmstatus\n| wait\n| wcheck\n| where\n| widthshow\n| writehexstring\n| writestring\n| write\n| wtranslation\n| xcheck\n| xor\n| yield\n) \\b (?![^/\\s{}()\u003c\u003e\\[\\]%])\n|\n# Stuff that starts with a non-word character\n(?\u003c=^|[/\\s{}()\u003c\u003e\\[\\]%])\n(=?=|\\$error)\n(?=$|[/\\s{}()\u003c\u003e\\[\\]%])"}]},"procedure":{"name":"meta.procedure.postscript","begin":"{","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.definition.procedure.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.procedure.end.postscript"}}},"radix":{"name":"constant.numeric.radix.postscript","match":"[0-3]?[0-9]#[0-9a-zA-Z]+"},"specialFiles":{"patterns":[{"name":"constant.language.device-name.$2-device.postscript","match":"\\G(%)([-\\w]+)(?=%|\\)|$)(%)?","captures":{"1":{"name":"punctuation.definition.device-name.begin.postscript"},"3":{"name":"punctuation.definition.device-name.end.postscript"}}},{"name":"constant.language.special-file.stdio.$2.postscript","match":"\\G(%)(stderr|stdin|stdout)(?=\\)|$)","captures":{"1":{"name":"punctuation.definition.special-file.begin.postscript"},"3":{"name":"punctuation.definition.special-file.end.postscript"}}},{"name":"constant.language.special-file.interactive.$2.postscript","match":"\\G(%)(lineedit|statementedit)(?=\\)|$)","captures":{"1":{"name":"punctuation.definition.special-file.begin.postscript"},"3":{"name":"punctuation.definition.special-file.end.postscript"}}}]},"string":{"name":"string.other.postscript","begin":"\\(","end":"\\)","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.postscript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.postscript"}}},"stringInnards":{"patterns":[{"include":"#specialFiles"},{"name":"constant.numeric.octal.postscript","match":"\\\\[0-7]{1,3}"},{"name":"constant.character.escape.postscript","match":"\\\\(\\\\|[bfnrt()]|[0-7]{1,3}|\\r?\\n)"},{"name":"invalid.illegal.unknown-escape.postscript.ignored","match":"\\\\"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#stringInnards"}]}]}},"injections":{"L:source.postscript meta.ai-prefs.postscript - (comment | string | source.embedded | text.embedded)":{"patterns":[{"name":"meta.obfuscated-setting.ai-prefs.postscript","contentName":"meta.array.postscript","begin":"^\\s*(/(?:\\\\.|[^()\u003c\u003e\\[\\]{}/%\\s])*) ((\\[) (?!0\\b)(\\d+)(?:$|\\r))","end":"^\\s*(\\])|\\G(?!$)|(?!\\G)^(?!\\s*(?:\\]|[A-Fa-f0-9]+$))","patterns":[{"name":"string.other.hexadecimal.postscript","match":"[A-Fa-f0-9]+"}],"beginCaptures":{"1":{"patterns":[{"include":"$self"}]},"2":{"name":"meta.array.postscript"},"3":{"name":"punctuation.definition.array.begin.postscript"},"4":{"name":"constant.numeric.postscript"}},"endCaptures":{"0":{"name":"meta.array.postscript"},"1":{"name":"punctuation.definition.array.end.postscript"}}},{"name":"variable.other.constant.literal.postscript","match":"(/)((?:\\\\.|[^()\u003c\u003e\\[\\]{}/%\\s])*)","captures":{"1":{"name":"punctuation.definition.name.postscript"},"2":{"patterns":[{"name":"constant.character.escape.postscript","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.postscript"}}}]}}},{"name":"constant.numeric.integer.long.postscript","match":"[0-9]+L"}]},"L:source.postscript meta.document.pdf - (meta.encrypted-source | source.embedded | text.embedded)":{"patterns":[{"name":"meta.encrypted-source.stream.pdf","begin":"(?:^|(?\u003c=\u003e\u003e)\\s*)(?=stream$)","end":"endstream|(?=endobj\\b)","patterns":[{"begin":"\\G(stream)\\s*$\\s*","end":"(?=endstream|(?=endobj\\b))","patterns":[{"contentName":"text.embedded.xml","begin":"(\u003c\\?xpacket(?=\\s)[^\u003e]+\\?\u003e)(?=$|\u003cx:xmpmeta)","end":"(\u003c\\?xpacket(?=\\s)[^\u003e]*end\\b[^\u003e]*\\?\u003e)|(?=\\s*(?:endstream|endobj\\b))","patterns":[{"include":"text.xml"}],"beginCaptures":{"1":{"name":"text.embedded.xml","patterns":[{"include":"text.xml"}]}},"endCaptures":{"1":{"name":"text.embedded.xml","patterns":[{"include":"text.xml"}]}}},{"name":"string.other.base85.pdf","begin":"(?!endstream)[!-uz]{50,80}\\s*$","end":"~\u003e|(?=\\s*(?:endstream|endobj\\b))","endCaptures":{"0":{"name":"punctuation.definition.string.end.pdf"}}},{"name":"string.other.raw.binary.pdf","contentName":"sublimelinter.gutter-mark","begin":"(?!endstream|[!-uz]{50,80}\\s*$)(?:(?\u003c=[\\n\\r]|\\G|^))(?=.)","end":"(?=\\s*(?:endstream|endobj\\b))"}],"beginCaptures":{"1":{"name":"keyword.control.stream.begin.pdf"}}}],"endCaptures":{"0":{"name":"keyword.control.stream.end.pdf"}}},{"match":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(obj)\\s*(?=\u003c\u003c|$)|(?\u003c=^|\\n|\u003e\u003e)(endobj)","captures":{"1":{"name":"keyword.control.object.begin.pdf"},"2":{"name":"keyword.control.object.end.pdf"}}},{"name":"keyword.control.$1.pdf","match":"(?\u003c![^/\\s{}()\u003c\u003e\\[\\]%])\\b(trailer|startxref)(?![^/\\s{}()\u003c\u003e\\[\\]%])"}]}}}
@@ -1 +1 @@
1
- {"name":"PowerShell","scopeName":"source.powershell","patterns":[{"name":"comment.block.powershell","begin":"\u003c#","end":"#\u003e","patterns":[{"include":"#commentEmbeddedDocs"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.powershell"}}},{"name":"keyword.operator.redirection.powershell","match":"[2-6]\u003e\u00261|\u003e\u003e|\u003e|\u003c\u003c|\u003c|\u003e|\u003e\\||[1-6]\u003e|[1-6]\u003e\u003e"},{"include":"#commands"},{"include":"#commentLine"},{"include":"#variable"},{"include":"#subexpression"},{"include":"#function"},{"include":"#attribute"},{"include":"#UsingDirective"},{"include":"#type"},{"include":"#hashtable"},{"include":"#doubleQuotedString"},{"include":"#scriptblock"},{"include":"#doubleQuotedStringEscapes"},{"name":"string.quoted.single.powershell","begin":"['\\x{2018}-\\x{201B}]","end":"['\\x{2018}-\\x{201B}]","patterns":[{"name":"constant.character.escape.powershell","match":"['\\x{2018}-\\x{201B}]{2}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"applyEndPatternLast":true},{"name":"string.quoted.double.heredoc.powershell","begin":"(@[\"\\x{201C}-\\x{201E}])\\s*$","end":"^[\"\\x{201C}-\\x{201E}]@","patterns":[{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}}},{"name":"string.quoted.single.heredoc.powershell","begin":"(@['\\x{2018}-\\x{201B}])\\s*$","end":"^['\\x{2018}-\\x{201B}]@","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}}},{"include":"#numericConstant"},{"name":"meta.group.array-expression.powershell","begin":"(@)(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.array.begin.powershell"},"2":{"name":"punctuation.section.group.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}}},{"name":"meta.group.complex.subexpression.powershell","begin":"((\\$))(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.subexpression.powershell"},"3":{"name":"punctuation.section.group.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}}},{"name":"support.function.powershell","match":"(\\b(([A-Za-z0-9\\-_\\.]+)\\.(?i:exe|com|cmd|bat))\\b)"},{"name":"keyword.control.powershell","match":"(?\u003c!\\w|-|\\.)((?i:begin|break|catch|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\\?)(?!\\w)"},{"name":"keyword.control.powershell","match":"(?\u003c!\\w|-|[^\\)]\\.)((?i:(foreach|where)(?!-object))|%|\\?)(?!\\w)"},{"begin":"(?\u003c!\\w)(--%)(?!\\w)","end":"$","patterns":[{"name":"string.unquoted.powershell","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.powershell"}}},{"name":"storage.modifier.powershell","match":"(?\u003c!\\w)((?i:hidden|static))(?!\\w)"},{"match":"(?\u003c!\\w|-)((?i:class)|%|\\?)(?:\\s)+((?:\\p{L}|\\d|_|-|)+)\\b","captures":{"1":{"name":"storage.type.powershell"},"2":{"name":"entity.name.function"}}},{"name":"keyword.operator.comparison.powershell","match":"(?\u003c!\\w)-(?i:is(?:not)?|as)\\b"},{"name":"keyword.operator.comparison.powershell","match":"(?\u003c!\\w)-(?i:[ic]?(?:eq|ne|[gl][te]|(?:not)?(?:like|match|contains|in)|replace))(?!\\p{L})"},{"name":"keyword.operator.unary.powershell","match":"(?\u003c!\\w)-(?i:join|split)(?!\\p{L})|!"},{"name":"keyword.operator.logical.powershell","match":"(?\u003c!\\w)-(?i:and|or|not|xor)(?!\\p{L})|!"},{"name":"keyword.operator.bitwise.powershell","match":"(?\u003c!\\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\\p{L})"},{"name":"keyword.operator.string-format.powershell","match":"(?\u003c!\\w)-(?i:f)(?!\\p{L})"},{"name":"keyword.operator.assignment.powershell","match":"[+%*/-]?=|[+/*%-]"},{"name":"punctuation.terminator.statement.powershell","match":"\\|{2}|\u0026{2}|;"},{"name":"keyword.operator.other.powershell","match":"\u0026|(?\u003c!\\w)\\.(?= )|`|,|\\|"},{"name":"keyword.operator.range.powershell","match":"(?\u003c!\\s|^)\\.\\.(?=\\-?\\d|\\(|\\$)"}],"repository":{"RequiresDirective":{"name":"meta.requires.powershell","begin":"(?\u003c=#)(?i:(requires))\\s","end":"$","patterns":[{"name":"keyword.other.powershell","match":"\\-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)"},{"name":"variable.parameter.powershell","match":"(?\u003c!-)\\b\\p{L}+|\\d+(?:\\.\\d+)*"},{"include":"#hashtable"}],"beginCaptures":{"0":{"name":"keyword.control.requires.powershell"}}},"UsingDirective":{"match":"(?\u003c!\\w)(?i:(using))\\s+(?i:(namespace|module))\\s+(?i:((?:\\w+(?:\\.)?)+))","captures":{"1":{"name":"keyword.control.using.powershell"},"2":{"name":"keyword.other.powershell"},"3":{"name":"variable.parameter.powershell"}}},"attribute":{"name":"meta.attribute.powershell","begin":"(\\[)\\s*\\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\\b","end":"(\\])","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"},{"match":"(?i)\\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\\b(?:\\s+)?(=)?","captures":{"1":{"name":"variable.parameter.attribute.powershell"},"2":{"name":"keyword.operator.assignment.powershell"}}}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}}}],"beginCaptures":{"1":{"name":"punctuation.section.bracket.begin.powershell"},"2":{"name":"support.function.attribute.powershell"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.end.powershell"}}},"commands":{"patterns":[{"name":"support.function.powershell","match":"(?:(\\p{L}|\\d|_|-|\\\\|\\:)*\\\\)?\\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)\\-.+?(?:\\.(?i:exe|cmd|bat|ps1))?\\b"},{"name":"support.function.powershell","match":"(?\u003c!\\w)(?i:foreach-object)(?!\\w)"},{"name":"support.function.powershell","match":"(?\u003c!\\w)(?i:where-object)(?!\\w)"},{"name":"support.function.powershell","match":"(?\u003c!\\w)(?i:sort-object)(?!\\w)"},{"name":"support.function.powershell","match":"(?\u003c!\\w)(?i:tee-object)(?!\\w)"}]},"commentEmbeddedDocs":{"patterns":[{"name":"comment.documentation.embedded.powershell","match":"(?:^|\\G)(?i:\\s*(\\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\\s*$","captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"}}},{"name":"comment.documentation.embedded.powershell","match":"(?:^|\\G)(?i:\\s*(\\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\\s+(.+?)\\s*$","captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"},"3":{"name":"keyword.operator.documentation.powershell"}}}]},"commentLine":{"name":"comment.line.powershell","begin":"(?\u003c![`\\\\-])(#)#*","end":"$\\n?","patterns":[{"include":"#commentEmbeddedDocs"},{"include":"#RequiresDirective"}],"captures":{"1":{"name":"punctuation.definition.comment.powershell"}}},"doubleQuotedString":{"name":"string.quoted.double.powershell","begin":"[\"\\x{201C}-\\x{201E}]","end":"[\"\\x{201C}-\\x{201E}]","patterns":[{"match":"(?i)\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,64}\\b"},{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"name":"constant.character.escape.powershell","match":"[\"\\x{201C}-\\x{201E}]{2}"},{"include":"#interpolation"},{"name":"keyword.other.powershell","match":"`\\s*$"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"applyEndPatternLast":true},"doubleQuotedStringEscapes":{"patterns":[{"name":"constant.character.escape.powershell","match":"`[`0abefnrtv'\"\\x{2018}-\\x{201E}$]"},{"include":"#unicodeEscape"}]},"function":{"begin":"^(?:\\s*+)(?i)(function|filter|configuration|workflow)\\s+(?:(global|local|script|private):)?((?:\\p{L}|\\d|_|-|\\.)+)","end":"(?=\\{|\\()","patterns":[{"include":"#commentLine"}],"beginCaptures":{"0":{"name":"meta.function.powershell"},"1":{"name":"storage.type.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"3":{"name":"entity.name.function.powershell"}}},"hashtable":{"name":"meta.hashtable.powershell","begin":"(@)(\\{)","end":"(\\})","patterns":[{"name":"meta.hashtable.assignment.powershell","match":"\\b((?:\\'|\\\")?)(\\w+)((?:\\'|\\\")?)(?:\\s+)?(=)(?:\\s+)?","captures":{"1":{"name":"punctuation.definition.string.begin.powershell"},"2":{"name":"variable.other.readwrite.powershell"},"3":{"name":"punctuation.definition.string.end.powershell"},"4":{"name":"keyword.operator.assignment.powershell"}}},{"include":"#scriptblock"},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.hashtable.begin.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.powershell"}}},"interpolation":{"name":"meta.embedded.substatement.powershell","contentName":"interpolated.complex.source.powershell","begin":"(((\\$)))((\\())","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.substatement.powershell"},"3":{"name":"punctuation.section.embedded.substatement.begin.powershell"},"4":{"name":"punctuation.section.group.begin.powershell"},"5":{"name":"punctuation.section.embedded.substatement.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"},"1":{"name":"punctuation.section.embedded.substatement.end.powershell"}}},"numericConstant":{"patterns":[{"match":"(?\u003c!\\w)([-+]?0(?:x|X)[0-9a-fA-F_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.hex.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?(?:[0-9_]+)?\\.[0-9_]+(?:(?:e|E)[0-9]+)?(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?0(?:b|B)[01_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.octal.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?[0-9_]+(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?[0-9_]+\\.(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?[0-9_]+[\\.]?(?:F|f|D|d|M|m))((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?[0-9_]+[\\.]?(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}}]},"scriptblock":{"name":"meta.scriptblock.powershell","begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.powershell"}}},"subexpression":{"name":"meta.group.simple.subexpression.powershell","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}}},"type":{"begin":"\\[","end":"\\]","patterns":[{"name":"storage.type.powershell","match":"(?!\\d+|\\.)(?:\\p{L}|\\p{N}|\\.)+"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.bracket.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.bracket.end.powershell"}}},"unicodeEscape":{"patterns":[{"name":"constant.character.escape.powershell","match":"`u\\{(?:(?:10)?([0-9a-fA-F]){1,4}|0?\\g\u003c1\u003e{1,5})}"},{"name":"invalid.character.escape.powershell","match":"`u(?:\\{[0-9a-fA-F]{,6}.)?"}]},"variable":{"patterns":[{"match":"(\\$)(?i:(False|Null|True))\\b","captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}}},{"match":"(\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?\\b","captures":{"0":{"name":"support.constant.variable.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(\\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\b)((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?\\b","captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$|@)(global|local|private|script|using|workflow):((?:\\p{L}|\\d|_)+))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(\\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\\}))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"storage.modifier.scope.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$|@)((?:\\p{L}|\\d|_)+:)?((?:\\p{L}|\\d|_)+))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(\\{)((?:\\p{L}|\\d|_)+:)?([^}]*[^}`])(\\}))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}}}]},"variableNoProperty":{"patterns":[{"match":"(\\$)(?i:(False|Null|True))\\b","captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}}},{"match":"(\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\b","captures":{"0":{"name":"support.constant.variable.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(\\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\b)","captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\b","captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(global|local|private|script|using|workflow):((?:\\p{L}|\\d|_)+))","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(\\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\\}))","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"keyword.other.powershell"},"5":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)((?:\\p{L}|\\d|_)+:)?((?:\\p{L}|\\d|_)+))","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(\\{)((?:\\p{L}|\\d|_)+:)?([^}]*[^}`])(\\}))","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end"}}}]}}}
1
+ {"name":"PowerShell","scopeName":"source.powershell","patterns":[{"name":"comment.block.powershell","begin":"\u003c#","end":"#\u003e","patterns":[{"include":"#commentEmbeddedDocs"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.powershell"}}},{"name":"keyword.operator.redirection.powershell","match":"[2-6]\u003e\u00261|\u003e\u003e|\u003e|\u003c\u003c|\u003c|\u003e|\u003e\\||[1-6]\u003e|[1-6]\u003e\u003e"},{"include":"#commands"},{"include":"#commentLine"},{"include":"#variable"},{"include":"#subexpression"},{"include":"#function"},{"include":"#attribute"},{"include":"#UsingDirective"},{"include":"#type"},{"include":"#hashtable"},{"include":"#doubleQuotedString"},{"include":"#scriptblock"},{"include":"#doubleQuotedStringEscapes"},{"name":"string.quoted.single.powershell","begin":"['\\x{2018}-\\x{201B}]","end":"['\\x{2018}-\\x{201B}]","patterns":[{"name":"constant.character.escape.powershell","match":"['\\x{2018}-\\x{201B}]{2}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"applyEndPatternLast":true},{"name":"string.quoted.double.heredoc.powershell","begin":"(@[\"\\x{201C}-\\x{201E}])\\s*$","end":"^[\"\\x{201C}-\\x{201E}]@","patterns":[{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}}},{"name":"string.quoted.single.heredoc.powershell","begin":"(@['\\x{2018}-\\x{201B}])\\s*$","end":"^['\\x{2018}-\\x{201B}]@","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}}},{"include":"#numericConstant"},{"name":"meta.group.array-expression.powershell","begin":"(@)(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.array.begin.powershell"},"2":{"name":"punctuation.section.group.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}}},{"name":"meta.group.complex.subexpression.powershell","begin":"((\\$))(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.subexpression.powershell"},"3":{"name":"punctuation.section.group.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}}},{"name":"support.function.powershell","match":"(\\b(([A-Za-z0-9\\-_\\.]+)\\.(?i:exe|com|cmd|bat))\\b)"},{"name":"keyword.control.powershell","match":"(?\u003c!\\w|-|\\.)((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\\?)(?!\\w)"},{"name":"keyword.control.powershell","match":"(?\u003c!\\w|-|[^\\)]\\.)((?i:(foreach|where)(?!-object))|%|\\?)(?!\\w)"},{"begin":"(?\u003c!\\w)(--%)(?!\\w)","end":"$","patterns":[{"name":"string.unquoted.powershell","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.powershell"}}},{"name":"storage.modifier.powershell","match":"(?\u003c!\\w)((?i:hidden|static))(?!\\w)"},{"match":"(?\u003c!\\w|-)((?i:class)|%|\\?)(?:\\s)+((?:\\p{L}|\\d|_|-|)+)\\b","captures":{"1":{"name":"storage.type.powershell"},"2":{"name":"entity.name.function"}}},{"name":"keyword.operator.comparison.powershell","match":"(?\u003c!\\w)-(?i:is(?:not)?|as)\\b"},{"name":"keyword.operator.comparison.powershell","match":"(?\u003c!\\w)-(?i:[ic]?(?:eq|ne|[gl][te]|(?:not)?(?:like|match|contains|in)|replace))(?!\\p{L})"},{"name":"keyword.operator.unary.powershell","match":"(?\u003c!\\w)-(?i:join|split)(?!\\p{L})|!"},{"name":"keyword.operator.logical.powershell","match":"(?\u003c!\\w)-(?i:and|or|not|xor)(?!\\p{L})|!"},{"name":"keyword.operator.bitwise.powershell","match":"(?\u003c!\\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\\p{L})"},{"name":"keyword.operator.string-format.powershell","match":"(?\u003c!\\w)-(?i:f)(?!\\p{L})"},{"name":"keyword.operator.assignment.powershell","match":"[+%*/-]?=|[+/*%-]"},{"name":"punctuation.terminator.statement.powershell","match":"\\|{2}|\u0026{2}|;"},{"name":"keyword.operator.other.powershell","match":"\u0026|(?\u003c!\\w)\\.(?= )|`|,|\\|"},{"name":"keyword.operator.range.powershell","match":"(?\u003c!\\s|^)\\.\\.(?=\\-?\\d|\\(|\\$)"}],"repository":{"RequiresDirective":{"name":"meta.requires.powershell","begin":"(?\u003c=#)(?i:(requires))\\s","end":"$","patterns":[{"name":"keyword.other.powershell","match":"\\-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)"},{"name":"variable.parameter.powershell","match":"(?\u003c!-)\\b\\p{L}+|\\d+(?:\\.\\d+)*"},{"include":"#hashtable"}],"beginCaptures":{"0":{"name":"keyword.control.requires.powershell"}}},"UsingDirective":{"match":"(?\u003c!\\w)(?i:(using))\\s+(?i:(namespace|module))\\s+(?i:((?:\\w+(?:\\.)?)+))","captures":{"1":{"name":"keyword.control.using.powershell"},"2":{"name":"keyword.other.powershell"},"3":{"name":"variable.parameter.powershell"}}},"attribute":{"name":"meta.attribute.powershell","begin":"(\\[)\\s*\\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\\b","end":"(\\])","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"},{"match":"(?i)\\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\\b(?:\\s+)?(=)?","captures":{"1":{"name":"variable.parameter.attribute.powershell"},"2":{"name":"keyword.operator.assignment.powershell"}}}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}}}],"beginCaptures":{"1":{"name":"punctuation.section.bracket.begin.powershell"},"2":{"name":"support.function.attribute.powershell"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.end.powershell"}}},"commands":{"patterns":[{"name":"support.function.powershell","match":"(?:(\\p{L}|\\d|_|-|\\\\|\\:)*\\\\)?\\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)\\-.+?(?:\\.(?i:exe|cmd|bat|ps1))?\\b"},{"name":"support.function.powershell","match":"(?\u003c!\\w)(?i:foreach-object)(?!\\w)"},{"name":"support.function.powershell","match":"(?\u003c!\\w)(?i:where-object)(?!\\w)"},{"name":"support.function.powershell","match":"(?\u003c!\\w)(?i:sort-object)(?!\\w)"},{"name":"support.function.powershell","match":"(?\u003c!\\w)(?i:tee-object)(?!\\w)"}]},"commentEmbeddedDocs":{"patterns":[{"name":"comment.documentation.embedded.powershell","match":"(?:^|\\G)(?i:\\s*(\\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\\s*$","captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"}}},{"name":"comment.documentation.embedded.powershell","match":"(?:^|\\G)(?i:\\s*(\\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\\s+(.+?)\\s*$","captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"},"3":{"name":"keyword.operator.documentation.powershell"}}}]},"commentLine":{"name":"comment.line.powershell","begin":"(?\u003c![`\\\\-])(#)#*","end":"$\\n?","patterns":[{"include":"#commentEmbeddedDocs"},{"include":"#RequiresDirective"}],"captures":{"1":{"name":"punctuation.definition.comment.powershell"}}},"doubleQuotedString":{"name":"string.quoted.double.powershell","begin":"[\"\\x{201C}-\\x{201E}]","end":"[\"\\x{201C}-\\x{201E}]","patterns":[{"match":"(?i)\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,64}\\b"},{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"name":"constant.character.escape.powershell","match":"[\"\\x{201C}-\\x{201E}]{2}"},{"include":"#interpolation"},{"name":"keyword.other.powershell","match":"`\\s*$"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"applyEndPatternLast":true},"doubleQuotedStringEscapes":{"patterns":[{"name":"constant.character.escape.powershell","match":"`[`0abefnrtv'\"\\x{2018}-\\x{201E}$]"},{"include":"#unicodeEscape"}]},"function":{"begin":"^(?:\\s*+)(?i)(function|filter|configuration|workflow)\\s+(?:(global|local|script|private):)?((?:\\p{L}|\\d|_|-|\\.)+)","end":"(?=\\{|\\()","patterns":[{"include":"#commentLine"}],"beginCaptures":{"0":{"name":"meta.function.powershell"},"1":{"name":"storage.type.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"3":{"name":"entity.name.function.powershell"}}},"hashtable":{"name":"meta.hashtable.powershell","begin":"(@)(\\{)","end":"(\\})","patterns":[{"name":"meta.hashtable.assignment.powershell","match":"\\b((?:\\'|\\\")?)(\\w+)((?:\\'|\\\")?)(?:\\s+)?(=)(?:\\s+)?","captures":{"1":{"name":"punctuation.definition.string.begin.powershell"},"2":{"name":"variable.other.readwrite.powershell"},"3":{"name":"punctuation.definition.string.end.powershell"},"4":{"name":"keyword.operator.assignment.powershell"}}},{"include":"#scriptblock"},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.hashtable.begin.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.powershell"}}},"interpolation":{"name":"meta.embedded.substatement.powershell","contentName":"interpolated.complex.source.powershell","begin":"(((\\$)))((\\())","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.substatement.powershell"},"3":{"name":"punctuation.section.embedded.substatement.begin.powershell"},"4":{"name":"punctuation.section.group.begin.powershell"},"5":{"name":"punctuation.section.embedded.substatement.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"},"1":{"name":"punctuation.section.embedded.substatement.end.powershell"}}},"numericConstant":{"patterns":[{"match":"(?\u003c!\\w)([-+]?0(?:x|X)[0-9a-fA-F_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.hex.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?(?:[0-9_]+)?\\.[0-9_]+(?:(?:e|E)[0-9]+)?(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?0(?:b|B)[01_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.octal.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?[0-9_]+(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?[0-9_]+\\.(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?[0-9_]+[\\.]?(?:F|f|D|d|M|m))((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}},{"match":"(?\u003c!\\w)([-+]?[0-9_]+[\\.]?(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\\b","captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}}}]},"scriptblock":{"name":"meta.scriptblock.powershell","begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.powershell"}}},"subexpression":{"name":"meta.group.simple.subexpression.powershell","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}}},"type":{"begin":"\\[","end":"\\]","patterns":[{"name":"storage.type.powershell","match":"(?!\\d+|\\.)(?:\\p{L}|\\p{N}|\\.)+"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.bracket.begin.powershell"}},"endCaptures":{"0":{"name":"punctuation.section.bracket.end.powershell"}}},"unicodeEscape":{"patterns":[{"name":"constant.character.escape.powershell","match":"`u\\{(?:(?:10)?([0-9a-fA-F]){1,4}|0?\\g\u003c1\u003e{1,5})}"},{"name":"invalid.character.escape.powershell","match":"`u(?:\\{[0-9a-fA-F]{,6}.)?"}]},"variable":{"patterns":[{"match":"(\\$)(?i:(False|Null|True))\\b","captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}}},{"match":"(\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?\\b","captures":{"0":{"name":"support.constant.variable.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(\\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\b)((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?\\b","captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$|@)(global|local|private|script|using|workflow):((?:\\p{L}|\\d|_)+))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(\\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\\}))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"storage.modifier.scope.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$|@)((?:\\p{L}|\\d|_)+:)?((?:\\p{L}|\\d|_)+))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(\\{)((?:\\p{L}|\\d|_)+:)?([^}]*[^}`])(\\}))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}}}]},"variableNoProperty":{"patterns":[{"match":"(\\$)(?i:(False|Null|True))\\b","captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}}},{"match":"(\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\b","captures":{"0":{"name":"support.constant.variable.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(\\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\b)","captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\b","captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(global|local|private|script|using|workflow):((?:\\p{L}|\\d|_)+))","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(\\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\\}))","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"keyword.other.powershell"},"5":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)((?:\\p{L}|\\d|_)+:)?((?:\\p{L}|\\d|_)+))","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}}},{"match":"(?i:(\\$)(\\{)((?:\\p{L}|\\d|_)+:)?([^}]*[^}`])(\\}))","captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Procfile","scopeName":"source.procfile","patterns":[{"include":"#process"},{"include":"#ignored"}],"repository":{"ignored":{"name":"comment.line.procfile","match":"^(?![\\w-]+:).*$"},"process":{"contentName":"meta.function.procfile","begin":"^(?=[\\w-]+:)","end":"$","patterns":[{"contentName":"support.function.procfile","begin":"^(?=[\\w-]+:)","end":"(?\u003c=:)","patterns":[{"name":"keyword.heroku.procfile","match":"^(web|release)(?=:)"},{"name":"entity.name.function.procfile","match":"^[\\w-]+(?=:)"},{"name":"punctuation.separator.colon.procfile","match":"(?\u003c=[\\w-]):"}]},{"name":"meta.embedded.line.shell","begin":"(?\u003c=[\\w-]:)","end":"$","patterns":[{"include":"source.shell"}]}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Promela","scopeName":"source.promela","patterns":[{"name":"comment.block","begin":"\\/\\*","end":"\\*\\/"},{"name":"keyword.control","match":"\\b(assert|else|fi|if|unless|xr|xs|do|od|break|skip|atomic)\\b"},{"name":"keyword.operator","match":"\\b(run)\\b"},{"match":"^(#)\\s*(define)\\s*([a-zA-Z_]+[0-9a-zA-Z_]*)","captures":{"2":{"name":"keyword.operator"},"3":{"name":"entity.name.function"}}},{"name":"variable.other","match":"\\b[a-zA-Z_]+[0-9a-zA-Z_]*(\\s)*:"},{"name":"entity.name.function","match":"\\b(printf|len|empty|nempty|full|nfull|enabled|eval|pc_value)\\b"},{"begin":"\\b([a-zA-Z_]+[0-9a-zA-Z_]*)\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"entity.name.function"}}},{"begin":"\\b(ltl)(\\s)+([a-zA-Z_]+[0-9a-zA-Z_]*)(\\s)*{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type"},"3":{"name":"entity.name.function"}}},{"name":"string.quoted.double","match":"\"([^\\\\\"]|\\\\.)*\""},{"name":"constant.numeric","match":"\\b([0-9])+\\b"},{"name":"constant.language","match":"\\b(true|false|TRUE|FALSE)\\b"},{"name":"storage.type","match":"\\b(bit|bool|byte|pid|chan|int|mtype|proctype|short|unsigned|Dproctype)\\b"},{"name":"storage.modifier","match":"\\b(hidden|init|inline|active|local|show)\\b"},{"name":"storage.modifier","match":"\\b(typedef|c_state)\\b"},{"name":"comment.double-slash","match":"\\/\\/.*$"}]}
@@ -1 +1 @@
1
- {"name":"Protocol Buffer 3","scopeName":"source.proto","patterns":[{"include":"#comments"},{"include":"#syntax"},{"include":"#package"},{"include":"#import"},{"include":"#optionStmt"},{"include":"#message"},{"include":"#enum"},{"include":"#service"}],"repository":{"comments":{"patterns":[{"name":"comment.block.proto","begin":"/\\*","end":"\\*/"},{"name":"comment.line.double-slash.proto","begin":"//","end":"$\\n?"}]},"constants":{"name":"constant.language.proto","match":"\\b(true|false|max|[A-Z_]+)\\b"},"enum":{"begin":"(enum)(\\s+)([A-Za-z][A-Za-z0-9_]*)(\\s*)(\\{)?","end":"\\}","patterns":[{"include":"#reserved"},{"include":"#optionStmt"},{"include":"#comments"},{"begin":"([A-Za-z][A-Za-z0-9_]*)\\s*=\\s*(0[xX][0-9a-fA-F]+|[0-9]+)","end":";","patterns":[{"include":"#fieldOptions"}],"beginCaptures":{"1":{"name":"variable.other.proto"},"2":{"name":"constant.numeric.proto"}}}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.proto"}}},"field":{"begin":"\\s*(optional|repeated|required)?\\s*\\b([\\w.]+)\\s+(\\w+)\\s*=\\s*(0[xX][0-9a-fA-F]+|[0-9]+)","end":";","patterns":[{"include":"#fieldOptions"}],"beginCaptures":{"1":{"name":"storage.modifier.proto"},"2":{"name":"storage.type.proto"},"3":{"name":"variable.other.proto"},"4":{"name":"constant.numeric.proto"}}},"fieldOptions":{"begin":"\\[","end":"\\]","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"},{"include":"#optionName"}]},"ident":{"name":"entity.name.class.proto","match":"[A-Za-z][A-Za-z0-9_]*"},"import":{"match":"\\s*(import)\\s+(weak|public)?\\s*(\"[^\"]+\")\\s*;","captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.other.proto"},"3":{"name":"string.quoted.double.proto.import"}}},"kv":{"begin":"(\\w+)\\s*:","end":";|,|(?=[}/_a-zA-Z])","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}],"beginCaptures":{"1":{"name":"keyword.other.proto"}}},"mapfield":{"begin":"\\s*(map)\\s*\u003c\\s*([\\w.]+)\\s*,\\s*([\\w.]+)\\s*\u003e\\s+(\\w+)\\s*=\\s*(\\d+)","end":";","patterns":[{"include":"#fieldOptions"}],"beginCaptures":{"1":{"name":"storage.type.proto"},"2":{"name":"storage.type.proto"},"3":{"name":"storage.type.proto"},"4":{"name":"variable.other.proto"},"5":{"name":"constant.numeric.proto"}}},"message":{"begin":"(message|extend)(\\s+)([A-Za-z_][A-Za-z0-9_.]*)(\\s*)(\\{)?","end":"\\}","patterns":[{"include":"#reserved"},{"include":"$self"},{"include":"#enum"},{"include":"#optionStmt"},{"include":"#comments"},{"include":"#oneof"},{"include":"#field"},{"include":"#mapfield"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.message.proto"}}},"method":{"begin":"(rpc)\\s+([A-Za-z][A-Za-z0-9_]*)","end":"\\}|;","patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#rpcKeywords"},{"include":"#ident"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.function"}}},"number":{"name":"constant.numeric.proto","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"},"oneof":{"begin":"(oneof)\\s+([A-Za-z][A-Za-z0-9_]*)\\s*\\{?","end":"\\}","patterns":[{"include":"#optionStmt"},{"include":"#comments"},{"include":"#field"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"variable.other.proto"}}},"optionName":{"match":"(\\w+|\\(\\w+(\\.\\w+)*\\))(\\.\\w+)*","captures":{"1":{"name":"support.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"}}},"optionStmt":{"begin":"(option)\\s+(\\w+|\\(\\w+(\\.\\w+)*\\))(\\.\\w+)*\\s*=","end":";","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"},"4":{"name":"support.other.proto"}}},"package":{"match":"\\s*(package)\\s+([\\w.]+)\\s*;","captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"string.unquoted.proto.package"}}},"reserved":{"begin":"(reserved)\\s+","end":";","patterns":[{"match":"(\\d+)(\\s+(to)\\s+(\\d+))?","captures":{"1":{"name":"constant.numeric.proto"},"3":{"name":"keyword.other.proto"},"4":{"name":"constant.numeric.proto"}}},{"include":"#string"}],"beginCaptures":{"1":{"name":"keyword.other.proto"}}},"rpcKeywords":{"name":"keyword.other.proto","match":"\\b(stream|returns)\\b"},"service":{"begin":"(service)\\s+([A-Za-z][A-Za-z0-9_.]*)\\s*\\{?","end":"\\}","patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#method"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.class.message.proto"}}},"storagetypes":{"name":"storage.type.proto","match":"\\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\b"},"string":{"name":"string.quoted.double.proto","match":"('([^']|\\')*')|(\"([^\"]|\\\")*\")"},"subMsgOption":{"begin":"\\{","end":"\\}","patterns":[{"include":"#kv"},{"include":"#comments"}]},"syntax":{"match":"\\s*(syntax)\\s*=\\s*(\"proto[23]\")\\s*;","captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"string.quoted.double.proto.syntax"}}}}}
1
+ {"name":"Protocol Buffer 3","scopeName":"source.proto","patterns":[{"include":"#comments"},{"include":"#syntax"},{"include":"#package"},{"include":"#import"},{"include":"#optionStmt"},{"include":"#message"},{"include":"#enum"},{"include":"#service"}],"repository":{"comments":{"patterns":[{"name":"comment.block.proto","begin":"/\\*","end":"\\*/"},{"name":"comment.line.double-slash.proto","begin":"//","end":"$\\n?"}]},"constants":{"name":"constant.language.proto","match":"\\b(true|false|max|[A-Z_]+)\\b"},"enum":{"begin":"(enum)(\\s+)([A-Za-z][A-Za-z0-9_]*)(\\s*)(\\{)?","end":"\\}","patterns":[{"include":"#reserved"},{"include":"#optionStmt"},{"include":"#comments"},{"begin":"([A-Za-z][A-Za-z0-9_]*)\\s*(=)\\s*(0[xX][0-9a-fA-F]+|[0-9]+)","end":"(;)","patterns":[{"include":"#fieldOptions"}],"beginCaptures":{"1":{"name":"variable.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"constant.numeric.proto"}},"endCaptures":{"1":{"name":"punctuation.terminator.proto"}}}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.proto"}}},"field":{"begin":"\\s*(optional|repeated|required)?\\s*\\b([\\w.]+)\\s+(\\w+)\\s*(=)\\s*(0[xX][0-9a-fA-F]+|[0-9]+)","end":"(;)","patterns":[{"include":"#fieldOptions"}],"beginCaptures":{"1":{"name":"storage.modifier.proto"},"2":{"name":"storage.type.proto"},"3":{"name":"variable.other.proto"},"4":{"name":"keyword.operator.assignment.proto"},"5":{"name":"constant.numeric.proto"}},"endCaptures":{"1":{"name":"punctuation.terminator.proto"}}},"fieldOptions":{"begin":"\\[","end":"\\]","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"},{"include":"#optionName"}]},"ident":{"name":"entity.name.class.proto","match":"[A-Za-z][A-Za-z0-9_]*"},"import":{"match":"\\s*(import)\\s+(weak|public)?\\s*(\"[^\"]+\")\\s*(;)","captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.other.proto"},"3":{"name":"string.quoted.double.proto.import"},"4":{"name":"punctuation.terminator.proto"}}},"kv":{"begin":"(\\w+)\\s*(:)","end":"(;)|,|(?=[}/_a-zA-Z])","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"punctuation.separator.key-value.proto"}},"endCaptures":{"1":{"name":"punctuation.terminator.proto"}}},"mapfield":{"begin":"\\s*(map)\\s*(\u003c)\\s*([\\w.]+)\\s*,\\s*([\\w.]+)\\s*(\u003e)\\s+(\\w+)\\s*(=)\\s*(\\d+)","end":"(;)","patterns":[{"include":"#fieldOptions"}],"beginCaptures":{"1":{"name":"storage.type.proto"},"2":{"name":"punctuation.definition.typeparameters.begin.proto"},"3":{"name":"storage.type.proto"},"4":{"name":"storage.type.proto"},"5":{"name":"punctuation.definition.typeparameters.end.proto"},"6":{"name":"variable.other.proto"},"7":{"name":"keyword.operator.assignment.proto"},"8":{"name":"constant.numeric.proto"}},"endCaptures":{"1":{"name":"punctuation.terminator.proto"}}},"message":{"begin":"(message|extend)(\\s+)([A-Za-z_][A-Za-z0-9_.]*)(\\s*)(\\{)?","end":"\\}","patterns":[{"include":"#reserved"},{"include":"$self"},{"include":"#enum"},{"include":"#optionStmt"},{"include":"#comments"},{"include":"#oneof"},{"include":"#field"},{"include":"#mapfield"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.message.proto"}}},"method":{"begin":"(rpc)\\s+([A-Za-z][A-Za-z0-9_]*)","end":"\\}|(;)","patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#rpcKeywords"},{"include":"#ident"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.function"}},"endCaptures":{"1":{"name":"punctuation.terminator.proto"}}},"number":{"name":"constant.numeric.proto","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"},"oneof":{"begin":"(oneof)\\s+([A-Za-z][A-Za-z0-9_]*)\\s*\\{?","end":"\\}","patterns":[{"include":"#optionStmt"},{"include":"#comments"},{"include":"#field"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"variable.other.proto"}}},"optionName":{"match":"(\\w+|\\(\\w+(\\.\\w+)*\\))(\\.\\w+)*","captures":{"1":{"name":"support.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"}}},"optionStmt":{"begin":"(option)\\s+(\\w+|\\(\\w+(\\.\\w+)*\\))(\\.\\w+)*\\s*(=)","end":"(;)","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"},"4":{"name":"support.other.proto"},"5":{"name":"keyword.operator.assignment.proto"}},"endCaptures":{"1":{"name":"punctuation.terminator.proto"}}},"package":{"match":"\\s*(package)\\s+([\\w.]+)\\s*(;)","captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"string.unquoted.proto.package"},"3":{"name":"punctuation.terminator.proto"}}},"reserved":{"begin":"(reserved)\\s+","end":"(;)","patterns":[{"match":"(\\d+)(\\s+(to)\\s+(\\d+))?","captures":{"1":{"name":"constant.numeric.proto"},"3":{"name":"keyword.other.proto"},"4":{"name":"constant.numeric.proto"}}},{"include":"#string"}],"beginCaptures":{"1":{"name":"keyword.other.proto"}},"endCaptures":{"1":{"name":"punctuation.terminator.proto"}}},"rpcKeywords":{"name":"keyword.other.proto","match":"\\b(stream|returns)\\b"},"service":{"begin":"(service)\\s+([A-Za-z][A-Za-z0-9_.]*)\\s*\\{?","end":"\\}","patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#method"}],"beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.class.message.proto"}}},"storagetypes":{"name":"storage.type.proto","match":"\\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\b"},"string":{"name":"string.quoted.double.proto","match":"('([^']|\\')*')|(\"([^\"]|\\\")*\")"},"subMsgOption":{"begin":"\\{","end":"\\}","patterns":[{"include":"#kv"},{"include":"#comments"}]},"syntax":{"match":"\\s*(syntax)\\s*(=)\\s*(\"proto[23]\")\\s*(;)","captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"string.quoted.double.proto.syntax"},"4":{"name":"punctuation.terminator.proto"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Kivy Language","scopeName":"source.python.kivy","patterns":[{"name":"support.type.kivy","match":"#:.*?$"},{"name":"comment.kivy","match":"#.*?$"},{"name":"support.class.kivy","match":"\\\u003c.+\\\u003e"},{"name":"support.function.kivy","match":"[A-Za-z][A-Za-z0-9]+$"},{"name":"support.function.kivy","match":".*?:$"},{"name":"entity.name.section.kivy","match":"(.*?):$"},{"include":"source.python"}]}