github-linguist 7.14.0 → 7.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +115 -71
  3. data/grammars/annotation.liquidhaskell.haskell.json +1 -1
  4. data/grammars/etc.json +1 -1
  5. data/grammars/go.mod.json +1 -0
  6. data/grammars/go.sum.json +1 -0
  7. data/grammars/hint.haskell.json +1 -1
  8. data/grammars/hint.message.haskell.json +1 -1
  9. data/grammars/hint.type.haskell.json +1 -1
  10. data/grammars/markdown.bicep.codeblock.json +1 -0
  11. data/grammars/markdown.codeblock.proto.json +1 -0
  12. data/grammars/markdown.mcfunction.codeblock.json +1 -0
  13. data/grammars/source.abap.json +1 -1
  14. data/grammars/source.aidl.json +1 -0
  15. data/grammars/source.al.json +1 -1
  16. data/grammars/source.angelscript.json +1 -1
  17. data/grammars/source.avro.json +1 -1
  18. data/grammars/source.ballerina.json +1 -1
  19. data/grammars/source.batchfile.json +1 -1
  20. data/grammars/source.bc.json +1 -0
  21. data/grammars/source.bicep.json +1 -1
  22. data/grammars/source.boo.json +1 -1
  23. data/grammars/source.bp.json +1 -0
  24. data/grammars/source.cil.json +1 -0
  25. data/grammars/source.cirru.json +1 -1
  26. data/grammars/source.cs.json +1 -1
  27. data/grammars/source.csound.json +1 -1
  28. data/grammars/source.css.json +1 -1
  29. data/grammars/source.cue.json +1 -0
  30. data/grammars/source.cuesheet.json +1 -0
  31. data/grammars/source.dart.json +1 -1
  32. data/grammars/source.dc.json +1 -0
  33. data/grammars/source.ditroff.json +1 -1
  34. data/grammars/source.dotenv.json +1 -0
  35. data/grammars/source.ebnf.json +1 -1
  36. data/grammars/source.ecl.json +1 -0
  37. data/grammars/source.ed.json +1 -0
  38. data/grammars/source.fnl.json +1 -0
  39. data/grammars/source.fontforge.json +1 -1
  40. data/grammars/source.fstar.json +1 -1
  41. data/grammars/source.ftl.json +1 -0
  42. data/grammars/source.gcode.json +1 -1
  43. data/grammars/source.gdscript.json +1 -1
  44. data/grammars/source.hack.json +1 -1
  45. data/grammars/source.haskell.json +1 -1
  46. data/grammars/source.hlcode.json +1 -0
  47. data/grammars/source.hsig.json +1 -1
  48. data/grammars/source.hx.json +1 -1
  49. data/grammars/source.hy.json +1 -1
  50. data/grammars/source.jest.snap.json +1 -0
  51. data/grammars/source.jq.json +1 -1
  52. data/grammars/source.json.json +1 -1
  53. data/grammars/source.julia.json +1 -1
  54. data/grammars/source.kakscript.json +1 -0
  55. data/grammars/source.keyvalues.json +1 -0
  56. data/grammars/source.kotlin.json +1 -1
  57. data/grammars/source.lean.json +1 -1
  58. data/grammars/source.m2.json +1 -1
  59. data/grammars/source.matlab.json +1 -1
  60. data/grammars/source.mcfunction.json +1 -1
  61. data/grammars/source.odin.json +1 -1
  62. data/grammars/source.opentype.json +1 -1
  63. data/grammars/source.pegjs.json +1 -0
  64. data/grammars/source.postscript.json +1 -1
  65. data/grammars/source.powershell.json +1 -1
  66. data/grammars/source.proto.json +1 -0
  67. data/grammars/source.purescript.json +1 -1
  68. data/grammars/source.regexp.json +1 -1
  69. data/grammars/source.regexp.oniguruma.json +1 -0
  70. data/grammars/source.rego.json +1 -1
  71. data/grammars/source.renpy.json +1 -1
  72. data/grammars/source.rescript.json +1 -1
  73. data/grammars/source.sed.json +1 -1
  74. data/grammars/source.sepolicy.json +1 -0
  75. data/grammars/source.shellcheckrc.json +1 -0
  76. data/grammars/source.sqf.json +1 -1
  77. data/grammars/source.swift.json +1 -1
  78. data/grammars/source.sy.json +1 -1
  79. data/grammars/source.tm-properties.json +1 -0
  80. data/grammars/source.ts.json +1 -1
  81. data/grammars/source.tsx.json +1 -1
  82. data/grammars/source.v.json +1 -1
  83. data/grammars/source.viml.json +1 -1
  84. data/grammars/source.webassembly.json +1 -1
  85. data/grammars/source.ws.json +1 -0
  86. data/grammars/source.wsd.json +1 -1
  87. data/grammars/source.xojo.json +1 -1
  88. data/grammars/source.yara.json +1 -1
  89. data/grammars/source.yasnippet.json +1 -1
  90. data/grammars/source.zig.json +1 -1
  91. data/grammars/text.html.astro.json +1 -0
  92. data/grammars/text.html.markdown.astro.json +1 -0
  93. data/grammars/text.info.json +1 -0
  94. data/grammars/text.lesshst.json +1 -0
  95. data/grammars/text.marko.json +1 -1
  96. data/grammars/text.sfd.json +1 -1
  97. data/grammars/text.tex.latex.haskell.json +1 -1
  98. data/grammars/text.xml.svg.json +1 -1
  99. data/grammars/textmate.format-string.json +1 -0
  100. data/grammars/version +1 -1
  101. data/lib/linguist/VERSION +1 -1
  102. data/lib/linguist/documentation.yml +1 -0
  103. data/lib/linguist/generated.rb +13 -0
  104. data/lib/linguist/heuristics.rb +6 -2
  105. data/lib/linguist/heuristics.yml +18 -4
  106. data/lib/linguist/language.rb +6 -3
  107. data/lib/linguist/languages.json +1 -1
  108. data/lib/linguist/languages.yml +385 -43
  109. data/lib/linguist/linguist.bundle +0 -0
  110. data/lib/linguist/linguist.so +0 -0
  111. data/lib/linguist/repository.rb +7 -3
  112. data/lib/linguist/samples.json +1 -1
  113. data/lib/linguist/shebang.rb +4 -1
  114. data/lib/linguist/strategy/modeline.rb +4 -0
  115. data/lib/linguist/vendor.yml +3 -0
  116. metadata +36 -5
  117. data/grammars/source.SASLog.json +0 -1
  118. data/grammars/source.mcfunction-snapshot.json +0 -1
  119. data/grammars/source.protobuf.json +0 -1
@@ -1 +1 @@
1
- {"name":"Odin","scopeName":"source.odin","patterns":[{"include":"#comments"},{"include":"#types"},{"include":"#keywords"},{"include":"#functions_and_declarations"},{"include":"#strings"},{"include":"#string_escaped_char"}],"repository":{"block_comment":{"name":"comment.block.odin","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.odin"}}},"comments":{"patterns":[{"include":"#block_comment"},{"name":"invalid.illegal.stray-comment-end.odin","match":"\\*/.*\\n"},{"include":"#line_comment"}]},"functions_and_declarations":{"patterns":[{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*(proc)","captures":{"1":{"name":"meta.function.odin entity.name.function.odin"},"2":{"name":"storage.type.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*(inline|no_inline)\\s+(proc)","captures":{"1":{"name":"meta.function.odin entity.name.function.odin"},"2":{"name":"keyword.control.odin"},"3":{"name":"storage.type.odin"}}},{"match":"\\b(size_of|align_of|offset_of|type_of)\\b\\s*\\(","captures":{"1":{"name":"keyword.function.odin"}}},{"match":"\\b(type_info_of|typeid_of)\\b\\s*\\(","captures":{"1":{"name":"keyword.function.odin"}}},{"match":"(proc|macro)\\s*[\\(]","captures":{"1":{"name":"storage.type.odin"}}},{"match":"(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[!]?\\s*[\\(]","captures":{"1":{"name":"support.function.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*(struct|union|enum|bit_field|bit_set)","captures":{"1":{"name":"meta.type.odin entity.name.type.odin"},"2":{"name":"storage.type.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*([#]\\s*type)","captures":{"1":{"name":"meta.type.odin entity.name.type.odin"},"2":{"name":"keyword.tag.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*","captures":{"1":{"name":"meta.constant.odin entity.name.type.odin"}}}]},"keywords":{"patterns":[{"name":"keyword.control.odin","match":"\\b(import|foreign|package)\\b"},{"name":"keyword.control.odin","match":"\\b(if|else|when|for|in|notin|not_in|defer|switch|return|const|do|where)\\b"},{"name":"keyword.control.odin","match":"\\b(fallthrough|break|continue|case|dynamic)\\b"},{"name":"keyword.control.odin","match":"\\b(using|inline|no_inline)\\b"},{"name":"keyword.control.odin","match":"\\b(asm|yield|await)\\b"},{"name":"keyword.operator.odin","match":"\\b(distinct|opaque)\\b"},{"name":"keyword.operator.odin","match":"\\b(context)\\b"},{"name":"constant.language.odin","match":"\\b(nil|true|false)\\b"},{"name":"constant.numeric.odin","match":"\\b(\\d(\\d|_)*(.\\d(\\d|_)*)?)((e|E)(\\+|-)?\\d+)?[ijk]?\\b"},{"name":"constant.numeric.odin","match":"\\b((0b(0|1|_)+)|(0o(\\d|_)+)|(0d(\\d|_)+)|(0[xXh]([[:xdigit:]]|_)+))[ijk]?\\b"},{"name":"constant.numeric.odin","match":"---"},{"name":"storage.type.odin","match":"\\b(macro|struct|enum|union|map|bit_field|bit_set)\\b"},{"name":"keyword.function.odin","match":"\\b(cast|transmute|auto_cast)\\b"},{"name":"keyword.tag.odin","match":"([#]\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"keyword.tag.odin","match":"(\\x40\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"keyword.tag.odin","match":"(\\x40\\s*[(]\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)\\s*[)]"},{"name":"keyword.operator.odin","match":"@"}]},"line_comment":{"begin":"(^[ \\t]+)?((?=//)|(?=#!))","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.odin","begin":"//","end":"\\n","patterns":[{"name":"punctuation.separator.continuation.odin","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.odin"}}},{"name":"comment.line.double-slash.odin","begin":"#!","end":"\\n","patterns":[{"name":"punctuation.separator.continuation.odin","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.odin"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.odin"}}},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.odin","match":"\\\\(\\\\|[abefnrutv'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|[0-7]{3})"},{"name":"invalid.illegal.unknown-escape.odin","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.quoted.double.odin","begin":"\"","end":"\"","patterns":[{"include":"#string_placeholder"},{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}},{"name":"string.quoted.single.odin","begin":"'","end":"'","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}},{"name":"string.quoted.raw.odin","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}}]},"types":{"patterns":[{"name":"storage.type.odin","match":"\\b(struct|enum|union|bit_field|bit_set)\\b(?:(\\{)(\\}))?"},{"name":"storage.type.odin","match":"\\b(proc)\\b"},{"name":"storage.type.odin","match":"\\$\\s*(\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"storage.type.odin","match":"\\b(i8|i16|i32|i64|i128|int)\\b"},{"name":"storage.type.odin","match":"\\b(u8|u16|u32|u64|u128|uint|uintptr)\\b"},{"name":"storage.type.odin","match":"\\b(f16|f32|f64|f128)\\b"},{"name":"storage.type.odin","match":"\\b(f16le|f32le|f64le|f128le)\\b"},{"name":"storage.type.odin","match":"\\b(f16be|f32be|f64be|f128be)\\b"},{"name":"storage.type.odin","match":"\\b(complex32|complex64|complex128)\\b"},{"name":"storage.type.odin","match":"\\b(quaternion64|quaternion128|quaternion256)\\b"},{"name":"storage.type.odin","match":"\\b(bool|b8|b16|b32|b64)\\b"},{"name":"storage.type.odin","match":"\\b(string|cstring|rune)\\b"},{"name":"storage.type.odin","match":"\\b(rawptr)\\b"},{"name":"storage.type.odin","match":"\\b(any|typeid)\\b"},{"name":"storage.type.odin","match":"\\b(byte)\\b"},{"name":"storage.type.odin","match":"\\b(u16le|u32le|u64le|u128le|i16le|i32le|i64le|i128le)\\b"},{"name":"storage.type.odin","match":"\\b(i16be|i32be|i64be|i128be|u16be|u32be|u64be|u128be)\\b"}]}}}
1
+ {"name":"Odin","scopeName":"source.odin","patterns":[{"include":"#comments"},{"include":"#types"},{"include":"#keywords"},{"include":"#functions_and_declarations"},{"include":"#strings"},{"include":"#string_escaped_char"}],"repository":{"block_comment":{"name":"comment.block.odin","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.odin"}}},"comments":{"patterns":[{"include":"#block_comment"},{"name":"invalid.illegal.stray-comment-end.odin","match":"\\*/.*\\n"},{"include":"#line_comment"}]},"functions_and_declarations":{"patterns":[{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*(proc)","captures":{"1":{"name":"meta.function.odin entity.name.function.odin"},"2":{"name":"storage.type.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*([#]force_inline|[#]force_no_inline)\\s+(proc)","captures":{"1":{"name":"meta.function.odin entity.name.function.odin"},"2":{"name":"keyword.control.odin"},"3":{"name":"storage.type.odin"}}},{"match":"(proc)\\s*[\\(]","captures":{"1":{"name":"storage.type.odin"}}},{"match":"(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[!]?\\s*[\\(]","captures":{"1":{"name":"support.function.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*(struct|union|enum|bit_field|bit_set)","captures":{"1":{"name":"meta.type.odin entity.name.type.odin"},"2":{"name":"storage.type.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*([#]\\s*type)","captures":{"1":{"name":"meta.type.odin entity.name.type.odin"},"2":{"name":"keyword.tag.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*","captures":{"1":{"name":"meta.constant.odin entity.name.type.odin"}}}]},"keywords":{"patterns":[{"name":"keyword.control.odin","match":"\\b(import|foreign|package)\\b"},{"name":"keyword.control.odin","match":"\\b(if|else|when|for|in|not_in|defer|switch|return|const|do|where)\\b"},{"name":"keyword.control.odin","match":"\\b(fallthrough|break|continue|case)\\b"},{"name":"keyword.control.odin","match":"\\b(using)\\b"},{"name":"keyword.control.odin","match":"\\b(asm|or_return|or_else)\\b"},{"name":"keyword.operator.odin","match":"\\b(distinct)\\b"},{"name":"keyword.operator.odin","match":"\\b(context)\\b"},{"name":"constant.language.odin","match":"\\b(nil|true|false)\\b"},{"name":"constant.numeric.odin","match":"\\b(\\d(\\d|_)*(.\\d(\\d|_)*)?)((e|E)(\\+|-)?\\d+)?[ijk]?\\b"},{"name":"constant.numeric.odin","match":"\\b((0b(0|1|_)+)|(0o(\\d|_)+)|(0d(\\d|_)+)|(0[xXh]([[:xdigit:]]|_)+))[ijk]?\\b"},{"name":"constant.numeric.odin","match":"---"},{"name":"storage.type.odin","match":"\\b(struct|enum|union|map|bit_set|dynamic)\\b"},{"name":"keyword.function.odin","match":"\\b(cast|transmute|auto_cast)\\b"},{"name":"keyword.tag.odin","match":"([#]\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"keyword.tag.odin","match":"(\\x40\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"keyword.tag.odin","match":"(\\x40\\s*[(]\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)\\s*[)]"},{"name":"keyword.operator.odin","match":"@"}]},"line_comment":{"begin":"(^[ \\t]+)?((?=//)|(?=#!))","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.odin","begin":"//","end":"\\n","patterns":[{"name":"punctuation.separator.continuation.odin","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.odin"}}},{"name":"comment.line.double-slash.odin","begin":"#!","end":"\\n","patterns":[{"name":"punctuation.separator.continuation.odin","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.odin"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.odin"}}},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.odin","match":"\\\\(\\\\|[abefnrutv'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|[0-7]{3})"},{"name":"invalid.illegal.unknown-escape.odin","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.quoted.double.odin","begin":"\"","end":"\"","patterns":[{"include":"#string_placeholder"},{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}},{"name":"string.quoted.single.odin","begin":"'","end":"'","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}},{"name":"string.quoted.raw.odin","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}}]},"types":{"patterns":[{"name":"storage.type.odin","match":"\\b(struct|enum|union|bit_field|bit_set)\\b(?:(\\{)(\\}))?"},{"name":"storage.type.odin","match":"\\b(proc)\\b"},{"name":"storage.type.odin","match":"\\$\\s*(\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"storage.type.odin","match":"\\b(i8|i16|i32|i64|i128|int)\\b"},{"name":"storage.type.odin","match":"\\b(u8|u16|u32|u64|u128|uint|uintptr)\\b"},{"name":"storage.type.odin","match":"\\b(f16|f32|f64|f128)\\b"},{"name":"storage.type.odin","match":"\\b(f16le|f32le|f64le|f128le)\\b"},{"name":"storage.type.odin","match":"\\b(f16be|f32be|f64be|f128be)\\b"},{"name":"storage.type.odin","match":"\\b(complex32|complex64|complex128)\\b"},{"name":"storage.type.odin","match":"\\b(quaternion64|quaternion128|quaternion256)\\b"},{"name":"storage.type.odin","match":"\\b(bool|b8|b16|b32|b64)\\b"},{"name":"storage.type.odin","match":"\\b(string|cstring|rune)\\b"},{"name":"storage.type.odin","match":"\\b(rawptr)\\b"},{"name":"storage.type.odin","match":"\\b(any|typeid)\\b"},{"name":"storage.type.odin","match":"\\b(byte)\\b"},{"name":"storage.type.odin","match":"\\b(u16le|u32le|u64le|u128le|i16le|i32le|i64le|i128le)\\b"},{"name":"storage.type.odin","match":"\\b(i16be|i32be|i64be|i128be|u16be|u32be|u64be|u128be)\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"OpenType Feature File","scopeName":"source.opentype","patterns":[{"include":"#main"}],"repository":{"blocks":{"patterns":[{"name":"meta.feature.opentype","begin":"(?\u003c=^|[\\s{}])(feature)\\s+(\\w+)(?:\\s+(useExtension))?\\s*({)","end":"(})\\s*(\\2)\\s*(?=[#;]|$)","patterns":[{"name":"keyword.operator.opentype","match":"(?\u003c=^|[\\s{};])sizemenuname(?=[\\s#;]|$)"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.var.feature.opentype"},"2":{"name":"entity.name.feature.opentype"},"3":{"name":"keyword.operator.opentype"},"4":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"},"2":{"name":"entity.name.feature.opentype"}}},{"name":"meta.lookup.opentype","begin":"(?\u003c=^|[\\s{}])(lookup)\\s+((?![\\d.])[A-Za-z0-9._]+)(?:\\s+(useExtension))?\\s*({)","end":"(})\\s*(\\2)\\s*(?=[#;]|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.var.lookup.opentype"},"2":{"name":"entity.name.lookup.opentype"},"3":{"name":"keyword.operator.opentype"},"4":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"},"2":{"name":"entity.name.lookup.opentype"}}},{"name":"meta.table.opentype","begin":"(?\u003c=^|[\\s{};])(table)\\s+([\\w/]+)\\s*({)","end":"(})\\s*(\\2)\\s*(?=[#;]|$)","patterns":[{"name":"keyword.operator.table-field.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(GlyphClassDef|Attach|LigatureCaretBy(?:Dev|Index|Pos)|MarkAttachClass\n|(?:Horiz|Vert)Axis\\.(?:BaseTagList|BaseScriptList|MinMax)|FontRevision\n|CaretOffset|Ascender|Descender|LineGap|Panose|TypoAscender|TypoDescender\n|TypoLineGap|winAscent|winDescent|UnicodeRange|CodePageRange|XHeight|CapHeight\n|Vendor|VertTypoAscender|VertTypoDescender|VertTypoLineGap|VertOriginY|VertAdvanceY)\n(?=[\\s#;]|$)"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.var.table.opentype"},"2":{"name":"entity.name.table.opentype"},"3":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"},"2":{"name":"entity.name.table.opentype"}}},{"contentName":"string.unquoted.heredoc.opentype","begin":"(?\u003c=^|[\\s{};])(anonymous|anon)\\s+([\\w.]+)\\s*({)","end":"(})\\s*(\\2)\\s*(;)","beginCaptures":{"1":{"name":"storage.type.var.opentype"},"2":{"name":"entity.name.anon-tag.opentype"},"3":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"},"2":{"name":"entity.name.anon-tag.opentype"},"3":{"name":"punctuation.terminator.statement.opentype"}}},{"name":"meta.cv-params.opentype","begin":"(?\u003c=^|[\\s{}])(cvParameters)\\s*({)","end":"(})","patterns":[{"name":"meta.cv-param.$1.opentype","begin":"(?\u003c=^|[\\s{}])(FeatUILabelNameID|FeatUITooltipTextNameID|SampleTextNameID|ParamUILabelNameID)\\s*({)","end":"(})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.operator.parameter.opentype"},"2":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"}}},{"name":"keyword.operator.parameter.opentype","match":"(?\u003c=\\s|^)Character(?=\\s|$|#)"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.var.opentype"},"2":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"}}},{"name":"meta.$1.opentype","begin":"(?\u003c=^|[\\s{}])(featureNames)\\s*({)","end":"(})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.var.opentype"},"2":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"}}}]},"comments":{"name":"comment.line.number-sign.opentype","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.opentype"}}},"identifier":{"name":"variable.parameter.opentype","match":"(\\\\)?(@)?(?![\\d.])[A-Za-z0-9._]+","captures":{"1":{"name":"punctuation.definition.backslash.opentype"},"2":{"name":"punctuation.definition.glyph-class.opentype"}}},"inclusion":{"contentName":"string.other.filename.opentype","begin":"\\(","end":"\\)","patterns":[{"include":"#strings"}],"beginCaptures":{"0":{"name":"punctuation.section.bracket.round.begin.opentype"}},"endCaptures":{"0":{"name":"punctuation.section.bracket.round.end.opentype"}}},"keywords":{"patterns":[{"name":"invalid.deprecated.keyword.opentype","match":"(?\u003c=^|[\\s{};])(excludeDFLT|includeDFLT)(?=$|[\\s{}#;])"},{"name":"constant.language.null.opentype","match":"(?\u003c=^|[\\s{};])NULL(?=[\\s{}#;]|$)"},{"name":"storage.type.var.name.opentype","match":"(?\u003c=^|[\\s{};])name(?=[\\s{}#;]|$)"},{"name":"support.constant.language.opentype","match":"(?\u003c![\\w.])\\.notdef(?![\\w.])"},{"name":"storage.modifier.ignore.opentype","match":"(?\u003c=^|[\\s{};])ignore(?=$|[\\s{}\\#;])"},{"name":"keyword.operator.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(anchor|anchorDef|by|contour|cursive|device|enumerate|enum|exclude_dflt|feature|from\n|IgnoreBaseGlyphs|IgnoreLigatures|IgnoreMarks|MarkAttachmentType|UseMarkFilteringSet\n|include|include_dflt|language|languagesystem|lookupflag|mark|markClass|nameid|parameters\n|position|pos|required|RightToLeft|reversesub|rsub|script|substitute|sub|subtable|table\n|useExtension|valueRecordDef|FSType|WeightClass|WidthClass)\n(?=$|[\\s{}\\#(;])"}]},"main":{"patterns":[{"include":"#comments"},{"include":"#target"},{"include":"#blocks"},{"include":"#keywords"},{"include":"#tags"},{"include":"#inclusion"},{"include":"#strings"},{"include":"#number"},{"include":"#punctuation"},{"include":"#identifier"}]},"number":{"patterns":[{"name":"constant.numeric.integer.hex.opentype","match":"(?\u003c!\\w)[-+]?0x[A-Fa-f0-9]+"},{"name":"constant.numeric.integer.opentype","match":"(?\u003c!\\w)[-+]?\\d+"}]},"punctuation":{"patterns":[{"name":"keyword.operator.assignment.opentype","match":"="},{"name":"punctuation.terminator.statement.opentype","match":";"},{"name":"punctuation.separator.list.comma.opentype","match":","},{"name":"punctuation.separator.range.dash.opentype","match":"-"},{"name":"punctuation.definition.context-mark.opentype","match":"'"},{"name":"punctuation.section.bracket.curly.begin.opentype","match":"{"},{"name":"punctuation.section.bracket.curly.end.opentype","match":"}"},{"name":"punctuation.section.bracket.angle.begin.opentype","match":"\u003c"},{"name":"punctuation.section.bracket.angle.end.opentype","match":"\u003e"},{"name":"punctuation.section.bracket.square.begin.opentype","match":"\\["},{"name":"punctuation.section.bracket.square.end.opentype","match":"\\]"},{"name":"punctuation.section.bracket.round.begin.opentype","match":"\\("},{"name":"punctuation.section.bracket.round.end.opentype","match":"\\)"}]},"strings":{"patterns":[{"name":"string.quoted.double.opentype","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.codepoint.opentype","match":"\\\\[A-Fa-f0-9]{1,4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.opentype"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.opentype"}}}]},"tags":{"patterns":[{"name":"support.constant.language.tag.feature.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(aalt|abvf|abvm|abvs|afrc|akhn|blwf|blwm|blws|calt|case|ccmp|cfar|cjct|clig|cpct|cpsp\n|cswh|curs|cv[0-9]{2}|c2pc|c2sc|dist|dlig|dnom|dtls|expt|falt|fin2|fin3|fina|flac|frac\n|fwid|half|haln|halt|hist|hkna|hlig|hngl|hojo|hwid|init|isol|ital|jalt|jp78|jp83|jp90\n|jp04|kern|lfbd|liga|ljmo|lnum|locl|ltra|ltrm|mark|med2|medi|mgrk|mkmk|mset|nalt|nlck\n|nukt|numr|onum|opbd|ordn|ornm|palt|pcap|pkna|pnum|pref|pres|pstf|psts|pwid|qwid|rand\n|rclt|rkrf|rlig|rphf|rtbd|rtla|rtlm|ruby|rvrn|salt|sinf|size|smcp|smpl|ss[0-9]{2}|ssty\n|stch|subs|sups|swsh|titl|tjmo|tnam|tnum|trad|twid|unic|valt|vatu|vert|vhal|vjmo|vkna\n|vkrn|vpal|vrt2|vrtr|zero)\n(?=[\\s#;]|$)"},{"name":"support.constant.language.tag.script.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(arab|armn|avst|bali|bamu|batk|beng|bng2|bopo|brah|brai|bugi|buhd|byzm|cans|cari|cakm\n|cham|cher|hani|copt|cprt|cyrl|DFLT|dsrt|deva|dev2|egyp|ethi|geor|glag|goth|grek|gujr\n|gjr2|guru|gur2|hang|jamo|hano|hebr|kana|armi|phli|prti|java|kthi|knda|knd2|kana|kali\n|khar|khmr|lao|latn|lepc|limb|linb|lisu|lyci|lydi|mlym|mlm2|mand|math|mtei|merc|mero\n|plrd|mong|musc|mymr|mym2|talu|nko|ogam|olck|ital|xpeo|sarb|orkh|orya|ory2|osma|phag\n|phnx|rjng|runr|samr|saur|shrd|shaw|sinh|sora|xsux|sund|sylo|syrc|tglg|tagb|tale|lana\n|tavt|takr|taml|tml2|telu|tel2|thaa|thai|tibt|tfng|ugar|vai|yi)\n(?=[\\s#;]|$)"},{"name":"support.constant.language.tag.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(ARA|APPH|ANG|AMH|ALT|ALS|AKA|AIO|AGW|AFR|AFK|ADY|ACR|ACH|ABK|ABA|BGQ|BGC|BEN|BEM|BEL\n|BDY|BCR|BCH|BBR|BBC|BAU|BAR|BAN|BAL|BAG|BAD0|BAD|AZE|AZB|AYM|AWA|AVR|ATH|AST|ASM|ARK\n|ARI|ARG|CHE|CEB|CBK|CAT|CAK|BUG|BTS|BTI|BSH|BRX|BRM|BRI|BRH|BRE|BPY|BOS|BML|BMB|BLT\n|BLN|BLK|BLI|BKF|BJJ|BIS|BIL|BIK|BHO|BHI|BGR|DEU|DCR|DAX|DAR|DAN|CUK|CTG|CSY|CSL|CSB\n|CRT|CRR|CRE|CPP|COS|COR|COP|CMR|CGG|CHY|CHU|CHA|CHR|CHP|CHO|CHK0|CHK|CHI|CHH|CHG|EWE\n|EVN|EVK|EUQ|ETI|ESU|ESP|ERZ|ENG|EMK|ELL|EFI|EDO|ECR|EBI|DZN|DUN|DUJ|DRI|DNK|DNJ|DNG\n|DJR0|DJR|DIV|DIQ|DHV|DHG|DGR|DGO|GLK|GKP|GIL0|GIL|GIH|GEZ|GAW|GAR|GAL|GAG|GAE|GAD|FUV\n|FUL|FTA|FRP|FRL|FRI|FRC|FRA|FOS|FON|FNE|FLE|FJI|FIN|FAT|FAR|FAN0|FAN|HUN|HRV|HRI|HO\n|HND|HMO|HMN|HMA|HIN|HIL|HER|HBN|HAZ|HAY|HAW|HAU|HAR|HAL|HAI|GUZ|GUJ|GUF|GUC|GUA|GRO\n|GRN|GON|GOG|GNN|GMZ|KAB0|KAB|JUL|JUD|JBO|JAN|JAM|JII|JAV|IWR|ITA|ISM|ISL|IRT|IRI|IPPH\n|IPK|INU|ING|IND|INA|ILO|ILE|IDO|IJO|IBO|IBB|IBA|HYE0|HYE|KMS|KMO|KMN|KMB|KLM|KKN|KJP\n|KJD|KIU|KIS|KIR|KIK|KHW|KHV|KHT|KHS|KHM|KHK|KHA|KGE|KEK|KEB|KEA|KDE|KAZ|KAT|KAR|KAN\n|KAL|KAC|KUY|KUU|KUR|KUM|KUL|KUI|KUA|KSW|KSM|KSI|KSH0|KSH|KRT|KRN|KRM|KRL|KRK|KRI|KPL\n|KOZ|KOS|KOR|KOP|KOM|KON0|KON|KOK|KOH|KOD|KNR|LUB|LUA|LTZ|LTH|LSM|LSB|LRC|LOM|LMW|LMO\n|LMB|LMA|LKI|LJP|LIS|LIN|LIM|LIJ|LEZ|LDK|LCR|LAZ|LAT|LAO|LAM|LAK|LAH|LAD|KYU|KYK|MLG\n|MLE|MKW|MKR|MKD|MIZ|MIN|MFE|MER|MEN|MDR|MDE|MCR|MCH|MBN|MAW|MAR|MAP|MAN|MAM|MAL|MAK\n|MAJ|MAH|MAG|MAD|LVI|LUO|LUH|LUG|NAV|NAU|NAS|NAP|NAN|NAH|NAG|MZN|MYN|MWW|MWL|MUS|MUN\n|MTS|MTH|MRI|MOS|MOR|MON|MOL|MOK|MOH|MNX|MNK|MNI|MNG|MND|MLY|MLR|MLN|ORO|ORI|OJB|OCR\n|OCI|NYN|NYM|NTO|NTA|NSO|NSM|NOV|NOR|NOG|NOE|NLD|NKO|NKL|NIU|NIS|NHC|NGR|NGA|NEW|NEP\n|NDS|NDG|NDC|NDB|NCR|QUH|QUC|QIN|PWO|PTG|PRO|PON|POH|PNB|PMS|PLK|PLG|PIL|PIH|PHK|PGR\n|PDC|PCD|PCC|PAU|PAS|PAP0|PAP|PAN|PAM|PAL|PAG|PAA|OSS|SEK|SCO|SCN|SAY|SAT|SAS|SAN|SAD\n|RUS|RUP|RUN|RUA|RTM|RSY|ROY|ROM|RMY|RMS|RKW|RIT|RIF|RIA|REJ|RBU|RCR|RAR|RAJ|QWH|QVI\n|QUZ|SSM|SSL|SRR|SRK|SRD|SRB|SQI|SOT|SOP|SOG|SNK|SNH|SND|SNA0|SNA|SMO|SML|SLV|SLA|SKY\n|SKS|SIG|SID|SIB|SHN|SHI|SGS|SGO|SGA|SEL|TIV|TIB|THT|THA|TGY|TGR|TGN|TGL|TET|TEL|TDD\n|TCR|TAT|TAM|TAJ|TAB|SZL|SYR|SYL|SXU|SXT|SWZ|SWK|SWA|SVE|SVA|SUR|SUN|SUK|STQ|VIT|VEN\n|VEC|UZB|UYG|USB|URD|UMB|UKR|UDM|TZO|TZM|TYZ|TWI|TVL|TUV|TUM|TUL|TUA|TSG|TRK|TPI|TOD0\n|TOD|TNG|TNE|TNA|TMN|TMH|TKM|ZUL|ZZA|dflt)\n(?=[\\s#;]|$)"},{"name":"support.constant.language.tag.baseline.opentype","match":"(?\u003c=^|[\\s{};])(hang|icfb|icft|ideo|idtp|math|romn)(?=[\\s#;]|$)"}]},"target":{"name":"entity.name.subject.opentype","match":"(\\\\)?(@)?(?![\\d.])[A-Za-z0-9._]+(')","captures":{"1":{"name":"punctuation.definition.backslash.opentype"},"2":{"name":"punctuation.definition.context-mark.opentype"},"3":{"name":"punctuation.definition.glyph-class.opentype"}}}}}
1
+ {"name":"OpenType Feature File","scopeName":"source.opentype","patterns":[{"include":"#main"}],"repository":{"blocks":{"patterns":[{"name":"meta.feature.opentype","begin":"(?\u003c=^|[\\s{}])(feature)\\s+(\\w+)(?:\\s+(useExtension))?\\s*({)","end":"(})\\s*(\\2)\\s*(?=[#;]|$)","patterns":[{"name":"keyword.operator.opentype","match":"(?\u003c=^|[\\s{};])sizemenuname(?=[\\s#;]|$)"},{"include":"#main"}],"beginCaptures":{"1":{"name":"storage.type.var.feature.opentype"},"2":{"name":"entity.name.feature.opentype"},"3":{"name":"keyword.operator.opentype"},"4":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"},"2":{"name":"entity.name.feature.opentype"}}},{"name":"meta.lookup.opentype","begin":"(?\u003c=^|[\\s{}])(lookup)\\s+((?![\\d.])[A-Za-z0-9._]+)(?:\\s+(useExtension))?\\s*({)","end":"(})\\s*(\\2)\\s*(?=[#;]|$)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"storage.type.var.lookup.opentype"},"2":{"name":"entity.name.lookup.opentype"},"3":{"name":"keyword.operator.opentype"},"4":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"},"2":{"name":"entity.name.lookup.opentype"}}},{"name":"meta.table.opentype","begin":"(?\u003c=^|[\\s{};])(table)\\s+([\\w/]+)\\s*({)","end":"(})\\s*(\\2)\\s*(?=[#;]|$)","patterns":[{"name":"keyword.operator.table-field.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(GlyphClassDef|Attach|LigatureCaretBy(?:Dev|Index|Pos)|MarkAttachClass\n|(?:Horiz|Vert)Axis\\.(?:BaseTagList|BaseScriptList|MinMax)|FontRevision\n|CaretOffset|Ascender|Descender|LineGap|Panose|TypoAscender|TypoDescender\n|TypoLineGap|winAscent|winDescent|UnicodeRange|CodePageRange|XHeight|CapHeight\n|Vendor|VertTypoAscender|VertTypoDescender|VertTypoLineGap|VertOriginY|VertAdvanceY)\n(?=[\\s#;]|$)"},{"include":"#main"}],"beginCaptures":{"1":{"name":"storage.type.var.table.opentype"},"2":{"name":"entity.name.table.opentype"},"3":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"},"2":{"name":"entity.name.table.opentype"}}},{"contentName":"string.unquoted.heredoc.opentype","begin":"(?\u003c=^|[\\s{};])(anonymous|anon)\\s+([\\w.]+)\\s*({)","end":"(})\\s*(\\2)\\s*(;)","beginCaptures":{"1":{"name":"storage.type.var.opentype"},"2":{"name":"entity.name.anon-tag.opentype"},"3":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"},"2":{"name":"entity.name.anon-tag.opentype"},"3":{"name":"punctuation.terminator.statement.opentype"}}},{"name":"meta.cv-params.opentype","begin":"(?\u003c=^|[\\s{}])(cvParameters)\\s*({)","end":"(})","patterns":[{"name":"meta.cv-param.$1.opentype","begin":"(?\u003c=^|[\\s{}])(FeatUILabelNameID|FeatUITooltipTextNameID|SampleTextNameID|ParamUILabelNameID)\\s*({)","end":"(})","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.operator.parameter.opentype"},"2":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"}}},{"name":"keyword.operator.parameter.opentype","match":"(?\u003c=\\s|^)Character(?=\\s|$|#)"},{"include":"#main"}],"beginCaptures":{"1":{"name":"storage.type.var.opentype"},"2":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"}}},{"name":"meta.$1.opentype","begin":"(?\u003c=^|[\\s{}])(featureNames)\\s*({)","end":"(})","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"storage.type.var.opentype"},"2":{"name":"punctuation.section.bracket.curly.begin.opentype"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.curly.end.opentype"}}}]},"comments":{"name":"comment.line.number-sign.opentype","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.opentype"}}},"identifier":{"name":"variable.parameter.opentype","match":"(\\\\)?(@)?(?![\\d.])[A-Za-z0-9._]+","captures":{"1":{"name":"punctuation.definition.backslash.opentype"},"2":{"name":"punctuation.definition.glyph-class.opentype"}}},"inclusion":{"contentName":"string.other.filename.opentype","begin":"\\(","end":"\\)","patterns":[{"include":"#strings"}],"beginCaptures":{"0":{"name":"punctuation.section.bracket.round.begin.opentype"}},"endCaptures":{"0":{"name":"punctuation.section.bracket.round.end.opentype"}}},"keywords":{"patterns":[{"name":"invalid.deprecated.keyword.opentype","match":"(?\u003c=^|[\\s{};])(excludeDFLT|includeDFLT)(?=$|[\\s{}#;])"},{"name":"constant.language.null.opentype","match":"(?\u003c=^|[\\s{};])NULL(?=[\\s{}#;]|$)"},{"name":"storage.type.var.name.opentype","match":"(?\u003c=^|[\\s{};])name(?=[\\s{}#;]|$)"},{"name":"support.constant.language.opentype","match":"(?\u003c![\\w.])\\.notdef(?![\\w.])"},{"name":"storage.modifier.ignore.opentype","match":"(?\u003c=^|[\\s{};])ignore(?=$|[\\s{}\\#;])"},{"name":"keyword.operator.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(anchor|anchorDef|by|contour|cursive|device|enumerate|enum|exclude_dflt|feature|from\n|IgnoreBaseGlyphs|IgnoreLigatures|IgnoreMarks|MarkAttachmentType|UseMarkFilteringSet\n|include|include_dflt|language|languagesystem|lookupflag|mark|markClass|nameid|parameters\n|position|pos|required|RightToLeft|reversesub|rsub|script|substitute|sub|subtable|table\n|useExtension|valueRecordDef|FSType|WeightClass|WidthClass)\n(?=$|[\\s{}\\#(;])"}]},"main":{"patterns":[{"include":"#comments"},{"include":"#target"},{"include":"#blocks"},{"include":"#keywords"},{"include":"#tags"},{"include":"#inclusion"},{"include":"#strings"},{"include":"#number"},{"include":"#punctuation"},{"include":"#identifier"}]},"number":{"patterns":[{"name":"constant.numeric.integer.hex.opentype","match":"(?\u003c!\\w)[-+]?0x[A-Fa-f0-9]+"},{"name":"constant.numeric.integer.opentype","match":"(?\u003c!\\w)[-+]?\\d+"}]},"punctuation":{"patterns":[{"name":"keyword.operator.assignment.opentype","match":"="},{"name":"punctuation.terminator.statement.opentype","match":";"},{"name":"punctuation.separator.list.comma.opentype","match":","},{"name":"punctuation.separator.range.dash.opentype","match":"-"},{"name":"punctuation.definition.context-mark.opentype","match":"'"},{"name":"punctuation.section.bracket.curly.begin.opentype","match":"{"},{"name":"punctuation.section.bracket.curly.end.opentype","match":"}"},{"name":"punctuation.section.bracket.angle.begin.opentype","match":"\u003c"},{"name":"punctuation.section.bracket.angle.end.opentype","match":"\u003e"},{"name":"punctuation.section.bracket.square.begin.opentype","match":"\\["},{"name":"punctuation.section.bracket.square.end.opentype","match":"\\]"},{"name":"punctuation.section.bracket.round.begin.opentype","match":"\\("},{"name":"punctuation.section.bracket.round.end.opentype","match":"\\)"}]},"strings":{"patterns":[{"name":"string.quoted.double.opentype","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.codepoint.opentype","match":"\\\\[A-Fa-f0-9]{1,4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.opentype"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.opentype"}}}]},"tags":{"patterns":[{"name":"support.constant.language.tag.feature.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(aalt|abvf|abvm|abvs|afrc|akhn|blwf|blwm|blws|calt|case|ccmp|cfar|cjct|clig|cpct|cpsp\n|cswh|curs|cv[0-9]{2}|c2pc|c2sc|dist|dlig|dnom|dtls|expt|falt|fin2|fin3|fina|flac|frac\n|fwid|half|haln|halt|hist|hkna|hlig|hngl|hojo|hwid|init|isol|ital|jalt|jp78|jp83|jp90\n|jp04|kern|lfbd|liga|ljmo|lnum|locl|ltra|ltrm|mark|med2|medi|mgrk|mkmk|mset|nalt|nlck\n|nukt|numr|onum|opbd|ordn|ornm|palt|pcap|pkna|pnum|pref|pres|pstf|psts|pwid|qwid|rand\n|rclt|rkrf|rlig|rphf|rtbd|rtla|rtlm|ruby|rvrn|salt|sinf|size|smcp|smpl|ss[0-9]{2}|ssty\n|stch|subs|sups|swsh|titl|tjmo|tnam|tnum|trad|twid|unic|valt|vatu|vert|vhal|vjmo|vkna\n|vkrn|vpal|vrt2|vrtr|zero)\n(?=[\\s#;]|$)"},{"name":"support.constant.language.tag.script.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(arab|armn|avst|bali|bamu|batk|beng|bng2|bopo|brah|brai|bugi|buhd|byzm|cans|cari|cakm\n|cham|cher|hani|copt|cprt|cyrl|DFLT|dsrt|deva|dev2|egyp|ethi|geor|glag|goth|grek|gujr\n|gjr2|guru|gur2|hang|jamo|hano|hebr|kana|armi|phli|prti|java|kthi|knda|knd2|kana|kali\n|khar|khmr|lao|latn|lepc|limb|linb|lisu|lyci|lydi|mlym|mlm2|mand|math|mtei|merc|mero\n|plrd|mong|musc|mymr|mym2|talu|nko|ogam|olck|ital|xpeo|sarb|orkh|orya|ory2|osma|phag\n|phnx|rjng|runr|samr|saur|shrd|shaw|sinh|sora|xsux|sund|sylo|syrc|tglg|tagb|tale|lana\n|tavt|takr|taml|tml2|telu|tel2|thaa|thai|tibt|tfng|ugar|vai|yi)\n(?=[\\s#;]|$)"},{"name":"support.constant.language.tag.opentype","match":"(?x) (?\u003c=^|[\\s{};])\n(ARA|APPH|ANG|AMH|ALT|ALS|AKA|AIO|AGW|AFR|AFK|ADY|ACR|ACH|ABK|ABA|BGQ|BGC|BEN|BEM|BEL\n|BDY|BCR|BCH|BBR|BBC|BAU|BAR|BAN|BAL|BAG|BAD0|BAD|AZE|AZB|AYM|AWA|AVR|ATH|AST|ASM|ARK\n|ARI|ARG|CHE|CEB|CBK|CAT|CAK|BUG|BTS|BTI|BSH|BRX|BRM|BRI|BRH|BRE|BPY|BOS|BML|BMB|BLT\n|BLN|BLK|BLI|BKF|BJJ|BIS|BIL|BIK|BHO|BHI|BGR|DEU|DCR|DAX|DAR|DAN|CUK|CTG|CSY|CSL|CSB\n|CRT|CRR|CRE|CPP|COS|COR|COP|CMR|CGG|CHY|CHU|CHA|CHR|CHP|CHO|CHK0|CHK|CHI|CHH|CHG|EWE\n|EVN|EVK|EUQ|ETI|ESU|ESP|ERZ|ENG|EMK|ELL|EFI|EDO|ECR|EBI|DZN|DUN|DUJ|DRI|DNK|DNJ|DNG\n|DJR0|DJR|DIV|DIQ|DHV|DHG|DGR|DGO|GLK|GKP|GIL0|GIL|GIH|GEZ|GAW|GAR|GAL|GAG|GAE|GAD|FUV\n|FUL|FTA|FRP|FRL|FRI|FRC|FRA|FOS|FON|FNE|FLE|FJI|FIN|FAT|FAR|FAN0|FAN|HUN|HRV|HRI|HO\n|HND|HMO|HMN|HMA|HIN|HIL|HER|HBN|HAZ|HAY|HAW|HAU|HAR|HAL|HAI|GUZ|GUJ|GUF|GUC|GUA|GRO\n|GRN|GON|GOG|GNN|GMZ|KAB0|KAB|JUL|JUD|JBO|JAN|JAM|JII|JAV|IWR|ITA|ISM|ISL|IRT|IRI|IPPH\n|IPK|INU|ING|IND|INA|ILO|ILE|IDO|IJO|IBO|IBB|IBA|HYE0|HYE|KMS|KMO|KMN|KMB|KLM|KKN|KJP\n|KJD|KIU|KIS|KIR|KIK|KHW|KHV|KHT|KHS|KHM|KHK|KHA|KGE|KEK|KEB|KEA|KDE|KAZ|KAT|KAR|KAN\n|KAL|KAC|KUY|KUU|KUR|KUM|KUL|KUI|KUA|KSW|KSM|KSI|KSH0|KSH|KRT|KRN|KRM|KRL|KRK|KRI|KPL\n|KOZ|KOS|KOR|KOP|KOM|KON0|KON|KOK|KOH|KOD|KNR|LUB|LUA|LTZ|LTH|LSM|LSB|LRC|LOM|LMW|LMO\n|LMB|LMA|LKI|LJP|LIS|LIN|LIM|LIJ|LEZ|LDK|LCR|LAZ|LAT|LAO|LAM|LAK|LAH|LAD|KYU|KYK|MLG\n|MLE|MKW|MKR|MKD|MIZ|MIN|MFE|MER|MEN|MDR|MDE|MCR|MCH|MBN|MAW|MAR|MAP|MAN|MAM|MAL|MAK\n|MAJ|MAH|MAG|MAD|LVI|LUO|LUH|LUG|NAV|NAU|NAS|NAP|NAN|NAH|NAG|MZN|MYN|MWW|MWL|MUS|MUN\n|MTS|MTH|MRI|MOS|MOR|MON|MOL|MOK|MOH|MNX|MNK|MNI|MNG|MND|MLY|MLR|MLN|ORO|ORI|OJB|OCR\n|OCI|NYN|NYM|NTO|NTA|NSO|NSM|NOV|NOR|NOG|NOE|NLD|NKO|NKL|NIU|NIS|NHC|NGR|NGA|NEW|NEP\n|NDS|NDG|NDC|NDB|NCR|QUH|QUC|QIN|PWO|PTG|PRO|PON|POH|PNB|PMS|PLK|PLG|PIL|PIH|PHK|PGR\n|PDC|PCD|PCC|PAU|PAS|PAP0|PAP|PAN|PAM|PAL|PAG|PAA|OSS|SEK|SCO|SCN|SAY|SAT|SAS|SAN|SAD\n|RUS|RUP|RUN|RUA|RTM|RSY|ROY|ROM|RMY|RMS|RKW|RIT|RIF|RIA|REJ|RBU|RCR|RAR|RAJ|QWH|QVI\n|QUZ|SSM|SSL|SRR|SRK|SRD|SRB|SQI|SOT|SOP|SOG|SNK|SNH|SND|SNA0|SNA|SMO|SML|SLV|SLA|SKY\n|SKS|SIG|SID|SIB|SHN|SHI|SGS|SGO|SGA|SEL|TIV|TIB|THT|THA|TGY|TGR|TGN|TGL|TET|TEL|TDD\n|TCR|TAT|TAM|TAJ|TAB|SZL|SYR|SYL|SXU|SXT|SWZ|SWK|SWA|SVE|SVA|SUR|SUN|SUK|STQ|VIT|VEN\n|VEC|UZB|UYG|USB|URD|UMB|UKR|UDM|TZO|TZM|TYZ|TWI|TVL|TUV|TUM|TUL|TUA|TSG|TRK|TPI|TOD0\n|TOD|TNG|TNE|TNA|TMN|TMH|TKM|ZUL|ZZA|dflt)\n(?=[\\s#;]|$)"},{"name":"support.constant.language.tag.baseline.opentype","match":"(?\u003c=^|[\\s{};])(hang|icfb|icft|ideo|idtp|math|romn)(?=[\\s#;]|$)"}]},"target":{"name":"entity.name.subject.opentype","match":"(\\\\)?(@)?(?![\\d.])[A-Za-z0-9._]+(')","captures":{"1":{"name":"punctuation.definition.backslash.opentype"},"2":{"name":"punctuation.definition.context-mark.opentype"},"3":{"name":"punctuation.definition.glyph-class.opentype"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"PEG.js","scopeName":"source.pegjs","patterns":[{"begin":"\\A\\s*(?=$|/[/*])","end":"(?=[^/\\s]|/[^/*])","patterns":[{"include":"#comments"}]},{"begin":"(?=\\S)","end":"(?=A)B","patterns":[{"name":"meta.prologue.initialiser.pegjs","begin":"\\G(?={)","end":"(?\u003c=})","patterns":[{"include":"#block"}]},{"include":"#main"}]}],"repository":{"block":{"name":"meta.block.pegjs","contentName":"source.embedded.js","begin":"{","end":"}","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"punctuation.section.block.bracket.curly.begin.pegjs"}},"endCaptures":{"0":{"name":"punctuation.section.block.bracket.curly.end.pegjs"}}},"charSet":{"begin":"(?=\\[)","end":"(?\u003c=\\])(i)?","patterns":[{"include":"source.js.regexp"}],"endCaptures":{"1":{"name":"storage.modifier.ignore-case.pegjs"}}},"comments":{"patterns":[{"name":"comment.line.double-slash.pegjs","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.pegjs"}}},{"name":"comment.block.pegjs","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.pegjs"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.pegjs"}}}]},"exprInnards":{"patterns":[{"include":"#strings"},{"include":"#label"},{"include":"#ruleRef"},{"include":"#charSet"},{"include":"#comments"},{"include":"#group"},{"include":"#block"},{"name":"keyword.operator.logical.or.pegjs","match":"/"},{"name":"constant.character.wildcard.dot.match.any.pegjs","match":"\\."},{"name":"keyword.operator.pluck.pegjs","match":"@"},{"name":"keyword.operator.logical.predicate.pegjs","match":"[\u0026!]"},{"name":"keyword.operator.quantifier.pegjs","match":"[?*+]"}]},"group":{"name":"meta.group.pegjs","begin":"\\(","end":"\\)","patterns":[{"include":"#exprInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.pegjs"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.pegjs"}}},"label":{"match":"(?!\\d)([$\\w]+)\\s*(:)","captures":{"1":{"name":"variable.label.pegjs"},"2":{"name":"punctuation.definition.label.pegjs"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#rule"}]},"rule":{"begin":"(?!\\d)(?=[$\\w])","end":"(?!\\G)","patterns":[{"name":"meta.rule.$1.definition.pegjs","begin":"\\G([$\\w]+)","end":"\\s*(;)|(?=^\\s*(?:[^@$\\w\\s\\\\]|[$\\w]+(?!\\s*:)))","patterns":[{"name":"meta.rule.human-readable-name.pegjs","begin":"(?=\"|')","end":"(?!\\G)","patterns":[{"include":"#strings"}]},{"name":"meta.expression.pegjs","begin":"\\s*(=)\\s*","end":"(?=;|^(?=\\s*(?![$\\w]+\\s*:|/[^*/])[^\\s/\"'{]))","patterns":[{"include":"#exprInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.pegjs"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"entity.name.rule.pegjs"}},"endCaptures":{"1":{"name":"punctuation.delimiter.separator.semicolon.pegjs"}},"applyEndPatternLast":true},{"include":"#comments"}]},"ruleRef":{"name":"entity.name.rule.reference.pegjs","match":"(?!\\d)[$\\w]+"},"strings":{"patterns":[{"name":"string.quoted.double.pegjs","begin":"\"","end":"(?\u003c![^\\\\]\\\\)(\")(i)?","patterns":[{"include":"source.js#string_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pegjs"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.pegjs"},"2":{"name":"storage.modifier.ignore-case.pegjs"}}},{"name":"string.quoted.single.pegjs","begin":"'","end":"(?\u003c![^\\\\]\\\\)(')(i)?","patterns":[{"include":"source.js#string_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pegjs"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.pegjs"},"2":{"name":"storage.modifier.ignore-case.pegjs"}}}]}}}
@@ -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"}}}]},"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":"#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":{"name":"keyword.operator.postscript","match":"(?x) (?\u003c![^/\\s{}()\u003c\u003e\\[\\]%]) \\b\n( FontDirectory\n| GetHalftoneName\n| GetPageDeviceName\n| GetSubstituteCRD\n| GlobalFontDirectory\n| ISOLatin1Encoding\n| SharedFontDirectory\n| StandardEncoding\n| StartData\n| UserObjects\n| VMerror\n| abs\n| addglyph\n| add\n| aload\n| anchorsearch\n| and\n| arcn\n| arcto\n| arct\n| arc\n| array\n| ashow\n| astore\n| atan\n| awidthshow\n| beginbfchar\n| beginbfrange\n| begincidchar\n| begincidrange\n| begincmap\n| begincodespacerange\n| beginnotdefchar\n| beginnotdefrange\n| beginrearrangedfont\n| beginusematrix\n| begin\n| bind\n| bitshift\n| bytesavailable\n| cachestatus\n| ceiling\n| charpath\n| cleardictstack\n| cleartomark\n| clear\n| clippath\n| cliprestore\n| clipsave\n| clip\n| closefile\n| closepath\n| colorimage\n| composefont\n| concatmatrix\n| concat\n| condition\n| configurationerror\n| copypage\n| copy\n| cos\n| countdictstack\n| countexecstack\n| counttomark\n| count\n| cshow\n| currentblackgeneration\n| currentcacheparams\n| currentcmykcolor\n| currentcolorrendering\n| currentcolorscreen\n| currentcolorspace\n| currentcolortransfer\n| currentcolor\n| currentcontext\n| currentdash\n| currentdevparams\n| currentdict\n| currentfile\n| currentflat\n| currentfont\n| currentglobal\n| currentgray\n| currentgstate\n| currenthalftonephase\n| currenthalftone\n| currenthsbcolor\n| currentlinecap\n| currentlinejoin\n| currentlinewidth\n| currentmatrix\n| currentmiterlimit\n| currentobjectformat\n| currentoverprint\n| currentpacking\n| currentpagedevice\n| currentpoint\n| currentrgbcolor\n| currentscreen\n| currentshared\n| currentsmoothness\n| currentstrokeadjust\n| currentsystemparams\n| currenttransfer\n| currenttrapparams\n| currentundercolorremoval\n| currentuserparams\n| curveto\n| cvi\n| cvlit\n| cvn\n| cvrs\n| cvr\n| cvs\n| cvx\n| defaultmatrix\n| definefont\n| defineresource\n| defineusername\n| defineuserobject\n| def\n| deletefile\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| endbfchar\n| endbfrange\n| endcidchar\n| endcidrange\n| endcmap\n| endcodespacerange\n| endnotdefchar\n| endnotdefrange\n| endrearrangedfont\n| endusematrix\n| end\n| eoclip\n| eofill\n| eoviewclip\n| eq\n| erasepage\n| errordict\n| exch\n| execform\n| execstackoverflow\n| execstack\n| execuserobject\n| executeonly\n| executive\n| exec\n| exitserver\n| exit\n| exp\n| false\n| filenameforall\n| fileposition\n| file\n| fill\n| filter\n| findcolorrendering\n| findencoding\n| findfont\n| findresource\n| flattenpath\n| floor\n| flushfile\n| flush\n| forall\n| fork\n| for\n| gcheck\n| getinterval\n| get\n| ge\n| globaldict\n| glyphshow\n| grestoreall\n| grestore\n| gsave\n| gstate\n| gt\n| handleerror\n| identmatrix\n| idiv\n| idtransform\n| ifelse\n| if\n| imagemask\n| image\n| index\n| ineofill\n| infill\n| initclip\n| initgraphics\n| initmatrix\n| initviewclip\n| instroke\n| internaldict\n| interrupt\n| inueofill\n| inufill\n| inustroke\n| invalidaccess\n| invalidcontext\n| invalidexit\n| invalidfileaccess\n| invalidfont\n| invalidid\n| invalidrestore\n| invertmatrix\n| ioerror\n| itransform\n| join\n| known\n| kshow\n| languagelevel\n| length\n| le\n| limitcheck\n| lineto\n| ln\n| load\n| lock\n| log\n| loop\n| lt\n| makefont\n| makepattern\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| packedarray\n| pathbbox\n| pathforall\n| pdfmark\n| pop\n| printobject\n| print\n| product\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| realtime\n| rectclip\n| rectfill\n| rectstroke\n| rectviewclip\n| removeall\n| removeglyphs\n| renamefile\n| repeat\n| resetfile\n| resourceforall\n| resourcestatus\n| restore\n| reversepath\n| revision\n| rlineto\n| rmoveto\n| roll\n| rootfont\n| rotate\n| round\n| rrand\n| run\n| save\n| scalefont\n| scale\n| scheck\n| search\n| selectfont\n| serialnumber\n| serverdict\n| setbbox\n| setblackgeneration\n| setcachedevice2\n| setcachedevice\n| setcachelimit\n| setcacheparams\n| setcharwidth\n| setcmykcolor\n| setcolorrendering\n| setcolorscreen\n| setcolorspace\n| setcolortransfer\n| setcolor\n| setdash\n| setdevparams\n| setfileposition\n| setflat\n| setfont\n| setglobal\n| setgray\n| setgstate\n| sethalftonephase\n| sethalftone\n| sethsbcolor\n| setlinecap\n| setlinejoin\n| setlinewidth\n| setmatrix\n| setmiterlimit\n| setobjectformat\n| setoverprint\n| setpacking\n| setpagedevice\n| setpattern\n| setrgbcolor\n| setscreen\n| setshared\n| setsmoothness\n| setstrokeadjust\n| setsystemparams\n| settransfer\n| settrapparams\n| settrapzone\n| setucacheparams\n| setundercolorremoval\n| setuserparams\n| setvmthreshold\n| shareddict\n| shfill\n| showpage\n| show\n| sin\n| sqrt\n| srand\n| stackoverflow\n| stackunderflow\n| stack\n| startjob\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| uappend\n| ucachestatus\n| ucache\n| ueofill\n| ufill\n| undefinedfilename\n| undefinedresource\n| undefinedresult\n| undefined\n| undefinefont\n| undefineresource\n| undefineuserobject\n| undef\n| unmatchedmark\n| unregistered\n| upath\n| usecmap\n| usefont\n| userdict\n| usertime\n| ustrokepath\n| ustroke\n| version\n| viewclippath\n| viewclip\n| vmreclaim\n| vmstatus\n| wait\n| wcheck\n| where\n| widthshow\n| writehexstring\n| writeobject\n| writestring\n| write\n| wtranslation\n| xcheck\n| xor\n| xshow\n| xyshow\n| yield\n| yshow\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]+"},"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":[{"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"}]},{"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 +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":"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 +1 @@
1
- {"name":"PureScript","scopeName":"source.purescript","patterns":[{"name":"keyword.operator.function.infix.purescript","match":"(`)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(`)","captures":{"1":{"name":"punctuation.definition.entity.purescript"},"2":{"name":"punctuation.definition.entity.purescript"}}},{"name":"meta.declaration.module.purescript","begin":"\\b(module)(?!')\\b","end":"(where)","patterns":[{"include":"#comments"},{"include":"#module_name"},{"include":"#module_exports"},{"name":"invalid.purescript","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.declaration.typeclass.purescript","begin":"\\b(class)(?!')\\b","end":"\\b(where)\\b|$","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"storage.type.class.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.declaration.instance.purescript","contentName":"meta.type-signature.purescript","begin":"\\b(else\\s+)?(instance)(?!')\\b","end":"\\b(where)\\b|$","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"keyword.other.purescript"},"2":{"name":"keyword.other.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.foreign.data.purescript","contentName":"meta.kind-signature.purescript","begin":"^(\\s*)(foreign)\\s+(import)\\s+(data)\\s+([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#kind_signature"}],"beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"},"5":{"name":"entity.name.type.purescript"},"6":{"name":"keyword.other.double-colon.purescript"}}},{"name":"meta.foreign.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s*)(foreign)\\s+(import)\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"entity.name.function.purescript"}}},{"name":"meta.import.purescript","begin":"\\b(import)(?!')\\b","end":"($|(?=--))","patterns":[{"include":"#module_name"},{"include":"#module_exports"},{"match":"\\b(as|hiding)\\b","captures":{"1":{"name":"keyword.other.purescript"}}}],"beginCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.declaration.type.data.purescript","begin":"^(\\s)*(data|newtype)\\s+(.+?)\\s*(?=\\=|$)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#comments"},{"match":"=","captures":{"0":{"name":"keyword.operator.assignment.purescript"}}},{"match":"(?:(?:\\b([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cctorArgs\u003e(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|-\u003e|=\u003e)+\\s*)+))(?:\\s*(?:\\s+)\\s*\\g\u003cctorArgs\u003e)?)?))","captures":{"1":{"patterns":[{"include":"#data_ctor"}]},"2":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"match":"\\|","captures":{"0":{"name":"punctuation.separator.pipe.purescript"}}},{"include":"#record_types"}],"beginCaptures":{"2":{"name":"storage.type.data.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"name":"meta.declaration.type.type.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s)*(type)\\s+(.+?)\\s*(?=\\=|$)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"match":"=","captures":{"0":{"name":"keyword.operator.assignment.purescript"}}},{"include":"#type_signature"},{"include":"#record_types"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"storage.type.data.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"name":"keyword.other.purescript","match":"\\b(derive|where|data|type|newtype|infix[lr]?|foreign)(?!')\\b"},{"name":"entity.name.function.typed-hole.purescript","match":"\\?(?:[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)"},{"name":"storage.type.purescript","match":"\\b(data|type|newtype)(?!')\\b"},{"name":"keyword.control.purescript","match":"\\b(do|ado|if|then|else|case|of|let|in)(?!')\\b"},{"name":"constant.numeric.hex.purescript","match":"\\b(?\u003c!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)"},{"name":"constant.numeric.decimal.purescript","match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+\\b(?!\\.)) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.purescript"},"1":{"name":"meta.delimiter.decimal.period.purescript"},"2":{"name":"meta.delimiter.decimal.period.purescript"},"3":{"name":"meta.delimiter.decimal.period.purescript"},"4":{"name":"meta.delimiter.decimal.period.purescript"},"5":{"name":"meta.delimiter.decimal.period.purescript"},"6":{"name":"meta.delimiter.decimal.period.purescript"}}},{"name":"constant.language.boolean.purescript","match":"\\b(true|false)\\b"},{"name":"constant.numeric.purescript","match":"\\b(([0-9]+_?)*[0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{"name":"string.quoted.triple.purescript","begin":"\"\"\"","end":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}}},{"name":"string.quoted.double.purescript","begin":"\"","end":"\"","patterns":[{"include":"#characters"},{"begin":"\\\\\\s","end":"\\\\","patterns":[{"name":"invalid.illegal.character-not-allowed-here.purescript","match":"\\S+"}],"beginCaptures":{"0":{"name":"markup.other.escape.newline.begin.purescript"}},"endCaptures":{"0":{"name":"markup.other.escape.newline.end.purescript"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}}},{"name":"markup.other.escape.newline.purescript","match":"\\\\$"},{"name":"string.quoted.single.purescript","match":"(')((?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_])))(')","captures":{"1":{"name":"punctuation.definition.string.begin.purescript"},"2":{"patterns":[{"include":"#characters"}]},"7":{"name":"punctuation.definition.string.end.purescript"}}},{"include":"#function_type_declaration"},{"match":"\\((?\u003cparen\u003e(?:[^()]|\\(\\g\u003cparen\u003e\\))*)(::|∷)(?\u003cparen2\u003e(?:[^()]|\\(\\g\u003cparen2\u003e\\))*)\\)","captures":{"1":{"patterns":[{"include":"$self"}]},"2":{"name":"keyword.other.double-colon.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"begin":"^(\\s*)(?:(::|∷))","end":"^(?!\\1[ \\t]*|[ \\t]*$)","patterns":[{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"keyword.other.double-colon.purescript"}}},{"include":"#data_ctor"},{"include":"#comments"},{"include":"#infix_op"},{"name":"keyword.other.arrow.purescript","match":"\\\u003c-|-\\\u003e"},{"name":"keyword.operator.purescript","match":"[\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+"},{"name":"punctuation.separator.comma.purescript","match":","}],"repository":{"block_comment":{"patterns":[{"name":"comment.block.documentation.purescript","begin":"\\{-\\s*\\|","end":"-\\}","patterns":[{"include":"#block_comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"applyEndPatternLast":true},{"name":"comment.block.purescript","begin":"\\{-","end":"-\\}","patterns":[{"include":"#block_comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}},"applyEndPatternLast":true}]},"characters":{"patterns":[{"match":"(?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))","captures":{"1":{"name":"constant.character.escape.purescript"},"2":{"name":"constant.character.escape.octal.purescript"},"3":{"name":"constant.character.escape.hexadecimal.purescript"},"4":{"name":"constant.character.escape.control.purescript"}}}]},"class_constraint":{"patterns":[{"name":"meta.class-constraint.purescript","match":"(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g\u003cclassConstraint\u003e)?)))","captures":{"1":{"patterns":[{"name":"entity.name.type.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"2":{"patterns":[{"include":"#type_name"},{"include":"#generic_type"}]}}}]},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=--+\\s+\\|)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.documentation.purescript","begin":"(--+)\\s+(\\|)","end":"\\n","beginCaptures":{"1":{"name":"punctuation.definition.comment.purescript"},"2":{"name":"punctuation.definition.comment.documentation.purescript"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.purescript"}}},{"begin":"(^[ \\t]+)?(?=--+(?![\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]))","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.purescript","begin":"--","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.purescript"}}},{"include":"#block_comment"}]},"data_ctor":{"patterns":[{"name":"entity.name.tag.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"double_colon":{"patterns":[{"name":"keyword.other.double-colon.purescript","match":"(?:::|∷)"}]},"function_type_declaration":{"patterns":[{"name":"meta.function.type-declaration.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s*)([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(?:(::|∷)(?!.*\u003c-))","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"entity.name.function.purescript"},"3":{"name":"keyword.other.double-colon.purescript"}}}]},"generic_type":{"patterns":[{"name":"variable.other.generic-type.purescript","match":"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"}]},"infix_op":{"patterns":[{"name":"entity.name.function.infix.purescript","match":"(?:\\((?!--+\\))[\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+\\))"}]},"kind_signature":{"patterns":[{"name":"keyword.other.star.purescript","match":"\\*"},{"name":"keyword.other.exclaimation-point.purescript","match":"!"},{"name":"keyword.other.pound-sign.purescript","match":"#"},{"name":"keyword.other.arrow.purescript","match":"-\u003e|→"}]},"module_exports":{"patterns":[{"name":"meta.declaration.exports.purescript","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"entity.name.function.purescript","match":"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"},{"include":"#type_name"},{"name":"punctuation.separator.comma.purescript","match":","},{"include":"#infix_op"},{"name":"meta.other.constructor-list.purescript","match":"\\(.*?\\)"}]}]},"module_name":{"patterns":[{"name":"support.other.module.purescript","match":"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)*[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.?"}]},"record_field_declaration":{"patterns":[{"name":"meta.record-field.type-declaration.purescript","contentName":"meta.type-signature.purescript","begin":"([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)","end":"(?=([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)|})","patterns":[{"include":"#type_signature"},{"include":"#record_types"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.other.attribute-name.purescript","match":"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"}]},"2":{"name":"keyword.other.double-colon.purescript"}}}]},"record_types":{"patterns":[{"name":"meta.type.record.purescript","begin":"\\{","end":"\\}","patterns":[{"name":"punctuation.separator.comma.purescript","match":","},{"include":"#record_field_declaration"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"keyword.operator.type.record.begin.purescript"}},"endCaptures":{"0":{"name":"keyword.operator.type.record.end.purescript"}}}]},"type_name":{"patterns":[{"name":"entity.name.type.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"type_signature":{"patterns":[{"name":"meta.class-constraints.purescript","match":"(?:(?:\\()(?:(?\u003cclassConstraints\u003e(?:(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g\u003cclassConstraint\u003e)?))))(?:\\s*(?:,)\\s*\\g\u003cclassConstraints\u003e)?))(?:\\))(?:\\s*(=\u003e|\u003c=|⇐|⇒)))","captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"4":{"name":"keyword.other.big-arrow.purescript"}}},{"name":"meta.class-constraints.purescript","match":"((?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g\u003cclassConstraint\u003e)?))))\\s*(=\u003e|\u003c=|⇐|⇒)","captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"4":{"name":"keyword.other.big-arrow.purescript"}}},{"name":"keyword.other.arrow.purescript","match":"-\u003e|→"},{"name":"keyword.other.big-arrow.purescript","match":"=\u003e|⇒"},{"name":"keyword.other.big-arrow-left.purescript","match":"\u003c=|⇐"},{"name":"keyword.other.forall.purescript","match":"forall|∀"},{"include":"#generic_type"},{"include":"#type_name"},{"include":"#comments"}]}}}
1
+ {"name":"PureScript","scopeName":"source.purescript","patterns":[{"name":"keyword.operator.function.infix.purescript","match":"(`)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(`)","captures":{"1":{"name":"punctuation.definition.entity.purescript"},"2":{"name":"punctuation.definition.entity.purescript"}}},{"name":"meta.declaration.module.purescript","begin":"^\\s*\\b(module)(?!')\\b","end":"(where)","patterns":[{"include":"#comments"},{"include":"#module_name"},{"include":"#module_exports"},{"name":"invalid.purescript","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.declaration.typeclass.purescript","begin":"^\\s*\\b(class)(?!')\\b","end":"\\b(where)\\b|$","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"storage.type.class.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.declaration.instance.purescript","contentName":"meta.type-signature.purescript","begin":"^\\s*\\b(else\\s+)?(derive\\s+)?(newtype\\s+)?(instance)(?!')\\b","end":"\\b(where)\\b|$","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"keyword.other.purescript"},"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.foreign.data.purescript","contentName":"meta.kind-signature.purescript","begin":"^(\\s*)(foreign)\\s+(import)\\s+(data)\\s+([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#kind_signature"}],"beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"},"5":{"name":"entity.name.type.purescript"},"6":{"name":"keyword.other.double-colon.purescript"}}},{"name":"meta.foreign.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s*)(foreign)\\s+(import)\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"entity.name.function.purescript"}}},{"name":"meta.import.purescript","begin":"^\\s*\\b(import)(?!')\\b","end":"($|(?=--))","patterns":[{"include":"#module_name"},{"include":"#module_exports"},{"match":"\\b(as|hiding)\\b","captures":{"1":{"name":"keyword.other.purescript"}}}],"beginCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.declaration.type.data.purescript","begin":"^(\\s)*(data|newtype)\\s+(.+?)\\s*(?=\\=|$)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#comments"},{"match":"=","captures":{"0":{"name":"keyword.operator.assignment.purescript"}}},{"match":"(?:(?:\\b([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cctorArgs\u003e(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|-\u003e|=\u003e)+\\s*)+))(?:\\s*(?:\\s+)\\s*\\g\u003cctorArgs\u003e)?)?))","captures":{"1":{"patterns":[{"include":"#data_ctor"}]},"2":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"match":"\\|","captures":{"0":{"name":"punctuation.separator.pipe.purescript"}}},{"include":"#record_types"}],"beginCaptures":{"2":{"name":"storage.type.data.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"name":"meta.declaration.type.type.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s)*(type)\\s+(.+?)\\s*(?=\\=|$)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"match":"=","captures":{"0":{"name":"keyword.operator.assignment.purescript"}}},{"include":"#type_signature"},{"include":"#record_types"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"storage.type.data.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"name":"keyword.other.purescript","match":"^\\s*\\b(derive|where|data|type|newtype|infix[lr]?|foreign(\\s+import)?(\\s+data)?)(?!')\\b"},{"name":"entity.name.function.typed-hole.purescript","match":"\\?(?:[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)"},{"name":"storage.type.purescript","match":"^\\s*\\b(data|type|newtype)(?!')\\b"},{"name":"keyword.control.purescript","match":"\\b(do|ado|if|then|else|case|of|let|in)(?!('|\\s*(:|=)))\\b"},{"name":"constant.numeric.hex.purescript","match":"\\b(?\u003c!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)"},{"name":"constant.numeric.decimal.purescript","match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+\\b(?!\\.)) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.purescript"},"1":{"name":"meta.delimiter.decimal.period.purescript"},"2":{"name":"meta.delimiter.decimal.period.purescript"},"3":{"name":"meta.delimiter.decimal.period.purescript"},"4":{"name":"meta.delimiter.decimal.period.purescript"},"5":{"name":"meta.delimiter.decimal.period.purescript"},"6":{"name":"meta.delimiter.decimal.period.purescript"}}},{"name":"constant.language.boolean.purescript","match":"\\b(true|false)\\b"},{"name":"constant.numeric.purescript","match":"\\b(([0-9]+_?)*[0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{"name":"string.quoted.triple.purescript","begin":"\"\"\"","end":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}}},{"name":"string.quoted.double.purescript","begin":"\"","end":"\"","patterns":[{"include":"#characters"},{"begin":"\\\\\\s","end":"\\\\","patterns":[{"name":"invalid.illegal.character-not-allowed-here.purescript","match":"\\S+"}],"beginCaptures":{"0":{"name":"markup.other.escape.newline.begin.purescript"}},"endCaptures":{"0":{"name":"markup.other.escape.newline.end.purescript"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}}},{"name":"markup.other.escape.newline.purescript","match":"\\\\$"},{"name":"string.quoted.single.purescript","match":"(')((?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_])))(')","captures":{"1":{"name":"punctuation.definition.string.begin.purescript"},"2":{"patterns":[{"include":"#characters"}]},"7":{"name":"punctuation.definition.string.end.purescript"}}},{"include":"#function_type_declaration"},{"match":"\\((?\u003cparen\u003e(?:[^()]|\\(\\g\u003cparen\u003e\\))*)(::|∷)(?\u003cparen2\u003e(?:[^()]|\\(\\g\u003cparen2\u003e\\))*)\\)","captures":{"1":{"patterns":[{"include":"$self"}]},"2":{"name":"keyword.other.double-colon.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"begin":"^(\\s*)(?:(::|∷))","end":"^(?!\\1[ \\t]*|[ \\t]*$)","patterns":[{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"keyword.other.double-colon.purescript"}}},{"include":"#data_ctor"},{"include":"#comments"},{"include":"#infix_op"},{"name":"keyword.other.arrow.purescript","match":"\\\u003c-|-\\\u003e"},{"name":"keyword.operator.purescript","match":"[\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+"},{"name":"punctuation.separator.comma.purescript","match":","}],"repository":{"block_comment":{"patterns":[{"name":"comment.block.documentation.purescript","begin":"\\{-\\s*\\|","end":"-\\}","patterns":[{"include":"#block_comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"applyEndPatternLast":true},{"name":"comment.block.purescript","begin":"\\{-","end":"-\\}","patterns":[{"include":"#block_comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}},"applyEndPatternLast":true}]},"characters":{"patterns":[{"match":"(?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))","captures":{"1":{"name":"constant.character.escape.purescript"},"2":{"name":"constant.character.escape.octal.purescript"},"3":{"name":"constant.character.escape.hexadecimal.purescript"},"4":{"name":"constant.character.escape.control.purescript"}}}]},"class_constraint":{"patterns":[{"name":"meta.class-constraint.purescript","match":"(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g\u003cclassConstraint\u003e)?)))","captures":{"1":{"patterns":[{"name":"entity.name.type.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"2":{"patterns":[{"include":"#type_name"},{"include":"#generic_type"}]}}}]},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=--+\\s+\\|)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.documentation.purescript","begin":"(--+)\\s+(\\|)","end":"\\n","beginCaptures":{"1":{"name":"punctuation.definition.comment.purescript"},"2":{"name":"punctuation.definition.comment.documentation.purescript"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.purescript"}}},{"begin":"(^[ \\t]+)?(?=--+(?![\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]))","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.purescript","begin":"--","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.purescript"}}},{"include":"#block_comment"}]},"data_ctor":{"patterns":[{"name":"entity.name.tag.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"double_colon":{"patterns":[{"name":"keyword.other.double-colon.purescript","match":"(?:::|∷)"}]},"function_type_declaration":{"patterns":[{"name":"meta.function.type-declaration.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s*)([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(?:(::|∷)(?!.*\u003c-))","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"entity.name.function.purescript"},"3":{"name":"keyword.other.double-colon.purescript"}}}]},"generic_type":{"patterns":[{"name":"variable.other.generic-type.purescript","match":"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"}]},"infix_op":{"patterns":[{"name":"entity.name.function.infix.purescript","match":"(?:\\((?!--+\\))[\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+\\))"}]},"kind_signature":{"patterns":[{"name":"keyword.other.star.purescript","match":"\\*"},{"name":"keyword.other.exclaimation-point.purescript","match":"!"},{"name":"keyword.other.pound-sign.purescript","match":"#"},{"name":"keyword.other.arrow.purescript","match":"-\u003e|→"}]},"module_exports":{"patterns":[{"name":"meta.declaration.exports.purescript","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"entity.name.function.purescript","match":"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"},{"include":"#type_name"},{"name":"punctuation.separator.comma.purescript","match":","},{"include":"#infix_op"},{"name":"meta.other.constructor-list.purescript","match":"\\(.*?\\)"}]}]},"module_name":{"patterns":[{"name":"support.other.module.purescript","match":"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)*[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.?"}]},"record_field_declaration":{"patterns":[{"name":"meta.record-field.type-declaration.purescript","contentName":"meta.type-signature.purescript","begin":"([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)","end":"(?=([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)|})","patterns":[{"include":"#type_signature"},{"include":"#record_types"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.other.attribute-name.purescript","match":"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"}]},"2":{"name":"keyword.other.double-colon.purescript"}}}]},"record_types":{"patterns":[{"name":"meta.type.record.purescript","begin":"\\{","end":"\\}","patterns":[{"name":"punctuation.separator.comma.purescript","match":","},{"include":"#record_field_declaration"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"keyword.operator.type.record.begin.purescript"}},"endCaptures":{"0":{"name":"keyword.operator.type.record.end.purescript"}}}]},"type_name":{"patterns":[{"name":"entity.name.type.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"type_signature":{"patterns":[{"name":"meta.class-constraints.purescript","match":"(?:(?:\\()(?:(?\u003cclassConstraints\u003e(?:(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g\u003cclassConstraint\u003e)?))))(?:\\s*(?:,)\\s*\\g\u003cclassConstraints\u003e)?))(?:\\))(?:\\s*(=\u003e|\u003c=|⇐|⇒)))","captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"4":{"name":"keyword.other.big-arrow.purescript"}}},{"name":"meta.class-constraints.purescript","match":"((?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g\u003cclassConstraint\u003e)?))))\\s*(=\u003e|\u003c=|⇐|⇒)","captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"4":{"name":"keyword.other.big-arrow.purescript"}}},{"name":"keyword.other.arrow.purescript","match":"-\u003e|→"},{"name":"keyword.other.big-arrow.purescript","match":"=\u003e|⇒"},{"name":"keyword.other.big-arrow-left.purescript","match":"\u003c=|⇐"},{"name":"keyword.other.forall.purescript","match":"forall|∀"},{"include":"#generic_type"},{"include":"#type_name"},{"include":"#comments"}]}}}