Browse Source

Reorganized data folder

main
Dustin Wilson 3 years ago
parent
commit
e5869f8a8e
  1. 599
      data/graphql/graphql.json
  2. 216
      data/markdown/fixtures/fenced-code.json
  3. 119
      data/markdown/injections/php.json
  4. 37
      data/markdown/repositories/blocks/fenced-code.json
  5. 259
      data/markdown/repositories/blocks/headings.json
  6. 17
      data/markdown/repositories/blocks/hr.json
  7. 155
      data/markdown/repositories/blocks/lists.json
  8. 24
      data/markdown/repositories/blocks/quotes.json
  9. 120
      data/markdown/repositories/flavors/criticmark.json
  10. 65
      data/markdown/repositories/flavors/front-matter.json
  11. 58
      data/markdown/repositories/flavors/github-blocks.json
  12. 160
      data/markdown/repositories/flavors/github-inlines.json
  13. 45
      data/markdown/repositories/flavors/ia-writer.json
  14. 30
      data/markdown/repositories/flavors/markdown-extra.json
  15. 25
      data/markdown/repositories/flavors/math-block.json
  16. 24
      data/markdown/repositories/flavors/math-inline.json
  17. 23
      data/markdown/repositories/flavors/pandoc.json
  18. 56
      data/markdown/repositories/flavors/rmarkdown-attributes.json
  19. 52
      data/markdown/repositories/flavors/rmarkdown.json
  20. 38
      data/markdown/repositories/flavors/special-attribute-elements.json
  21. 24
      data/markdown/repositories/flavors/special-attributes.json
  22. 17
      data/markdown/repositories/inlines/code.json
  23. 18
      data/markdown/repositories/inlines/comments.json
  24. 129
      data/markdown/repositories/inlines/emphasis.json
  25. 45
      data/markdown/repositories/inlines/entities.json
  26. 9
      data/markdown/repositories/inlines/escapes.json
  27. 12
      data/markdown/repositories/inlines/html.json
  28. 13
      data/markdown/repositories/inlines/line-breaks.json
  29. 29
      data/markdown/repositories/inlines/link-destination.json
  30. 24
      data/markdown/repositories/inlines/link-label.json
  31. 98
      data/markdown/repositories/inlines/link-text.json
  32. 29
      data/markdown/repositories/inlines/link-title.json
  33. 317
      data/markdown/repositories/inlines/links.json
  34. 8
      data/markdown/repositories/inlines/liquid.json
  35. 14
      data/markdown/repositories/inlines/references.json
  36. 9
      data/markdown/repositories/inlines/todo.json
  37. 199
      data/markdown/repositories/markdown.json
  38. 0
      data/source.applescript.json
  39. 0
      data/source.c.json
  40. 16
      data/source.cake.json
  41. 0
      data/source.coffee.json
  42. 0
      data/source.cpp.json
  43. 4327
      data/source.cs.json
  44. 0
      data/source.css.json
  45. 540
      data/source.css.less.json
  46. 1880
      data/source.css.scss.json
  47. 16
      data/source.csx.json
  48. 149
      data/source.diff.json
  49. 1926
      data/source.gfm.json
  50. 126
      data/source.git-config.json
  51. 675
      data/source.go.json
  52. 118
      data/source.gotemplate.json
  53. 0
      data/source.java-properties.json
  54. 0
      data/source.java.el.json
  55. 0
      data/source.java.json
  56. 0
      data/source.js.json
  57. 48
      data/source.js.rails source.js.jquery.json
  58. 0
      data/source.js.regexp.json
  59. 0
      data/source.js.regexp.replacement.json
  60. 0
      data/source.jsdoc.json
  61. 0
      data/source.json.json
  62. 0
      data/source.litcoffee.json
  63. 0
      data/source.lua.json
  64. 501
      data/source.makefile.json
  65. 63
      data/source.mod.json
  66. 997
      data/source.objc.json
  67. 17
      data/source.objcpp.json
  68. 2816
      data/source.perl.json
  69. 350
      data/source.perl6.json
  70. 0
      data/source.php.json
  71. 344
      data/source.plist.json
  72. 0
      data/source.python.json
  73. 0
      data/source.regexp.python.json
  74. 0
      data/source.ruby.gemfile.json
  75. 0
      data/source.ruby.json
  76. 196
      data/source.ruby.rails.json
  77. 12
      data/source.ruby.rails.rjs.json
  78. 689
      data/source.rust.json
  79. 1093
      data/source.sass.json
  80. 348
      data/source.sassdoc.json
  81. 0
      data/source.shell.json
  82. 0
      data/source.sql.json
  83. 13
      data/source.sql.mustache.json
  84. 29
      data/source.sql.ruby.json
  85. 52
      data/source.strings.json
  86. 19
      data/source.sum.json
  87. 282
      data/source.swift.json
  88. 0
      data/source.ts.json
  89. 0
      data/source.tsx.json
  90. 462
      data/source.yaml.json
  91. 162
      data/text.git-commit.json
  92. 48
      data/text.git-rebase.json
  93. 0
      data/text.html.basic.json
  94. 0
      data/text.html.erb.json
  95. 15
      data/text.html.gohtml.json
  96. 0
      data/text.html.jsp.json
  97. 145
      data/text.html.mustache.json
  98. 0
      data/text.html.php.json
  99. 50
      data/text.html.ruby.json
  100. 0
      data/text.html.smarty.json

599
data/graphql/graphql.json

@ -1,599 +0,0 @@
{
"name": "GraphQL",
"scopeName": "source.graphql",
"foldingStartMarker": "(/\\*|{|\\()",
"foldingEndMarker": "(\\*/|\\}|\\))",
"fileTypes": [
"prisma",
"graphqls",
"graphql",
"gql"
],
"patterns": [
{ "include": "#graphql" }
],
"repository": {
"graphql": {
"patterns": [
{ "include": "#graphql-fragment-definition" },
{ "include": "#graphql-type-interface" },
{ "include": "#graphql-enum" },
{ "include": "#graphql-scalar" },
{ "include": "#graphql-union" },
{ "include": "#graphql-schema" },
{ "include": "#graphql-operation-def" },
{ "include": "#graphql-comment" },
{ "include": "#graphql-directive" },
{ "include": "#graphql-blockstring-value"},
{ "include": "#graphql-string-value"}
]
},
"graphql-operation-def": {
"patterns": [
{ "include": "#graphql-query-mutation" },
{ "include": "#graphql-name" },
{ "include": "#graphql-variable-definitions" },
{ "include": "#graphql-directive" },
{ "include": "#graphql-selection-set" }
]
},
"graphql-fragment-definition": {
"name": "meta.fragment.graphql",
"begin": "\\s*(?:(\\bfragment\\b)\\s*(?!\\bon\\b)([_A-Za-z][_0-9A-Za-z]*)\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)))",
"end": "(?<=})",
"captures": {
"1": { "name": "keyword.fragment.graphql" },
"2": { "name": "entity.name.fragment.graphql" },
"3": { "name": "keyword.on.graphql" },
"4": { "name": "support.type.graphql" }
},
"patterns": [
{ "include": "#graphql-comment" },
{ "include": "#graphql-selection-set" },
{ "include": "#graphql-directive" },
{ "include": "#graphql-skip-newlines" }
]
},
"graphql-query-mutation": {
"match": "\\s*\\b(query|mutation)\\b",
"captures": {
"1": { "name": "keyword.operation.graphql" }
}
},
"graphql-type-interface": {
"name": "meta.type.interface.graphql",
"begin": "\\s*\\b(?:(extends)?\\b\\s*\\b(type)|(interface)|(input))\\b\\s*([_A-Za-z][_0-9A-Za-z]*)?",
"end": "(?<=})",
"captures": {
"1": { "name": "keyword.type.graphql"},
"2": { "name": "keyword.type.graphql"},
"3": { "name": "keyword.interface.graphql"},
"4": { "name": "keyword.input.graphql"},
"5": { "name": "support.type.graphql"}
},
"patterns": [
{
"match": "\\s*(?:\\b(implements)\\b|(&))\\s*([_A-Za-z][_0-9A-Za-z]*)",
"captures": {
"1": { "name": "keyword.implements.graphql" },
"2": { "name": "keyword.implements.graphql" },
"3": { "name": "support.type.graphql" }
}
},
{ "include": "#graphql-comment" },
{ "include": "#graphql-directive" },
{ "include": "#graphql-type-object" }
]
},
"graphql-type-object": {
"name": "meta.type.object.graphql",
"begin": "\\s*({)",
"end": "\\s*(})",
"beginCaptures": {
"1": { "name": "punctuation.operation.graphql"}
},
"endCaptures": {
"1": { "name": "punctuation.operation.graphql"}
},
"patterns": [
{ "include": "#graphql-object-type" },
{ "include": "#graphql-comment" },
{ "include": "#graphql-type-definition" },
{ "include": "#graphql-blockstring-value"},
{ "include": "#graphql-string-value"}
]
},
"graphql-type-definition": {
"comment": "key (optionalArgs): Type",
"begin": "\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)",
"end": "(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)",
"beginCaptures": {
"1": { "name": "variable.graphql" }
},
"endCaptures": {
"5": { "name": "punctuation.comma.graphql" }
},
"patterns": [
{ "include": "#graphql-directive" },
{ "include": "#graphql-comment" },
{ "include": "#graphql-variable-definitions" },
{ "include": "#graphql-type-object" },
{ "include": "#graphql-colon"},
{ "include": "#graphql-input-types"}
]
},
"graphql-schema": {
"begin": "\\s*\\b(schema)\\b",
"end": "(?<=})",
"beginCaptures": {
"1": { "name": "keyword.schema.graphql" }
},
"patterns": [
{
"begin": "\\s*({)",
"end": "\\s*(})",
"beginCaptures": {
"1": { "name": "punctuation.operation.graphql"}
},
"endCaptures": {
"1": { "name": "punctuation.operation.graphql"}
},
"patterns": [
{
"begin": "\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)",
"end": "(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)",
"beginCaptures": {
"1": { "name": "variable.arguments.graphql" }
},
"endCaptures": {
"5": { "name": "punctuation.comma.graphql" }
},
"patterns": [
{
"match": "\\s*([_A-Za-z][_0-9A-Za-z]*)",
"captures": {
"1": { "name": "support.type.graphql" }
}
},
{ "include": "#graphql-colon" },
{ "include": "#graphql-comment" },
{ "include": "#graphql-directive" },
{ "include": "#graphql-skip-newlines" }
]
},
{ "include": "#graphql-comment" },
{ "include": "#graphql-skip-newlines" }
]
},
{ "include": "#graphql-directive" },
{ "include": "#graphql-comment" },
{ "include": "#graphql-skip-newlines" }
]
},
"graphql-comment": {
"comment": "need to prefix comment space with a scope else Atom's reflow cmd doesn't work",
"name": "comment.line.graphql.js",
"match": "(\\s*)(#).*",
"captures": {
"1": { "name": "punctuation.whitespace.comment.leading.graphql" }
}
},
"graphql-variable-definitions": {
"begin": "\\s*(\\()",
"end": "\\s*(\\))",
"captures": {
"1": { "name": "meta.brace.round.graphql"}
},
"patterns": [
{ "include": "#graphql-comment" },
{ "include": "#graphql-variable-definition"},
{ "include": "#graphql-blockstring-value"},
{ "include": "#graphql-string-value"}
]
},
"graphql-variable-definition": {
"comment": "variable: type = value,.... which may be a list",
"name": "meta.variables.graphql",
"begin": "\\s*(\\$?[_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)",
"end": "(?=\\s*((\\$?[_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(}|\\))))|\\s*(,)",
"beginCaptures": {
"1": { "name": "variable.graphql" }
},
"endCaptures": {
"5": { "name": "punctuation.comma.graphql" }
},
"patterns": [
{ "include": "#graphql-comment" },
{ "include": "#graphql-colon" },
{ "include": "#graphql-input-types"},
{ "include": "#graphql-variable-assignment"},
{ "include": "#graphql-skip-newlines" }
]
},
"graphql-input-types": {
"patterns": [
{ "include": "#graphql-scalar-type" },
{
"match": "\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(!))?",
"captures": {
"1": { "name": "support.type.graphql" },
"2": { "name": "keyword.operator.nulltype.graphql" }
}
},
{
"name": "meta.type.list.graphql",
"begin": "\\s*(\\[)",
"end": "\\s*(\\])(?:\\s*(!))?",
"captures": {
"1": { "name": "meta.brace.squart.graphql" },
"2": { "name": "keyword.operator.nulltype.graphql" }
},
"patterns": [
{ "include": "#graphql-input-types" },
{ "include": "#graphql-comment" },
{ "include": "#graphql-comma" }
]
}
]
},
"graphql-scalar": {
"match": "\\s*\\b(scalar)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)",
"captures": {
"1": { "name": "keyword.scalar.graphql" },
"2": { "name": "entity.scalar.graphql" }
}
},
"graphql-scalar-type": {
"match": "\\s*\\b(Int|Float|String|Boolean|ID)\\b(?:\\s*(!))?",
"captures": {
"1": { "name": "support.type.builtin.graphql" },
"2": { "name": "keyword.operator.nulltype.graphql" }
}
},
"graphql-variable-assignment": {
"begin": "\\s(=)",
"end": "(?=.)",
"applyEndPatternLast": 1,
"beginCaptures": {
"1": { "name": "punctuation.assignment.graphql" }
},
"patterns": [
{ "include": "#graphql-value" }
]
},
"graphql-comma": {
"match": "\\s*(,)",
"captures": {
"1": { "name": "punctuation.comma.graphql" }
}
},
"graphql-colon": {
"match": "\\s*(:)",
"captures": {
"1": { "name": "punctuation.colon.graphql" }
}
},
"graphql-union-mark": {
"match": "\\s*(\\|)",
"captures": {
"1": { "name": "punctuation.union.graphql" }
}
},
"graphql-name": {
"match": "\\s*([_A-Za-z][_0-9A-Za-z]*)",
"captures": {
"1": { "name": "entity.name.function.graphql" }
}
},
"graphql-directive": {
"begin": "\\s*((@)\\s*([_A-Za-z][_0-9A-Za-z]*))",
"end": "(?=.)",
"applyEndPatternLast": 1,
"beginCaptures": {
"1": { "name": "entity.name.function.directive.graphql" }
},
"patterns": [
{ "include": "#graphql-arguments"},
{ "include": "#graphql-comment" },
{ "include": "#graphql-skip-newlines" }
]
},
"graphql-selection-set": {
"name": "meta.selectionset.graphql",
"begin": "\\s*({)",
"end": "\\s*(})",
"beginCaptures": {
"1": { "name": "punctuation.operation.graphql"}
},
"endCaptures": {
"1": { "name": "punctuation.operation.graphql"}
},
"patterns": [
{ "include": "#graphql-field" },
{ "include": "#graphql-fragment-spread" },
{ "include": "#graphql-inline-fragment" },
{ "include": "#graphql-comma" },
{ "include": "#graphql-comment" }
]
},
"graphql-field": {
"patterns": [
{
"match": "\\s*([_A-Za-z][_0-9A-Za-z]*)\\s*(:)",
"captures": {
"1": { "name": "string.unquoted.alias.graphql" },
"2": { "name": "punctuation.colon.graphql" }
}
},
{
"match": "\\s*([_A-Za-z][_0-9A-Za-z]*)",
"captures": {
"1": { "name": "variable.graphql" }
}
},
{ "include": "#graphql-arguments" },
{ "include": "#graphql-directive" },
{ "include": "#graphql-selection-set" },
{ "include": "#graphql-skip-newlines" }
]
},
"graphql-fragment-spread": {
"begin": "\\s*(\\.\\.\\.)\\s*(?!\\bon\\b)([_A-Za-z][_0-9A-Za-z]*)",
"end": "(?=.)",
"applyEndPatternLast": 1,
"captures": {
"1": { "name": "keyword.operator.spread.graphql" },
"2": { "name": "variable.fragment.graphql" }
},
"patterns": [
{ "include": "#graphql-comment" },
{ "include": "#graphql-selection-set" },
{ "include": "#graphql-directive" },
{ "include": "#graphql-skip-newlines" }
]
},
"graphql-inline-fragment": {
"begin": "\\s*(\\.\\.\\.)\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))?",
"end": "(?=.)",
"applyEndPatternLast": 1,
"captures": {
"1": { "name": "keyword.operator.spread.graphql" },
"2": { "name": "keyword.on.graphql" },
"3": { "name": "support.type.graphql" }
},
"patterns": [
{ "include": "#graphql-comment" },
{ "include": "#graphql-selection-set" },
{ "include": "#graphql-directive" },
{ "include": "#graphql-skip-newlines" }
]
},
"graphql-arguments": {
"name": "meta.arguments.graphql",
"begin": "\\s*(\\()",
"end": "\\s*(\\))",
"beginCaptures": {
"1": { "name": "meta.brace.round.directive.graphql" }
},
"endCaptures": {
"1": { "name": "meta.brace.round.directive.graphql" }
},
"patterns": [
{ "include": "#graphql-comment" },
{
"begin": "\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(:))?",
"end": "(?=\\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\\s*(:))|\\)))|\\s*(,)",
"beginCaptures": {
"1": { "name": "variable.arguments.graphql" },
"2": { "name": "punctuation.colon.graphql" }
},
"endCaptures": {
"3": { "name": "punctuation.comma.graphql" }
},
"patterns": [
{ "include": "#graphql-value" },
{ "include": "#graphql-comment" },
{ "include": "#graphql-skip-newlines" }
]
}
]
},
"graphql-variable-name": {
"match": "\\s*(\\$[_A-Za-z][_0-9A-Za-z]*)",
"captures": {
"1": { "name": "variable.graphql" }
}
},
"graphql-int-value": {
"match": "\\s*((-)?(0|[1-9][0-9]*))",
"captures": {
"1": { "name": "constant.int.graphql" }
}
},
"graphql-float-value": {
"match": "\\s*((-)?(0|([1-9]\\d*)(\\.\\d*)?((e|E)(\\+|-)?\\d*)?))",
"captures": {
"1": { "name": "constant.float.graphql" }
}
},
"graphql-boolean-value": {
"match": "\\s*\\b(true|false)\\b",
"captures": {
"1": { "name": "constant.boolean.graphql" }
}
},
"graphql-blockstring-value": {
"contentName": "string.quoted.block.graphql",
"begin": "\\s*+((\"\"\"))",
"end": "\\s*+(?:((\"\"\")))",
"beginCaptures": {
"1": { "name": "string.quoted.block.graphql" },
"2": { "name": "punctuation.definition.string.begin.graphql" }
},
"endCaptures": {
"1": { "name": "string.quoted.block.graphql" },
"2": { "name": "punctuation.definition.string.end.graphql" }
},
"patterns": [
{ "include": "#graphql-string-content" }
]
},
"graphql-string-value": {
"contentName": "string.quoted.double.graphql",
"begin": "\\s*+((\"))",
"end": "\\s*+(?:((\"))|(\n))",
"beginCaptures": {
"1": { "name": "string.quoted.double.graphql" },
"2": { "name": "punctuation.definition.string.begin.graphql" }
},
"endCaptures": {
"1": { "name": "string.quoted.double.graphql" },
"2": { "name": "punctuation.definition.string.end.graphql" },
"3": { "name": "invalid.illegal.newline.graphql" }
},
"patterns": [
{ "include": "#graphql-string-content" }
]
},
"graphql-string-content": {
"patterns": [
{ "name": "constant.character.escape.graphql",
"match": "\\\\[/'\"\\\\nrtbf]"
},
{ "name": "constant.character.escape.graphql",
"match": "\\\\u([0-9a-fA-F]{4})"
}
]
},
"graphql-enum": {
"name": "meta.enum.graphql",
"begin": "\\s*+\\b(enum)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)",
"end": "(?<=})",
"beginCaptures": {
"1": { "name": "keyword.enum.graphql" },
"2": { "name": "support.type.enum.graphql" }
},
"patterns": [
{
"name": "meta.type.object.graphql",
"begin": "\\s*({)",
"end": "\\s*(})",
"beginCaptures": {
"1": { "name": "punctuation.operation.graphql"}
},
"endCaptures": {
"1": { "name": "punctuation.operation.graphql"}
},
"patterns": [
{ "include": "#graphql-object-type" },
{ "include": "#graphql-comment" },
{ "include": "#graphql-enum-value" },
{ "include": "#graphql-blockstring-value"},
{ "include": "#graphql-string-value"}
]
}
]
},
"graphql-enum-value": {
"name": "constant.character.enum.graphql",
"match":"\\s*(?!=\\b(true|false|null)\\b)([_A-Za-z][_0-9A-Za-z]*)"
},
"graphql-value":{
"patterns": [
{ "include": "#graphql-variable-name" },
{ "include": "#graphql-float-value" },
{ "include": "#graphql-int-value" },
{ "include": "#graphql-blockstring-value" },
{ "include": "#graphql-string-value" },
{ "include": "#graphql-boolean-value" },
{ "include": "#graphql-enum-value" },
{ "include": "#graphql-list-value" },
{ "include": "#graphql-object-value" },
{ "include": "#graphql-comment" },
{ "include": "#literal-quasi-embedded" }
]
},
"graphql-list-value": {
"patterns": [
{
"name": "meta.listvalues.graphql",
"begin": "\\s*+(\\[)",
"end": "\\s*(\\])",
"endCaptures": {
"1": { "name": "meta.brace.square.graphql" }
},
"beginCaptures": {
"1": { "name": "meta.brace.square.graphql" }
},
"patterns": [
{ "include": "#graphql-value" }
]
}
]
},
"graphql-object-value": {
"patterns": [
{
"name": "meta.objectvalues.graphql",
"begin": "\\s*+({)",
"end": "\\s*(})",
"endCaptures": {
"1": { "name": "meta.brace.curly.graphql" }
},
"beginCaptures": {
"1": { "name": "meta.brace.curly.graphql" }
},
"patterns": [
{ "include": "#graphql-object-field" },
{ "include": "#graphql-value" }
]
}
]
},
"graphql-object-field": {
"match": "\\s*(([_A-Za-z][_0-9A-Za-z]*))\\s*(:)",
"captures": {
"1": { "name": "constant.object.key.graphql" },
"2": { "name": "string.unquoted.graphql" },
"3": { "name": "punctuation.graphql" }
}
},
"graphql-union": {
"begin": "\\s*\\b(union)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)",
"end": "(?=.)",
"applyEndPatternLast": 1,
"captures": {
"1": { "name": "keyword.union.graphql" },
"2": { "name": "support.type.graphql" }
},
"patterns": [
{
"begin": "\\s*(=)\\s*([_A-Za-z][_0-9A-Za-z]*)",
"end": "(?=.)",
"applyEndPatternLast": 1,
"captures": {
"1": { "name": "punctuation.assignment.graphql" },
"2": { "name": "support.type.graphql" }
},
"patterns": [
{ "include": "#graphql-skip-newlines" },
{ "include": "#graphql-comment" },
{
"match": "\\s*(\\|)\\s*([_A-Za-z][_0-9A-Za-z]*)",
"captures": {
"1": { "name": "punctuation.or.graphql" },
"2": { "name": "support.type.graphql" }
}
}
]
},
{ "include": "#graphql-skip-newlines" },
{ "include": "#graphql-comment" },
{ "include": "#literal-quasi-embedded" }
]
},
"graphql-skip-newlines": {
"match": "\\s*\n"
}
}
}

216
data/markdown/fixtures/fenced-code.json

@ -1,216 +0,0 @@
{
"scopeName": "fenced-code.md",
"list": [
{
"pattern": "apib|apiblueprint",
"include": "text.html.markdown.source.gfm.apib",
"contentName": "source.embedded.gfm.apib"
},
{
"pattern": "ass"
},
{
"pattern": "babel",
"include": "source.js.jsx",
"contentName": "source.embedded.js.jsx"
},
{
"pattern": "coffee|coffeescript|coffee-script",
"include": "source.coffee",
"contentName": "source.embedded.coffee"
},
{
"pattern": "c"
},
{
"pattern": "clean"
},
{
"pattern": "clojure"
},
{
"pattern": "cpp|c\\+\\+",
"include": "source.cpp",
"contentName": "source.embedded.cpp"
},
{
"pattern": "cr|crystal",
"include": "source.crystal",
"contentName": "source.embedded.crystal"
},
{
"pattern": "cs|csharp",
"include": "source.cs",
"contentName": "source.embedded.cs"
},
{
"pattern": "css"
},
{
"pattern": "diff|patch|rej",
"include": "source.diff",
"contentName": "source.embedded.diff"
},
{
"pattern": "elixir"
},
{
"pattern": "elm"
},
{
"pattern": "erlang"
},
{
"pattern": "go|golang",
"include": "source.go",
"contentName": "source.embedded.go"
},
{
"pattern": "haskell"
},
{
"pattern": "hcl"
},
{
"pattern": "html",
"include": "text.html.basic",
"contentName": "source.embedded.html"
},
{
"pattern": "idris"
},
{
"pattern": "java"
},
{
"pattern": "javascript|js|jsx",
"include": "source.js",
"contentName": "source.embedded.js"
},
{
"pattern": "json|har",
"include": "source.json",
"contentName": "source.embedded.json"
},
{
"pattern": "julia|julia-repl",
"include": "source.julia",
"contentName": "source.embedded.julia"
},
{
"pattern": "kotlin|kt|kts",
"include": "source.kotlin",
"contentName": "source.embedded.kotlin"
},
{
"pattern": "latex|tex",
"include": "text.tex.latex",
"contentName": "text.embedded.latex"
},
{
"pattern": "less",
"include": "source.css.less",
"contentName": "source.embedded.css.less"
},
{
"pattern": "lua"
},
{
"pattern": "make|makefile",
"include": "source.makefile",
"contentName": "source.embedded.makefile"
},
{
"pattern": "markdown|mdown|md",
"include": "text.md",
"contentName": "text.embedded.md"
},
{
"pattern": "m|mathematica",
"include": "source.mathematica",
"contentName": "source.embedded.mathematica"
},
{
"pattern": "mermaid"
},
{
"pattern": "mson",
"include": "text.html.markdown.source.gfm.mson",
"contentName": "source.embedded.mson"
},
{
"pattern": "objc|objective-c",
"include": "source.objc",
"contentName": "source.embedded.objc"
},
{
"pattern": "php",
"include": "text.html.php",
"contentName": "source.embedded.text.html.php"
},
{
"pattern": "py|python",
"include": "source.python",
"contentName": "source.embedded.python"
},
{
"pattern": "r"
},
{
"pattern": "ruby"
},
{
"pattern": "rust|rs",
"include": "source.rust",
"contentName": "source.embedded.rust"
},
{
"pattern": "sas"
},
{
"pattern": "sass"
},
{
"pattern": "scss",
"include": "source.css.scss",
"contentName": "source.embedded.css.scss"
},
{
"pattern": "sh|bash",
"include": "source.shell",
"contentName": "source.embedded.shell"
},
{
"pattern": "shellsession|console",
"include": "text.shell-session",
"contentName": "text.embedded.shell-session"
},
{
"pattern": "sql"
},
{
"pattern": "stata"
},
{
"pattern": "swift"
},
{
"pattern": "ts|typescript",
"include": "source.ts",
"contentName": "source.embedded.ts"
},
{
"pattern": "xml",
"include": "text.xml",
"contentName": "text.embedded.xml"
},
{
"pattern": "yaml"
},
{
"pattern": "[a-zA-Z0-9-_]+",
"include": "source",
"contentName": "source.embedded"
}
]
}

119
data/markdown/injections/php.json

@ -1,119 +0,0 @@
{
"key": "source.embedded.text.html.php - (meta.embedded | meta.tag), L:source.embedded.text.html.php meta.tag, L:embedded.source.js.embedded.html",
"patterns": [
{
"begin": "(^\\s*)(?=<\\?(?![^?]*\\?>))",
"beginCaptures": {
"0": {
"name": "punctuation.whitespace.embedded.leading.php"
}
},
"end": "(?!\\G)(\\s*$)?",
"endCaptures": {
"0": {
"name": "punctuation.whitespace.embedded.trailing.php"
}
},
"patterns": [
{
"begin": "<\\?(?i:php|=)?",
"beginCaptures": {
"0": {
"name": "punctuation.section.embedded.begin.php"
}
},
"contentName": "source.php",
"end": "(\\?)>",
"endCaptures": {
"0": {
"name": "punctuation.section.embedded.end.php"
},
"1": {
"name": "source.php"
}
},
"name": "meta.embedded.block.php",
"patterns": [
{
"include": "text.html.php#language"
}
]
}
]
},
{
"begin": "<\\?(?i:php|=)?(?![^?]*\\?>)",
"beginCaptures": {
"0": {
"name": "punctuation.section.embedded.begin.php"
}
},
"contentName": "source.php",
"end": "(\\G)>",
"endCaptures": {
"0": {
"name": "punctuation.section.embedded.end.php"
},
"1": {
"name": "source.php"
}
},
"name": "meta.embedded.block.php",
"patterns": [
{
"include": "text.html.php#language"
}
]
},
{
"begin": "<\\?(?i:php|=)?",
"beginCaptures": {
"0": {
"name": "punctuation.section.embedded.begin.php"
}
},
"end": ">",
"endCaptures": {
"0": {
"name": "punctuation.section.embedded.end.php"
}
},
"name": "meta.embedded.line.php",
"patterns": [
{
"captures": {
"1": {
"name": "source.php"
},
"2": {
"name": "punctuation.section.embedded.end.php"
},
"3": {
"name": "source.php"
}
},
"match": "\\G(\\s*)((\\?))(?=>)",
"name": "meta.special.empty-tag.php"
},
{
"begin": "\\G",
"contentName": "source.php",
"end": "(\\?)(?=>)",
"endCaptures": {
"0": {
"name": "punctuation.section.embedded.end.php"
},
"1": {
"name": "source.php"
}
},
"patterns": [
{
"include": "text.html.php#language"
}
]
}
]
}
]
}

37
data/markdown/repositories/blocks/fenced-code.json

@ -1,37 +0,0 @@
{
"key": "fenced-code",
"patterns": [
{
"begin": "^\\s{0,3}([`]{3,})$",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"end": "^\\s{0,3}(\\1)$",
"endCaptures": {
"1": {
"name": "punctuation.md"
}
},
"name": "fenced.code.md",
"contentName": "source.embedded"
},
{
"begin": "^\\s{0,3}([~]{3,})$",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"end": "^\\s{0,3}(\\1)$",
"endCaptures": {
"1": {
"name": "punctuation.md"
}
},
"name": "fenced.code.md",
"contentName": "source.embedded"
}
]
}

259
data/markdown/repositories/blocks/headings.json

@ -1,259 +0,0 @@
{
"key": "headings",
"patterns": [
{
"match": "^(?:[ ]{0,3})((?:#{1,6})\\s*(?:#*)\\s*)$",
"name": "empty.heading.markup.md",
"captures": {
"1": {
"patterns": [
{
"match": "^(#{6})\\s*(#*)\\s*$",
"name": "heading-6.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
},
{
"match": "^(#{5})\\s*(#*)\\s*$",
"name": "heading-5.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
},
{
"match": "^(#{4})\\s*(#*)\\s*$",
"name": "heading-4.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
},
{
"match": "^(#{3})\\s*(#*)\\s*$",
"name": "heading-3.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
},
{
"match": "^(#{2})\\s*(#*)\\s*$",
"name": "heading-2.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
},
{
"match": "^(#{1})\\s*(#*)\\s*$",
"name": "heading-1.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
}
]
}
}
},
{
"match": "^((?: {0,3})(?:#{1,6})(?: +)(?:.+))$",
"name": "heading.markup.md",
"captures": {
"1": {
"patterns": [
{
"begin": "^(?: {0,3})(#{1})(?: +)",
"end": "(?: ){1}(#*)(?:\\s*)(?:(\\{[[:ascii:]]*\\}))?$",
"name": "heading-1.md",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"endCaptures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
},
"patterns": [
{
"include": "#inlines-in-blocks"
}
]
},
{
"begin": "^(?: {0,3})(#{2})(?: +)",
"end": "(?: ){1}(#*)(?:\\s*)(?:(\\{[[:ascii:]]*\\}))?$",
"name": "heading-2.md",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"endCaptures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
},
"patterns": [
{
"include": "#inlines-in-blocks"
}
]
},
{
"begin": "^(?: {0,3})(#{3})(?: +)",
"end": "(?: ){1}(#*)(?:\\s*)(?:(\\{[[:ascii:]]*\\}))?$",
"name": "heading-3.md",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"endCaptures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
},
"patterns": [
{
"include": "#inlines-in-blocks"
}
]
},
{
"begin": "^(?: {0,3})(#{4})(?: +)",
"end": "(?: ){1}(#*)(?:\\s*)(?:(\\{[[:ascii:]]*\\}))?$",
"name": "heading-4.md",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"endCaptures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
},
"patterns": [
{
"include": "#inlines-in-blocks"
}
]
},
{
"begin": "^(?: {0,3})(#{5})(?: +)",
"end": "(?: ){1}(#*)(?:\\s*)(?:(\\{[[:ascii:]]*\\}))?$",
"name": "heading-5.md",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"endCaptures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
},
"patterns": [
{
"include": "#inlines-in-blocks"
}
]
},
{
"begin": "^(?: {0,3})(#{6})(?: +)",
"end": "(?: ){1}(#*)(?:\\s*)(?:(\\{[[:ascii:]]*\\}))?$",
"name": "heading-6.md",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"endCaptures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
},
"patterns": [
{
"include": "#inlines-in-blocks"
}
]
}
]
}
}
}
]
}

17
data/markdown/repositories/blocks/hr.json

@ -1,17 +0,0 @@
{
"key": "hr",
"patterns": [
{
"name": "hr.constant.md",
"match": "^[ ]{0,3}[-]{1,} *[-]{1,} *[-]{1,}[ -]*$"
},
{
"name": "hr.constant.md",
"match": "^[ ]{0,3}[*]{1,} *[*]{1,} *[*]{1,}[ *]*$"
},
{
"name": "hr.constant.md",
"match": "^[ ]{0,3}[_]{1,} *[_]{1,} *[_]{1,}[ _]*$"
}
]
}

155
data/markdown/repositories/blocks/lists.json

@ -1,155 +0,0 @@
{
"key": "lists",
"patterns": [
{
"match": "^(?:\\s*)([-+\\*] \\[ \\]\\s?)$",
"name": "empty.task.unordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
}
}
},
{
"match": "^(?:\\s*)([0-9]{1,9}[\\.\\)] \\[ \\]\\s)$",
"name": "empty.task.ordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
}
}
},
{
"match": "^(?:\\s*)([-+\\*]{1}\\s?)$",
"name": "empty.unordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
}
}
},
{
"match": "^(?:\\s*)([0-9]{1,9}[\\.\\)]\\s?)$",
"name": "empty.ordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
}
}
},
{
"match": "^(?:\\s*)([-+\\*] \\[ \\]\\s)(.*)$",
"name": "task.unordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#blocks"
},
{
"include": "#inlines-in-blocks"
}
]
}
}
},
{
"match": "^(?:\\s*)([0-9]{1,9}[\\.\\)] \\[ \\]\\s)(.*)$",
"name": "task.ordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#blocks"
},
{
"include": "#inlines-in-blocks"
}
]
}
}
},
{
"match": "^(?:\\s*)([-+\\*] \\[[xX]\\]\\s)(.*)$",
"name": "completed.task.unordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#blocks"
},
{
"include": "#inlines-in-blocks"
}
]
}
}
},
{
"match": "^(?:\\s*)([0-9]{1,9}[\\.\\)] \\[[xX]\\]\\s)(.*)$",
"name": "completed.task.ordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#blocks"
},
{
"include": "#inlines-in-blocks"
}
]
}
}
},
{
"match": "^(?:\\s*)([-+\\*]{1}\\s)(.*)$",
"name": "unordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#blocks"
},
{
"include": "#inlines-in-blocks"
}
]
}
}
},
{
"match": "^(?:\\s*)([0-9]{1,9}[\\.\\)]\\s)(.*)$",
"name": "ordered.list.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#blocks"
},
{
"include": "#inlines-in-blocks"
}
]
}
}
}
]
}

24
data/markdown/repositories/blocks/quotes.json

@ -1,24 +0,0 @@
{
"key": "quotes",
"patterns": [
{
"match": "^(?: {0,3})(>){1}(?: ){0,1}(.*)$",
"name": "quote.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#blocks"
},
{
"include": "#inlines-in-blocks"
}
]
}
}
}
]
}

120
data/markdown/repositories/flavors/criticmark.json

@ -1,120 +0,0 @@
{
"key": "criticmark",
"patterns": [
{
"name": "addition.critic.inserted.markup.md",
"begin": "({\\+\\+)",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"end": "(\\+\\+})",
"endCaptures": {
"1": {
"name": "punctuation.md"
}
},
"patterns": [
{
"include": "#emphasis"
}
]
},
{
"name": "deletion.critic.deleted.markup.md",
"begin": "({--)",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"end": "(--})",
"endCaptures": {
"1": {
"name": "punctuation.md"
}
},
"patterns": [
{
"include": "#emphasis"
}
]
},
{
"name": "highlight.critic.changed.markup.md",
"begin": "({==)",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"end": "(==})",
"endCaptures": {
"1": {
"name": "punctuation.md"
}
},
"patterns": [
{
"include": "#emphasis"
}
]
},
{
"name": "comment.critic.markup.md",
"begin": "({>>)",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"patterns": [
{
"match": "(?<=[\\s|>])((@)(\\w[-\\w:]*))(?=[\\s|:|<])",
"captures": {
"1": {
"name": "username.reference.variable.md"
},
"2": {
"name": "punctuation.md"
}
}
},
{
"include": "#emphasis"
}
],
"end": "(<<})",
"endCaptures": {
"1": {
"name": "punctuation.md"
}
}
},
{
"name": "substitution.critic.inserted.markup.md",
"begin": "({~~)",
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"end": "(~~})",
"endCaptures": {
"1": {
"name": "punctuation.md"
}
},
"patterns": [
{
"match": "~>",
"name": "punctuation.md"
},
{
"include": "#emphasis"
}
]
}
]
}

65
data/markdown/repositories/flavors/front-matter.json

@ -1,65 +0,0 @@
{
"key": "front-matter",
"patterns": [
{
"begin": "\\A---$",
"beginCaptures": {
"0": {
"name": "hr.constant.md"
}
},
"end": "^(---|\\.\\.\\.)$",
"endCaptures": {
"1": {
"name": "hr.constant.md"
}
},
"name": "front-matter.yaml.source.md",
"patterns": [
{
"include": "source.yaml"
}
]
},
{
"begin": "\\A\\+\\+\\+$",
"beginCaptures": {
"0": {
"name": "hr.constant.md"
}
},
"end": "^\\+\\+\\+$",
"endCaptures": {
"0": {
"name": "hr.constant.md"
}
},
"name": "front-matter.toml.source.md",
"patterns": [
{
"include": "source.toml"
}
]
},
{
"begin": "\\A;{3}$",
"beginCaptures": {
"0": {
"name": "hr.constant.md"
}
},
"end": "^;{3}$",
"endCaptures": {
"0": {
"name": "hr.constant.md"
}
},
"name": "front-matter.json.source.md",
"patterns": [
{
"include": "source.json"
}
]
}
]
}

58
data/markdown/repositories/flavors/github-blocks.json

@ -1,58 +0,0 @@
{
"key": "github-blocks",
"patterns": [
{
"name": "table.storage.md",
"match": "^(\\|(?= |:|-)[ |:-]*?)(\\|?)$",
"captures": {
"1": {
"patterns": [
{
"match": "(\\|)(?: ?)(:?)(-+)(:?)(?: ?)(?=\\|| |$)",
"captures": {
"1": {
"name": "vertical.punctuation.md"
},
"2": {
"name": "alignment.punctuation.md"
},
"3": {
"name": "horizontal.punctuation.md"
},
"4": {
"name": "alignment.punctuation.md"
}
}
}
]
},
"2": {
"name": "vertical.punctuation.md"
}
}
},
{
"name": "table.storage.md",
"match": "^(\\|)(?= )(.+)$",
"captures": {
"1": {
"name": "vertical.punctuation.md"
},
"2": {
"patterns": [
{
"match": "(?<= )\\|(?=$| )",
"name": "vertical.punctuation.md"
},
{
"include": "#inlines-in-blocks"
}
]
},
"3": {
"name": "punctuation.md"
}
}
}
]
}

160
data/markdown/repositories/flavors/github-inlines.json

File diff suppressed because one or more lines are too long

45
data/markdown/repositories/flavors/ia-writer.json

@ -1,45 +0,0 @@
{
"key": "ia-writer",
"patterns": [
{
"match": "(?x) ^\\s{0,3}( (/)([^'\"()]*?) (\\.[a-z0-9]+) (\\s*?) ((\"|')[^'\"]*?(\\7))? )$",
"captures": {
"1": {
"name": "block.content.link.markup.md"
},
"2": {
"name": "punctuation.md"
},
"6": {
"name": "title.string.markup.md"
},
"7": {
"name": "punctuation.md"
},
"8": {
"name": "punctuation.md"
}
}
},
{
"match": "(?x) ^\\s{0,3}( (/)([^'\"()]*?) (\\.[a-z0-9]+) (\\s*?) ((\\()[^()]*?(\\)))? )$",
"captures": {
"1": {
"name": "block.content.link.markup.md"
},
"2": {
"name": "punctuation.md"
},
"6": {
"name": "title.string.markup.md"
},
"7": {
"name": "punctuation.md"
},
"8": {
"name": "punctuation.md"
}
}
}
]
}

30
data/markdown/repositories/flavors/markdown-extra.json

@ -1,30 +0,0 @@
{
"key": "markdown-extra",
"patterns": [
{
"name": "definition.list.markup.md",
"match": "^(?:\\s*)(:)( +)(.*)$",
"captures": {
"1": {
"name": "punctuation.md"
}
}
},
{
"name": "abbreviation.reference.link.markup.md",
"match": "^((?:\\*\\[)(?:[^\\]]+)(?:\\]))(:) (.*)$",
"captures": {
"1": {
"patterns": [
{
"include": "#link-label"
}
]
},
"2": {
"name": "punctuation.md"
}
}
}
]
}

25
data/markdown/repositories/flavors/math-block.json

@ -1,25 +0,0 @@
{
"key": "math-block",
"patterns": [
{
"name": "block.math.markup.md",
"begin": "(\\${2})",
"end": "(\\${2})(?:.*)",
"patterns": [
{
"include": "text.tex.latex"
}
],
"beginCaptures": {
"1": {
"name": "punctuation.md"
}
},
"endCaptures": {
"1": {
"name": "punctuation.md"
}
}
}
]
}

24
data/markdown/repositories/flavors/math-inline.json

@ -1,24 +0,0 @@
{
"key": "math-inline",
"patterns": [
{
"name": "inline.math.markup.md",
"match": "(\\$)(?! )(.+?)(?<! )(\\$)(?!\\d)",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "text.tex.latex"
}
]
},
"3": {
"name": "punctuation.md"
}
}
}
]
}

23
data/markdown/repositories/flavors/pandoc.json

@ -1,23 +0,0 @@
{
"key": "pandoc",
"patterns": [
{
"name": "table.storage.md",
"match": "^(\\+-+)+\\+$",
"captures": {
"0": {
"name": "punctuation.md"
}
}
},
{
"name": "table.storage.md",
"match": "^(\\+=+)+\\+$",
"captures": {
"0": {
"name": "punctuation.md"
}
}
}
]
}

56
data/markdown/repositories/flavors/rmarkdown-attributes.json

@ -1,56 +0,0 @@
{
"key": "rmarkdown-attributes",
"patterns": [
{
"match": "(?x) (?#<=^|,|,\\s) ([A-Za-z0-9\\.]+) (?:\\s?) (=) (?:\\s?) (TRUE|FALSE)",
"name": "rmarkdown.attribute.meta.md",
"captures": {
"1": {
"name": "key.keyword.md"
},
"2": {
"name": "punctuation.md"
},
"3": {
"name": "value.constant.md"
}
}
},
{
"match": "(?x) (?#<=^|,|,\\s) ([A-Za-z0-9\\.]+) (?:\\s?) (=) (?:\\s?) ([A-Za-z0-9]+)",
"name": "rmarkdown.attribute.meta.md",
"captures": {
"1": {
"name": "key.keyword.md"
},
"2": {
"name": "punctuation.md"
},
"3": {
"name": "value.constant.md"
}
}
},
{
"match": "(?x) (?#<=^|,|,\\s) ([A-Za-z0-9\\.]+) (?:\\s?) (=) (?:\\s?) ( ('|\") ([^\\4]*?) (\\4) )",
"name": "rmarkdown.attribute.meta.md",
"captures": {
"1": {
"name": "key.keyword.md"
},
"2": {
"name": "punctuation.md"
},
"3": {
"name": "value.string.md"
},
"4": {
"name": "punctuation.md"
},
"6": {
"name": "punctuation.md"
}
}
}
]
}

52
data/markdown/repositories/flavors/rmarkdown.json

@ -1,52 +0,0 @@
{
"key": "rmarkdown",
"patterns": [
{
"begin": "(?x) (```)( \\{r\\s? (.*?) \\}$ )",
"end": "^(\\1)$",
"name": "fenced.code.md",
"contentName": "source.embedded.r",
"patterns": [
{
"include": "source.r"
}
],
"beginCaptures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"begin": "(\\{)(r)(\\s?)",
"beginCaptures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "language.constant.md"
}
},
"end": "(\\})$",
"endCaptures": {
"1": {
"name": "punctuation.md"
}
},
"patterns": [
{
"include": "#rmarkdown-attributes"
}
]
}
]
}
},
"endCaptures": {
"1": {
"name": "punctuation.md"
}
}
}
]
}

38
data/markdown/repositories/flavors/special-attribute-elements.json

@ -1,38 +0,0 @@
{
"key": "special-attribute-elements",
"patterns": [
{
"name": "id.special.attribute.meta.md",
"match": "(?<=^|\\s)(#)([^\\s|\\}]*)",
"captures": {
"1": {
"name": "punctuation.md"
}
}
},
{
"name": "class.special.attribute.meta.md",
"match": "(\\.)([^\\s|\\}]*)",
"captures": {
"1": {
"name": "punctuation.md"
}
}
},
{
"match": "([^ ]+)(=)([^\\s|\\}]*)",
"name": "other.special.attribute.meta.md",
"captures": {
"1": {
"name": "key.keyword.md"
},
"2": {
"name": "punctuation.md"
},
"3": {
"name": "value.string.md"
}
}
}
]
}

24
data/markdown/repositories/flavors/special-attributes.json

@ -1,24 +0,0 @@
{
"key": "special-attributes",
"patterns": [
{
"name": "special-attributes.raw.markup.md",
"match": "^(\\{)([^\\}]*)(\\})$",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#special-attribute-elements"
}
]
},
"3": {
"name": "punctuation.md"
}
}
}
]
}

17
data/markdown/repositories/inlines/code.json

@ -1,17 +0,0 @@
{
"key": "code",
"patterns": [
{
"match": "(?<!`)(`+)(?!`).+?(?<!`)(\\1)(?!`)",
"name": "code.raw.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
}
]
}

18
data/markdown/repositories/inlines/comments.json

@ -1,18 +0,0 @@
{
"key": "comments",
"patterns": [
{
"name": "comment.md",
"begin": "(<!(?:-{2,}))",
"end": "((?:-{2,})>)",
"captures": {
"1": {
"name": "punctuation.md"
},
"3": {
"name": "punctuation.md"
}
}
}
]
}

129
data/markdown/repositories/inlines/emphasis.json

@ -1,129 +0,0 @@
{
"key": "emphasis",
"patterns": [
{
"match": "(?<![\\w|\\\\])([_]{2})(?!\\s)(?m:(.+?))(?<![\\s|\\\\])(\\1)(?!\\w)",
"name": "strong.emphasis.bold.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#inlines-in-inlines"
}
]
},
"3": {
"name": "punctuation.md"
}
}
},
{
"match": "(?<![\\w|\\\\])([\\*]{2})(?!\\s)(?m:(.+?))(?<![\\s|\\\\])(\\1)(?!\\w)",
"name": "strong.emphasis.bold.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#inlines-in-inlines"
}
]
},
"3": {
"name": "punctuation.md"
}
}
},
{
"match": "(?<=\\w)([\\*]{2})(?:.+?)(?<!\\W)(\\1)",
"name": "strong.emphasis.bold.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
},
{
"match": "(?<=\\s|^)([\\*]{2})(?=\\w)(?:.+?)(\\1)(?=\\w)",
"name": "strong.emphasis.bold.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
},
{
"match": "(?<![\\w|_|\\\\])([_])(?!\\s|\\1)(?m:(.+?))(?<![\\s|\\\\])(\\1)(?!\\w)",
"name": "emphasis.italic.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#inlines-in-inlines"
}
]
},
"3": {
"name": "punctuation.md"
}
}
},
{
"match": "(?<![\\w|\\*|\\\\])([\\*])(?!\\s|\\1)(?m:(.+?))(?<![\\s|\\\\])(\\1)(?!\\w)",
"name": "emphasis.italic.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#inlines-in-inlines"
}
]
},
"3": {
"name": "punctuation.md"
}
}
},
{
"match": "(?<=\\w)([\\*])(?:.+?)(?<!\\W)(\\1)",
"name": "emphasis.italic.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
},
{
"match": "(?<=\\s|^)([\\*])(?=\\w)(?:.+?)(\\1)(?=\\w)",
"name": "emphasis.italic.markup.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "punctuation.md"
}
}
}
]
}

45
data/markdown/repositories/inlines/entities.json

@ -1,45 +0,0 @@
{
"key": "entities",
"patterns": [
{
"match": "(?<=^|\\s)(&)(?=$|\\s|,|!|\\?|\\.)",
"name": "ampersand.md"
},
{
"match": "(&)([a-zA-Z0-9]{2,32})(;)",
"name": "entity.constant.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"3": {
"name": "punctuation.md"
}
}
},
{
"match": "(&#)([0-9]{1,8})(;)",
"name": "entity.constant.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"3": {
"name": "punctuation.md"
}
}
},
{
"match": "(&#[x|X])([0-9a-fA-F]{1,8})(;)",
"name": "entity.constant.md",
"captures": {
"1": {
"name": "punctuation.md"
},
"3": {
"name": "punctuation.md"
}
}
}
]
}

9
data/markdown/repositories/inlines/escapes.json

@ -1,9 +0,0 @@
{
"key": "escapes",
"patterns": [
{
"match": "\\\\.",
"name": "escape.constant.md"
}
]
}

12
data/markdown/repositories/inlines/html.json

@ -1,12 +0,0 @@
{
"key": "html",
"patterns": [
{
"match": "<(?![a-zA-Z!/])",
"name": ""
},
{
"include": "text.html.basic"
}
]
}

13
data/markdown/repositories/inlines/line-breaks.json

@ -1,13 +0,0 @@
{
"key": "line-breaks",
"patterns": [
{
"match": "( )$",
"name": "line-break.constant.md"
},
{
"match": "(\\\\)$",
"name": "line-break.constant.md"
}
]
}

29
data/markdown/repositories/inlines/link-destination.json

@ -1,29 +0,0 @@
{
"key": "link-destination",
"patterns": [
{
"name": "destination.link.md",
"match": "^(<)(.*)(>)$",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "markup.underline.link"
},
"3": {
"name": "punctuation.md"
}
}
},
{
"name": "destination.link.md",
"match": "(.+)",
"captures": {
"1": {
"name": "markup.underline.link"
}
}
}
]
}

24
data/markdown/repositories/inlines/link-label.json

@ -1,24 +0,0 @@
{
"key": "link-label",
"patterns": [
{
"name": "label.link.string.md",
"match": "^(\\*?\\[\\^?)(.*)(\\])$",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#references"
}
]
},
"3": {
"name": "punctuation.md"
}
}
}
]
}

98
data/markdown/repositories/inlines/link-text.json

@ -1,98 +0,0 @@
{
"key": "link-text",
"patterns": [
{
"name": "text.link.string.md",
"match": "(?x) ^(\\[) ( ( (?:!\\[) (?:[^\\[\\]]*) (?:\\]) ) (\\() ([^ [:cntrl:]]+)? (?: (?:\\s+) ( (?:[\"'\\(]) .*? (?:[\"'\\)]) ) (?:\\s*) )? (\\)) (\\{[[:ascii:]]*\\})? ) (\\])",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "link.markup.md"
},
"3": {
"patterns": [
{
"include": "#link-text"
}
]
},
"4": {
"name": "punctuation.md"
},
"5": {
"patterns": [
{
"include": "#link-destination"
}
]
},
"6": {
"patterns": [
{
"include": "#link-title"
}
]
},
"7": {
"name": "punctuation.md"
},
"8": {
"patterns": [
{
"include": "#special-attributes"
}
]
},
"9": {
"name": "punctuation.md"
}
}
},
{
"name": "image.link.string.md",
"match": "^(!\\[)(.*)(\\])$",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#emphasis"
},
{
"include": "#code"
}
]
},
"3": {
"name": "punctuation.md"
}
}
},
{
"name": "text.link.string.md",
"match": "^(\\[)(.*)(\\])$",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"patterns": [
{
"include": "#emphasis"
},
{
"include": "#code"
}
]
},
"3": {
"name": "punctuation.md"
}
}
}
]
}

29
data/markdown/repositories/inlines/link-title.json

@ -1,29 +0,0 @@
{
"key": "link-title",
"patterns": [
{
"name": "title.link.md",
"match": "^(['|\"])(.*)(\\1)$",
"captures": {
"1": {
"name": "punctuation.md"
},
"3": {
"name": "punctuation.md"
}
}
},
{
"name": "title.link.md",
"match": "^(\\()(.*)(\\))$",
"captures": {
"1": {
"name": "punctuation.md"
},
"3": {
"name": "punctuation.md"
}
}
}
]
}

317
data/markdown/repositories/inlines/links.json

@ -1,317 +0,0 @@
{
"key": "links",
"patterns": [
{
"name": "reference.footnote.link.markup.md",
"match": "((?:\\[\\^)(?:[^\\[\\]]+)(?:\\]))(?!:)",
"captures": {
"1": {
"patterns": [
{
"include": "#link-label"
}
]
}
}
},
{
"name": "definition.footnote.link.markup.md",
"match": "((?:\\[\\^)(?:[^\\[\\]]+)(?:\\]))(:)",
"captures": {
"1": {
"patterns": [
{
"include": "#link-label"
}
]
},
"2": {
"name": "punctuation.md"
}
}
},
{
"name": "link.markup.md",
"match": "(?x) ( (?:\\[) (?: (?: (?:!\\[) (?:[^\\[\\]]*) (?:\\]) ) (?:\\() (?:[^ [:cntrl:]]+)? (?: (?:\\s+) (?: (?:[\"'\\(]) .*? (?:[\"'\\)]) ) (?:\\s*) )? (?:\\)) (?:\\{[[:ascii:]]*\\})? ) (?:\\]) ) (\\() ([^ [:cntrl:]]+)? (?: (?:\\s+) ( (?:[\"'\\(]) .*? (?:[\"'\\)]) ) (?:\\s*) )? (\\)) (\\{[^}]*\\})?",
"captures": {
"1": {
"patterns": [
{
"include": "#link-text"
}
]
},
"2": {
"name": "punctuation.md"
},
"3": {
"patterns": [
{
"include": "#link-destination"
}
]
},
"4": {
"patterns": [
{
"include": "#link-title"
}
]
},
"5": {
"name": "punctuation.md"
},
"6": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
}
},
{
"name": "link.markup.md",
"match": "(?x) ( (?:!?\\[) (?:[^\\[\\]]*) (?:\\]) ) (\\() ([^ [:cntrl:]()]+)? (?: (?:\\s+) ( (?:[\"'\\(]) .*? (?:[\"'\\)]) ) (?:\\s*) )? (\\)) (\\{[^}]*\\})?",
"captures": {
"1": {
"patterns": [
{
"include": "#link-text"
}
]
},
"2": {
"name": "punctuation.md"
},
"3": {
"patterns": [
{
"include": "#link-destination"
}
]
},
"4": {
"patterns": [
{
"include": "#link-title"
}
]
},
"5": {
"name": "punctuation.md"
},
"6": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
}
},
{
"name": "link.markup.md",
"match": "(?x) ( (?:!?\\[) (?:[^\\[\\]]*) (?:\\]) ) (\\() (<[^[:cntrl:]]*>) (?: (?:\\s+) ( (?:[\"'\\(]) .*? (?:[\"'\\)]) ) (?:\\s*) )? (\\)) (\\{[^}]*\\})?",
"captures": {
"1": {
"patterns": [
{
"include": "#link-text"
}
]
},
"2": {
"name": "punctuation.md"
},
"3": {
"patterns": [
{
"include": "#link-destination"
}
]
},
"4": {
"patterns": [
{
"include": "#link-title"
}
]
},
"5": {
"name": "punctuation.md"
},
"6": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
}
},
{
"name": "link.markup.md",
"match": "(?x) ( (?:\\[) (?: (?: (?:!\\[) (?:[^\\[\\]]*) (?:\\]) ) (?:\\() (?:[^ [:cntrl:]]+)? (?: (?:\\s+) (?: (?:[\"'\\(]) .*? (?:[\"'\\)]) ) (?:\\s*) )? (?:\\)) (?:\\{[[:ascii:]]*\\})? ) (?:\\]) ) ( (?:\\[) (?:[^\\[\\]]*) (?:\\]) ) (\\{[^}]*\\})?",
"captures": {
"1": {
"patterns": [
{
"include": "#link-text"
}
]
},
"2": {
"patterns": [
{
"include": "#link-label"
}
]
},
"3": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
}
},
{
"name": "link.markup.md",
"match": "(?x) ( (?:!?\\[) (?:[^\\[\\]]*) (?:\\]) ) ( (?:\\[) (?:[^\\[\\]]*) (?:\\]) ) (\\{[^}]*\\})?",
"captures": {
"1": {
"patterns": [
{
"include": "#link-text"
}
]
},
"2": {
"patterns": [
{
"include": "#link-label"
}
]
},
"3": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
}
},
{
"name": "link.markup.md",
"match": "(?x) ( (?:!\\[) (?:[^\\[\\]]*) (?:\\]) ) (\\{[^}]*\\})?",
"captures": {
"1": {
"patterns": [
{
"include": "#link-text"
}
]
},
"2": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
}
},
{
"name": "reference.link.markup.md",
"match": "(?x) ((?:\\[)(?:[^\\[\\]]*)(?:\\])) (:) (?:\\s) ([^ [:cntrl:]]+) (?:(?:\\s)((?:\")(?:.*?)(?:\")))? (?:(?:\\s)(\\{[[:ascii:]]*\\}))?",
"captures": {
"1": {
"patterns": [
{
"include": "#link-label"
}
]
},
"2": {
"name": "punctuation.md"
},
"3": {
"patterns": [
{
"include": "#link-destination"
}
]
},
"4": {
"patterns": [
{
"include": "#link-title"
}
]
},
"5": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
}
},
{
"match": "(?x) ( (?:\\[) (?:[^\\[\\]]*) (?:\\]) ) (?!:) (\\{[^}]*\\})?",
"captures": {
"1": {
"patterns": [
{
"include": "#link-label"
}
]
},
"2": {
"patterns": [
{
"include": "#special-attributes"
}
]
}
}
},
{
"name": "auto.link.markup.md",
"match": "(?i:(<)((coap|doi|javascript|aaa|aaas|about|acap|cap|cid|crid|data|dav|dict|dns|file|ftp|geo|go|gopher|h323|http|https|iax|icap|im|imap|info|ipp|iris|iris.beep|iris.xpc|iris.xpcs|iris.lwz|ldap|mailto|mid|msrp|msrps|mtqp|mupdate|news|nfs|ni|nih|nntp|opaquelocktoken|pop|pres|rtsp|service|session|shttp|sieve|sip|sips|sms|snmp|soap.beep|soap.beeps|tag|tel|telnet|tftp|thismessage|tn3270|tip|tv|urn|vemmi|ws|wss|xcon|xcon-userid|xmlrpc.beep|xmlrpc.beeps|xmpp|z39.50r|z39.50s|adiumxtra|afp|afs|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|chrome|chrome-extension|com-eventbrite-attendee|content|cvs|dlna-playsingle|dlna-playcontainer|dtn|dvb|ed2k|facetime|feed|finger|fish|gg|git|gizmoproject|gtalk|hcp|icon|ipn|irc|irc6|ircs|itms|jar|jms|keyparc|lastfm|ldaps|magnet|maps|market|message|mms|ms-help|msnim|mumble|mvn|notes|oid|palm|paparazzi|platform|proxy|psyc|query|res|resource|rmi|rsync|rtmp|secondlife|sftp|sgn|skype|smb|soldat|spotify|ssh|steam|svn|teamspeak|things|udp|unreal|ut2004|ventrilo|view-source|webcal|wtai|wyciwyg|xfire|xri|ymsgr):(?:[^ [:cntrl:]<>]+))(>))",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "markup.underline.link"
},
"4": {
"name": "punctuation.md"
}
}
},
{
"name": "email.auto.link.markup.md",
"match": "(<)(([a-zA-Z0-9\\.!#$%&'\\*\\+/=?^_`{\\|}~-]+)(@)([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*))(>)",
"captures": {
"1": {
"name": "punctuation.md"
},
"2": {
"name": "markup.underline.link"
},
"4": {
"name": "punctuation.md"
},
"6": {
"name": "punctuation.md"
}
}
}
]
}

8
data/markdown/repositories/inlines/liquid.json

@ -1,8 +0,0 @@
{
"key": "liquid",
"patterns": [
{
"include": "text.html.liquid"
}
]
}

14
data/markdown/repositories/inlines/references.json

@ -1,14 +0,0 @@
{
"key": "references",
"patterns": [
{
"match": "(?x) (?<=^|\\s|\"|'|\\(|\\[) ( (-?@) ( [a-zA-Z0-9_] [a-zA-Z0-9_:.#$%&+?<>~/-]* (?<![:|.|+|?|<|>|/|-]) ) )",
"captures": {
"2": {
"name": "punctuation.md"
}
},
"name": "reference.variable.md"
}
]
}

9
data/markdown/repositories/inlines/todo.json

@ -1,9 +0,0 @@
{
"key": "todo",
"patterns": [
{
"match": "(?<!\\w)@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP)\\b",
"name": "storage.type.class.${1:/downcase}.md"
}
]
}

199
data/markdown/repositories/markdown.json

@ -1,199 +0,0 @@
{
"name": "Markdown",
"scopeName": "text.md",
"limitLineLength": false,
"fileTypes": [
"markdown",
"md",
"mdown",
"mkd",
"mkdown",
"rmd",
"ron",
"emdee",
"spec"
],
"patterns": [
{
"include": "#blocks"
},
{
"include": "#inlines"
},
{
"include": "#flavors"
}
],
"repository": {
"blocks": {
"patterns": [
{
"include": "#comments"
},
{
"include": "#front-matter"
},
{
"include": "#hr"
},
{
"include": "#headings"
},
{
"include": "#lists"
},
{
"include": "#quotes"
},
{
"include": "#rmarkdown"
},
{
"include": "#fenced-code-blocks"
},
{
"include": "#fenced-code"
},
{
"include": "#github-blocks"
},
{
"include": "#math-block"
}
]
},
"inlines": {
"patterns": [
{
"include": "#escapes"
},
{
"include": "#code"
},
{
"include": "#entities"
},
{
"include": "#links"
},
{
"include": "#html"
},
{
"include": "#liquid"
},
{
"include": "#emphasis"
},
{
"include": "#line-breaks"
},
{
"include": "#todo"
},
{
"include": "#references"
},
{
"include": "#github-inlines"
},
{
"include": "#math-inline"
}
]
},
"flavors": {
"patterns": [
{
"include": "#criticmark"
},
{
"include": "#github-inlines"
},
{
"include": "#markdown-extra"
},
{
"include": "#pandoc"
},
{
"include": "#ia-writer"
}
]
},
"inlines-in-blocks": {
"patterns": [
{
"include": "#escapes"
},
{
"include": "#code"
},
{
"include": "#entities"
},
{
"include": "#links"
},
{
"include": "#html"
},
{
"include": "#liquid"
},
{
"include": "#emphasis"
},
{
"include": "#todo"
},
{
"include": "#references"
},
{
"include": "#flavors"
},
{
"include": "#math-inline"
}
]
},
"inlines-in-inlines": {
"patterns": [
{
"include": "#escapes"
},
{
"include": "#code"
},
{
"include": "#entities"
},
{
"include": "#links"
},
{
"include": "#html"
},
{
"include": "#liquid"
},
{
"include": "#emphasis"
},
{
"include": "#todo"
},
{
"include": "#references"
},
{
"include": "#github-inlines"
},
{
"include": "#criticmark"
}
]
}
}
}

0
data/applescript/applescript.json → data/source.applescript.json

0
data/c/c.json → data/source.c.json

16
data/source.cake.json

@ -0,0 +1,16 @@
{
"scopeName": "source.cake",
"name": "C# Cake File",
"fileTypes": [
"cake"
],
"patterns": [
{
"include": "source.cs"
},
{
"match": "^#(load|l)",
"name": "preprocessor.source.cake"
}
]
}

0
data/coffeescript/coffeescript.json → data/source.coffee.json

0
data/c/c++.json → data/source.cpp.json

4327
data/source.cs.json

File diff suppressed because it is too large

0
data/css/css.json → data/source.css.json

540
data/source.css.less.json

@ -0,0 +1,540 @@
{
"name": "Less",
"scopeName": "source.css.less",
"fileTypes": [
"less",
"less.erb"
],
"patterns": [
{
"include": "#strings"
},
{
"captures": {
"1": {
"name": "entity.other.attribute-name.class.mixin.css"
}
},
"match": "(\\.[_a-zA-Z][a-zA-Z0-9_-]*(?=\\())"
},
{
"captures": {
"1": {
"name": "entity.other.attribute-name.class.css"
},
"2": {
"name": "punctuation.definition.entity.css"
},
"4": {
"name": "variable.other.interpolation.less"
}
},
"match": "((\\.)([_a-zA-Z]|(@{[a-zA-Z0-9_-]+}))[a-zA-Z0-9_-]*)"
},
{
"captures": {
"0": {
"name": "entity.other.attribute-name.parent-selector.css"
},
"1": {
"name": "punctuation.definition.entity.css"
}
},
"match": "(&)[a-zA-Z0-9_-]*"
},
{
"begin": "(format|local|url|attr|counter|counters)\\s*(\\()",
"beginCaptures": {
"1": {
"name": "support.function.misc.css"
},
"2": {
"name": "punctuation.section.function.css"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.section.function.css"
}
},
"patterns": [
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.css"
}
},
"end": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.css"
}
},
"name": "string.quoted.single.css",
"patterns": [
{
"match": "\\\\.",
"name": "constant.character.escape.css"
}
]
},
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.css"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.css"
}
},
"name": "string.quoted.double.css",
"patterns": [
{
"match": "\\\\(\\d{1,6}|.)",
"name": "constant.character.escape.css"
}
]
},
{
"match": "[^'\") \\t]+",
"name": "variable.parameter.misc.css"
}
]
},
{
"match": "(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\\b(?!.*?(?<!@){)",
"name": "constant.other.rgb-value.css"
},
{
"captures": {
"1": {
"name": "entity.other.attribute-name.id"
},
"2": {
"name": "punctuation.definition.entity.css"
},
"4": {
"name": "variable.other.interpolation.less"
}
},
"match": "((#)([_a-zA-Z]|(@{[a-zA-Z0-9_-]+}))[a-zA-Z0-9_-]*)",
"name": "meta.selector.css"
},
{
"begin": "/\\*",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.begin.css"
}
},
"end": "\\*/",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.end.css"
}
},
"name": "comment.block.css"
},
{
"include": "source.css#numeric-values"
},
{
"captures": {
"1": {
"name": "punctuation.definition.begin.entity.css"
},
"2": {
"name": "entity.other.attribute-name.attribute.css"
},
"3": {
"name": "punctuation.separator.operator.css"
},
"4": {
"name": "string.unquoted.attribute-value.css"
},
"5": {
"name": "string.quoted.double.attribute-value.css"
},
"6": {
"name": "punctuation.definition.string.begin.css"
},
"7": {
"name": "punctuation.definition.string.end.css"
},
"8": {
"name": "punctuation.definition.end.entity.css"
}
},
"match": "(?i)(\\[)\\s*(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)(?:\\s*([~|^$*]?=)\\s*(?:(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)|((?>(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])",
"name": "meta.attribute-selector.css"
},
{
"begin": "((@)import\\b)",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.import.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
}
},
"end": ";",
"endCaptures": {
"0": {
"name": "punctuation.terminator.rule.css"
}
},
"name": "meta.at-rule.import.css",
"patterns": [
{
"match": "(?<=\\(|,|\\s)\\b(reference|optional|once|multiple|less|inline)\\b(?=\\)|,)",
"name": "keyword.control.import.option.less"
},
{
"include": "#brace_round"
},
{
"include": "source.css#commas"
},
{
"include": "#strings"
}
]
},
{
"captures": {
"1": {
"name": "keyword.control.at-rule.fontface.css"
},
"2": {
"name": "punctuation.definition.keyword.css"
}
},
"match": "^\\s*((@)font-face\\b)",
"name": "meta.at-rule.fontface.css"
},
{
"captures": {
"1": {
"name": "keyword.control.at-rule.media.css"
},
"2": {
"name": "punctuation.definition.keyword.css"
}
},
"match": "^\\s*((@)media\\b)",
"name": "meta.at-rule.media.css"
},
{
"include": "source.css#media-features"
},
{
"match": "\\b(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)\\b",
"name": "support.constant.media-type.media.css"
},
{
"match": "\\b(portrait|landscape)\\b",
"name": "support.constant.property-value.media-property.media.css"
},
{
"captures": {
"1": {
"name": "support.function.less"
}
},
"match": "(\\.[a-zA-Z0-9_-]+)\\s*(;|\\()"
},
{
"begin": "(^[ \\t]+)?(?=//)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.less"
}
},
"end": "(?!\\G)",
"patterns": [
{
"begin": "//",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.less"
}
},
"end": "\\n",
"name": "comment.line.double-slash.less"
}
]
},
{
"match": "(@|\\-\\-)[\\w-]+(?=\\s*)",
"name": "variable.other.less",
"captures": {
"1": {
"name": "punctuation.definition.variable.less"
}
}
},
{
"include": "#variable_interpolation"
},
{
"begin": "{",
"beginCaptures": {
"0": {
"name": "punctuation.section.property-list.begin.bracket.curly.css"
}
},
"end": "}",
"endCaptures": {
"0": {
"name": "punctuation.section.property-list.end.bracket.curly.css"
}
},
"name": "meta.property-list.css",
"patterns": [
{
"include": "source.css#pseudo-elements"
},
{
"include": "source.css#pseudo-classes"
},
{
"include": "source.css#tag-names"
},
{
"include": "source.css#commas"
},
{
"include": "#variable_interpolation"
},
{
"include": "source.css#property-names"
},
{
"include": "#property_values"
},
{
"include": "$self"
}
]
},
{
"match": "\\!\\s*important",
"name": "keyword.other.important.css"
},
{
"match": "\\*|\\/|\\-|\\+|~|=|<=|>=|<|>",
"name": "keyword.operator.less"
},
{
"match": "\\b(not|and|when)\\b",
"name": "keyword.control.logical.operator.less"
},
{
"include": "source.css#tag-names"
},
{
"match": "(?<![\\w-])[a-z][\\w&&[^A-Z]]*+-[\\w-&&[^A-Z]]+",
"name": "entity.name.tag.custom.css"
},
{
"include": "source.css#pseudo-elements"
},
{
"include": "source.css#pseudo-classes"
},
{
"captures": {
"1": {
"name": "punctuation.section.property-list.begin.css"
},
"2": {
"name": "punctuation.section.property-list.end.css"
}
},
"match": "(\\{)(\\})",
"name": "meta.brace.curly.css"
},
{
"match": "\\{|\\}",
"name": "meta.brace.curly.css"
},
{
"include": "#brace_round"
},
{
"match": "\\[|\\]",
"name": "meta.brace.square.less"
},
{
"match": ";",
"name": "punctuation.terminator.rule.css"
},
{
"match": ":",
"name": "punctuation.separator.key-value.css"
},
{
"match": "\\btrue\\b",
"name": "constant.language.boolean.less"
},
{
"match": "\\bdefault\\b",
"name": "support.function.default.less"
},
{
"match": "\\b(isurl|isstring|isnumber|iskeyword|iscolor)\\b",
"name": "support.function.type-checking.less"
},
{
"match": "\\b(isunit|ispixel|ispercentage|isem)\\b",
"name": "support.function.unit-checking.less"
},
{
"include": "source.css#property-keywords"
},
{
"include": "source.css#color-keywords"
},
{
"include": "source.css#commas"
},
{
"include": "#less_builtin_functions"
},
{
"include": "source.css#functions"
}
],
"repository": {
"variable_interpolation": {
"match": "@{[a-zA-Z0-9_-]+}",
"name": "variable.other.interpolation.less"
},
"strings": {
"patterns": [
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.css"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.css"
}
},
"name": "string.quoted.double.css",
"patterns": [
{
"match": "\\\\([0-9A-Fa-f]{1,6}|.)",
"name": "constant.character.escape.css"
},
{
"include": "#variable_interpolation"
}
]
},
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.css"
}
},
"end": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.css"
}
},
"name": "string.quoted.single.css",
"patterns": [
{
"match": "\\\\([0-9A-Fa-f]{1,6}|.)",
"name": "constant.character.escape.css"
},
{
"include": "#variable_interpolation"
}
]
}
]
},
"brace_round": {
"match": "\\(|\\)",
"name": "meta.brace.round.css"
},
"property_values": {
"begin": "(?<!&)(:)\\s*(?!(\\s*{))(?!.*(?<!@){)",
"beginCaptures": {
"1": {
"name": "punctuation.separator.key-value.css"
}
},
"end": "\\s*(;)|\\s*(?=})",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.css"
}
},
"contentName": "meta.property-value.css",
"patterns": [
{
"begin": "url(\\()",
"beginCaptures": {
"1": {
"name": "meta.brace.round.css"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "meta.brace.round.css"
}
},
"name": "support.function.any-method.builtin.url.css",
"patterns": [
{
"include": "#strings"
},
{
"match": "(\\b|\\.{0,2}/)[^)]*\\b",
"name": "string.url.css"
}
]
},
{
"include": "source.css#property-keywords"
},
{
"include": "source.css#color-keywords"
},
{
"include": "source.css#commas"
},
{
"include": "#less_builtin_functions"
},
{
"include": "source.css#functions"
},
{
"include": "$self"
}
]
},
"less_builtin_functions": {
"match": "\\b(abs|acos|alpha|argb|asin|atan|average|blue|calc|ceil|color|contrast|convert|convert|cos|darken|data-uri|desaturate|difference|e|escape|exclusion|extract|fade|fadein|fadeout|floor|format|green|greyscale|hardlight|hsl|hsla|hsv|hsva|hsvhue|hsvsaturation|hsvvalue|hue|length|lighten|lightness|luma|max|min|mix|mod|multiply|negation|overlay|percentage|pi|pow|red|replace|round|saturate|saturation|screen|sin|softlight|spin|sqrt|tan|unit)\\b",
"name": "support.function.any-method.builtin.less"
}
}
}

1880
data/source.css.scss.json

File diff suppressed because it is too large

16
data/source.csx.json

@ -0,0 +1,16 @@
{
"scopeName": "source.csx",
"name": "C# Script File",
"fileTypes": [
"csx"
],
"patterns": [
{
"include": "source.cs"
},
{
"match": "^#(load|r)",
"name": "preprocessor.source.csx"
}
]
}

149
data/source.diff.json

@ -0,0 +1,149 @@
{
"fileTypes": [
"diff",
"patch",
"rej"
],
"firstLineMatch": "(?x)^\n\t\t(===\\ modified\\ file\n\t\t|==== \\s* // .+ \\s - \\s .+ \\s+ ====\n\t\t|Index:\\ \n\t\t|---\\ [^%\\n]\n\t\t|\\*\\*\\*.*\\d{4}\\s*$\n\t\t|\\d+(,\\d+)* (a|d|c) \\d+(,\\d+)* $\n\t\t|diff\\ --git\\ \n\t\t|commit\\ [0-9a-f]{40}$\n\t\t)",
"name": "Diff",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.separator.diff"
}
},
"match": "^((\\*{15})|(={67})|(-{3}))$\\n?",
"name": "meta.separator.diff"
},
{
"match": "^\\d+(,\\d+)*(a|d|c)\\d+(,\\d+)*$\\n?",
"name": "meta.diff.range.normal"
},
{
"captures": {
"1": {
"name": "punctuation.definition.range.diff"
},
"2": {
"name": "meta.toc-list.coordinates.diff"
},
"3": {
"name": "punctuation.definition.range.diff"
}
},
"match": "^(@@)\\s*(.+?)\\s*(@@)($\\n?)?",
"name": "meta.diff.range.unified"
},
{
"captures": {
"3": {
"name": "punctuation.definition.range.diff"
},
"4": {
"name": "punctuation.definition.range.diff"
},
"6": {
"name": "punctuation.definition.range.diff"
},
"7": {
"name": "punctuation.definition.range.diff"
}
},
"match": "^(((\\-{3}) .+ (\\-{4}))|((\\*{3}) .+ (\\*{4})))$\\n?",
"name": "meta.diff.range.context"
},
{
"match": "^diff --git a/.*$\\n?",
"name": "meta.diff.header.git"
},
{
"match": "^diff (-|\\S+\\s+\\S+).*$\\n?",
"name": "meta.diff.header.command"
},
{
"captures": {
"4": {
"name": "punctuation.definition.from-file.diff"
},
"6": {
"name": "punctuation.definition.from-file.diff"
},
"7": {
"name": "punctuation.definition.from-file.diff"
}
},
"match": "(^(((-{3}) .+)|((\\*{3}) .+))$\\n?|^(={4}) .+(?= - ))",
"name": "meta.diff.header.from-file"
},
{
"captures": {
"2": {
"name": "punctuation.definition.to-file.diff"
},
"3": {
"name": "punctuation.definition.to-file.diff"
},
"4": {
"name": "punctuation.definition.to-file.diff"
}
},
"match": "(^(\\+{3}) .+$\\n?| (-) .* (={4})$\\n?)",
"name": "meta.diff.header.to-file"
},
{
"captures": {
"3": {
"name": "punctuation.definition.inserted.diff"
},
"6": {
"name": "punctuation.definition.inserted.diff"
}
},
"match": "^(((>)( .*)?)|((\\+).*))$\\n?",
"name": "markup.inserted.diff"
},
{
"captures": {
"1": {
"name": "punctuation.definition.changed.diff"
}
},
"match": "^(!).*$\\n?",
"name": "markup.changed.diff"
},
{
"captures": {
"3": {
"name": "punctuation.definition.deleted.diff"
},
"6": {
"name": "punctuation.definition.deleted.diff"
}
},
"match": "^(((<)( .*)?)|((-).*))$\\n?",
"name": "markup.deleted.diff"
},
{
"match": "^index [0-9a-f]{7,40}\\.\\.[0-9a-f]{7,40}.*$\\n?",
"name": "meta.diff.index.git"
},
{
"captures": {
"1": {
"name": "punctuation.separator.key-value.diff"
},
"2": {
"name": "meta.toc-list.file-name.diff"
}
},
"match": "^Index(:) (.+)$\\n?",
"name": "meta.diff.index"
},
{
"match": "^Only in .*: .*$\\n?",
"name": "meta.diff.only-in"
}
],
"scopeName": "source.diff"
}

1926
data/source.gfm.json

File diff suppressed because one or more lines are too long

126
data/source.git-config.json

@ -0,0 +1,126 @@
{
"name": "Git Config",
"scopeName": "source.git-config",
"fileTypes": [
".git/config",
"gitconfig",
"gitmodules"
],
"patterns": [
{
"include": "#section"
},
{
"include": "#comment"
}
],
"repository": {
"boolean": {
"match": "\\b(?i:yes|no|0|1|true|false)\\b",
"name": "constant.language.boolean.git-config"
},
"comment": {
"captures": {
"1": {
"name": "comment.line.number-sign.git-config"
},
"2": {
"name": "punctuation.definition.comment.git-config"
},
"3": {
"name": "comment.line.semi-colon.git-config"
},
"4": {
"name": "punctuation.definition.comment.git-config"
}
},
"match": "((#).*$\\n?)|((;).*$\\n?)"
},
"section": {
"begin": "\\[\\s*([\\w_-]+)(?:\\s+((\")(?:[^\"\\\\]|\\\\[\"\\\\])*(\"))|\\.([\\w_-]+))?\\s*\\]",
"captures": {
"1": {
"name": "entity.name.section.git-config"
},
"2": {
"name": "entity.name.section.subsection.git-config"
},
"3": {
"name": "punctuation.definition.section.subsection.begin.git-config"
},
"4": {
"name": "punctuation.definition.section.subsection.end.git-config"
},
"5": {
"name": "entity.name.section.subsection.git-config"
}
},
"end": "(?=\\[)",
"name": "meta.section.git-config",
"patterns": [
{
"include": "#value_pair"
},
{
"include": "#comment"
}
]
},
"string": {
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.git-config"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.git-config"
}
},
"name": "string.quoted.double.git-config",
"patterns": [
{
"match": "\\\\[ntb\"\\\\]",
"name": "constant.character.escape.git-config"
},
{
"match": "\\\\.",
"name": "invalid.illegal.unknown-escape.git-config"
}
]
},
"escaped-string": {
"match": "\\\\\"",
"name": "constant.character.escape.git-config"
},
"value_pair": {
"begin": "([-\\w]+)\\s*(=)\\s*(?!$)",
"captures": {
"1": {
"name": "support.constant.git-config"
},
"2": {
"name": "punctuation.separator.key-value.git-config"
}
},
"end": "$|(?=[#;])",
"name": "meta.value-pair.section-item.git-config",
"patterns": [
{
"include": "#boolean"
},
{
"include": "#escaped-string"
},
{
"include": "#string"
},
{
"include": "#comment"
}
]
}
}
}

675
data/source.go.json

@ -0,0 +1,675 @@
{
"scopeName": "source.go",
"name": "Go",
"comment": "Go language",
"fileTypes": [
"go"
],
"foldingStartMarker": "({|\\()\\s*$",
"foldingStopMarker": "(}|\\))\\s*$",
"patterns": [
{
"include": "#comments"
},
{
"comment": "Interpreted string literals",
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.go"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.go"
}
},
"name": "string.quoted.double.go",
"patterns": [
{
"include": "#string_escaped_char"
},
{
"include": "#string_placeholder"
}
]
},
{
"comment": "Raw string literals",
"begin": "`",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.go"
}
},
"end": "`",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.go"
}
},
"name": "string.quoted.raw.go",
"patterns": [
{
"include": "#string_placeholder"
}
]
},
{
"comment": "Syntax error receiving channels",
"match": "<\\-([\\t ]+)chan\\b",
"captures": {
"1": {
"name": "invalid.illegal.receive-channel.go"
}
}
},
{
"comment": "Syntax error sending channels",
"match": "\\bchan([\\t ]+)<-",
"captures": {
"1": {
"name": "invalid.illegal.send-channel.go"
}
}
},
{
"comment": "Syntax error using slices",
"match": "\\[\\](\\s+)",
"captures": {
"1": {
"name": "invalid.illegal.slice.go"
}
}
},
{
"comment": "Syntax error numeric literals",
"match": "\\b0[0-7]*[89]\\d*\\b",
"name": "invalid.illegal.numeric.go"
},
{
"comment": "Built-in functions",
"match": "\\b(append|cap|close|complex|copy|delete|imag|len|make|new|panic|print|println|real|recover)\\b(?=\\()",
"name": "support.function.builtin.go"
},
{
"comment": "Function declarations",
"match": "^(\\bfunc\\b)(?:\\s+(\\([^\\)]+\\)\\s+)?(\\w+)(?=\\())?",
"captures": {
"1": {
"name": "keyword.function.go"
},
"2": {
"patterns": [
{
"include": "#brackets"
},
{
"include": "#operators"
}
]
},
"3": {
"patterns": [
{
"match": "\\d\\w*",
"name": "invalid.illegal.identifier.go"
},
{
"match": "\\w+",
"name": "entity.name.function.go"
}
]
}
}
},
{
"comment": "Functions",
"match": "(\\bfunc\\b)|(\\w+)(?=\\()",
"captures": {
"1": {
"name": "keyword.function.go"
},
"2": {
"patterns": [
{
"match": "\\d\\w*",
"name": "invalid.illegal.identifier.go"
},
{
"match": "\\w+",
"name": "support.function.go"
}
]
}
}
},
{
"comment": "Floating-point literals",
"match": "(\\.\\d+([Ee][-+]\\d+)?i?)\\b|\\b\\d+\\.\\d*(([Ee][-+]\\d+)?i?\\b)?",
"name": "constant.numeric.floating-point.go"
},
{
"comment": "Integers",
"match": "\\b((0x[0-9a-fA-F]+)|(0[0-7]+i?)|(\\d+([Ee]\\d+)?i?)|(\\d+[Ee][-+]\\d+i?))\\b",
"name": "constant.numeric.integer.go"
},
{
"comment": "Language constants",
"match": "\\b(true|false|nil|iota)\\b",
"name": "constant.language.go"
},
{
"begin": "\\b(package)\\s+",
"beginCaptures": {
"1": {
"name": "keyword.package.go"
}
},
"end": "(?!\\G)",
"patterns": [
{
"match": "\\d\\w*",
"name": "invalid.illegal.identifier.go"
},
{
"match": "\\w+",
"name": "entity.name.package.go"
}
]
},
{
"begin": "\\b(type)\\s+",
"beginCaptures": {
"1": {
"name": "keyword.type.go"
}
},
"end": "(?!\\G)",
"patterns": [
{
"match": "\\d\\w*",
"name": "invalid.illegal.identifier.go"
},
{
"match": "\\w+",
"name": "entity.name.type.go"
}
]
},
{
"begin": "\\b(import)\\s+",
"beginCaptures": {
"1": {
"name": "keyword.import.go"
}
},
"end": "(?!\\G)",
"patterns": [
{
"include": "#imports"
}
]
},
{
"begin": "\\b(var)\\s+",
"beginCaptures": {
"1": {
"name": "keyword.var.go"
}
},
"end": "(?!\\G)",
"patterns": [
{
"include": "#variables"
}
]
},
{
"match": "(?<!var)\\s*(\\w+(?:\\.\\w+)*(?>,\\s*\\w+(?:\\.\\w+)*)*)(?=\\s*=(?!=))",
"captures": {
"1": {
"patterns": [
{
"match": "\\d\\w*",
"name": "invalid.illegal.identifier.go"
},
{
"match": "\\w+(?:\\.\\w+)*",
"name": "variable.other.assignment.go",
"captures": {
"0": {
"patterns": [
{
"include": "#delimiters"
}
]
}
}
},
{
"include": "#delimiters"
}
]
}
}
},
{
"match": "\\w+(?:,\\s*\\w+)*(?=\\s*:=)",
"captures": {
"0": {
"patterns": [
{
"match": "\\d\\w*",
"name": "invalid.illegal.identifier.go"
},
{
"match": "\\w+",
"name": "variable.other.assignment.go"
},
{
"include": "#delimiters"
}
]
}
}
},
{
"comment": "Terminators",
"match": ";",
"name": "punctuation.terminator.go"
},
{
"include": "#brackets"
},
{
"include": "#delimiters"
},
{
"include": "#keywords"
},
{
"include": "#operators"
},
{
"include": "#runes"
},
{
"include": "#storage_types"
}
],
"repository": {
"brackets": {
"patterns": [
{
"begin": "{",
"beginCaptures": {
"0": {
"name": "punctuation.definition.begin.bracket.curly.go"
}
},
"end": "}",
"endCaptures": {
"0": {
"name": "punctuation.definition.end.bracket.curly.go"
}
},
"patterns": [
{
"include": "$self"
}
]
},
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.begin.bracket.round.go"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.end.bracket.round.go"
}
},
"patterns": [
{
"include": "$self"
}
]
},
{
"match": "\\[|\\]",
"name": "punctuation.definition.bracket.square.go"
}
]
},
"comments": {
"patterns": [
{
"begin": "/\\*",
"end": "\\*/",
"captures": {
"0": {
"name": "punctuation.definition.comment.go"
}
},
"name": "comment.block.go"
},
{
"begin": "//",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.go"
}
},
"end": "$",
"name": "comment.line.double-slash.go"
}
]
},
"delimiters": {
"patterns": [
{
"match": ",",
"name": "punctuation.other.comma.go"
},
{
"match": "\\.(?!\\.\\.)",
"name": "punctuation.other.period.go"
},
{
"match": ":(?!=)",
"name": "punctuation.other.colon.go"
}
]
},
"imports": {
"patterns": [
{
"match": "((?!\\s+\")[^\\s]*)?\\s*((\")([^\"]*)(\"))",
"captures": {
"1": {
"name": "entity.alias.import.go"
},
"2": {
"name": "string.quoted.double.go"
},
"3": {
"name": "punctuation.definition.string.begin.go"
},
"4": {
"name": "entity.name.import.go"
},
"5": {
"name": "punctuation.definition.string.end.go"
}
}
},
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.imports.begin.bracket.round.go"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.imports.end.bracket.round.go"
}
},
"patterns": [
{
"include": "#comments"
},
{
"include": "#imports"
}
]
}
]
},
"keywords": {
"patterns": [
{
"comment": "Flow control keywords",
"match": "\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\b",
"name": "keyword.control.go"
},
{
"match": "\\bchan\\b",
"name": "keyword.channel.go"
},
{
"match": "\\bconst\\b",
"name": "keyword.const.go"
},
{
"match": "\\bfunc\\b",
"name": "keyword.function.go"
},
{
"match": "\\binterface\\b",
"name": "keyword.interface.go"
},
{
"match": "\\bmap\\b",
"name": "keyword.map.go"
},
{
"match": "\\bstruct\\b",
"name": "keyword.struct.go"
}
]
},
"operators": {
"comment": "Note that the order here is very important!",
"patterns": [
{
"match": "(\\*|&)(?=\\w)",
"name": "keyword.operator.address.go"
},
{
"match": "<\\-",
"name": "keyword.operator.channel.go"
},
{
"match": "\\-\\-",
"name": "keyword.operator.decrement.go"
},
{
"match": "\\+\\+",
"name": "keyword.operator.increment.go"
},
{
"match": "(==|!=|<=|>=|<(?!<)|>(?!>))",
"name": "keyword.operator.comparison.go"
},
{
"match": "(&&|\\|\\||!)",
"name": "keyword.operator.logical.go"
},
{
"match": "(=|\\+=|\\-=|\\|=|\\^=|\\*=|/=|:=|%=|<<=|>>=|&\\^=|&=)",
"name": "keyword.operator.assignment.go"
},
{
"match": "(\\+|\\-|\\*|/|%)",
"name": "keyword.operator.arithmetic.go"
},
{
"match": "(&(?!\\^)|\\||\\^|&\\^|<<|>>)",
"name": "keyword.operator.arithmetic.bitwise.go"
},
{
"match": "\\.\\.\\.",
"name": "keyword.operator.ellipsis.go"
}
]
},
"runes": {
"patterns": [
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.go"
}
},
"end": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.go"
}
},
"name": "string.quoted.rune.go",
"patterns": [
{
"match": "\\G(\\\\([0-7]{3}|[abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})|.)(?=')",
"name": "constant.other.rune.go"
},
{
"match": "[^']+",
"name": "invalid.illegal.unknown-rune.go"
}
]
}
]
},
"storage_types": {
"patterns": [
{
"match": "\\bbool\\b",
"name": "storage.type.boolean.go"
},
{
"match": "\\bbyte\\b",
"name": "storage.type.byte.go"
},
{
"match": "\\berror\\b",
"name": "storage.type.error.go"
},
{
"match": "\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\b",
"name": "storage.type.numeric.go"
},
{
"match": "\\brune\\b",
"name": "storage.type.rune.go"
},
{
"match": "\\bstring\\b",
"name": "storage.type.string.go"
},
{
"match": "\\buintptr\\b",
"name": "storage.type.uintptr.go"
}
]
},
"string_escaped_char": {
"patterns": [
{
"match": "\\\\([0-7]{3}|[abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})",
"name": "constant.character.escape.go"
},
{
"match": "\\\\[^0-7xuUabfnrtv\\'\"]",
"name": "invalid.illegal.unknown-escape.go"
}
]
},
"string_placeholder": {
"patterns": [
{
"match": "%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]",
"name": "constant.other.placeholder.go"
}
]
},
"variables": {
"patterns": [
{
"match": "(\\w+(?:,\\s*\\w+)*)(\\s+\\*?\\w+(?:\\.\\w+)?\\s*)?(?=\\s*=)",
"captures": {
"1": {
"patterns": [
{
"match": "\\d\\w*",
"name": "invalid.illegal.identifier.go"
},
{
"match": "\\w+",
"name": "variable.other.assignment.go"
},
{
"include": "#delimiters"
}
]
},
"2": {
"patterns": [
{
"include": "$self"
}
]
}
}
},
{
"match": "(\\w+(?:,\\s*\\w+)*)(\\s+(\\[(\\d*|\\.\\.\\.)\\])*\\*?(<-)?\\w+(?:\\.\\w+)?\\s*[^=].*)",
"captures": {
"1": {
"patterns": [
{
"match": "\\d\\w*",
"name": "invalid.illegal.identifier.go"
},
{
"match": "\\w+",
"name": "variable.other.declaration.go"
},
{
"include": "#delimiters"
}
]
},
"2": {
"patterns": [
{
"include": "$self"
}
]
}
}
},
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.variables.begin.bracket.round.go"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.variables.end.bracket.round.go"
}
},
"patterns": [
{
"include": "$self"
},
{
"include": "#variables"
}
]
}
]
}
}
}

118
data/source.gotemplate.json

@ -0,0 +1,118 @@
{
"scopeName": "source.gotemplate",
"name": "Go Template",
"foldingStartMarker": "\\{\\{\\s*(?:if|with|range)\\b",
"foldingStopMarker": "\\{\\{\\s*(?:else|end)\\b",
"patterns": [
{
"begin": "\\{\\{",
"beginCaptures": {
"0": {
"name": "punctuation.section.embedded.begin.gotemplate"
}
},
"end": "\\}\\}",
"endCaptures": {
"0": {
"name": "punctuation.section.embedded.end.gotemplate"
}
},
"patterns": [
{
"name": "keyword.operator.initialize.gotemplate",
"match": ":="
},
{
"name": "keyword.operator.pipe.gotemplate",
"match": "\\|"
},
{
"name": "variable.other.gotemplate",
"match": "[.$][\\w]*"
},
{
"name": "keyword.control.gotemplate",
"match": "\\b(if|else|range|template|with|end|nil|with|define)\\b"
},
{
"name": "support.function.builtin.gotemplate",
"match": "\\b(and|call|html|index|js|len|not|or|print|printf|println|urlquery|eq|ne|lt|le|gt|ge)\\b"
},
{
"begin": "/\\*",
"end": "\\*/",
"name": "comment.block.gotemplate"
},
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.gotemplate"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.gotemplate"
}
},
"name": "string.quoted.double.gotemplate",
"patterns": [
{
"include": "#string_placeholder"
},
{
"include": "#string_escaped_char"
}
]
},
{
"begin": "`",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.gotemplate"
}
},
"end": "`",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.gotemplate"
}
},
"name": "string.quoted.raw.gotemplate",
"patterns": [
{
"include": "#string_placeholder"
}
]
}
]
}
],
"repository": {
"string_escaped_char": {
"patterns": [
{
"name": "constant.character.escape.gotemplate",
"match": "\\\\(\\\\|[abfnrtv'\"]|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.gotemplate",
"match": "\\\\."
}
]
},
"string_placeholder": {
"patterns": [
{
"name": "constant.other.placeholder.gotemplate",
"match": "(?x)%\n (\\d+\\$)? # field (argument #)\n [#0\\- +']* # flags\n [,;:_]? # separator character (AltiVec)\n ((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n (\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n [diouxXDOUeEfFgGaAcCsSqpnvtTbyYhHmMzZ%] # conversion type\n "
},
{
"name": "invalid.illegal.placeholder.gotemplate",
"match": "%"
}
]
}
}
}

0
data/java/javaproperties.json → data/source.java-properties.json

0
data/java/unified expression language (el).json → data/source.java.el.json

0
data/java/java.json → data/source.java.json

0
data/javascript/javascript.json → data/source.js.json

48
data/source.js.rails source.js.jquery.json

@ -0,0 +1,48 @@
{
"scopeName": "source.js.rails source.js.jquery",
"name": "JavaScript (Rails)",
"fileTypes": [
"js.erb"
],
"foldingStartMarker": "/\\*\\*|\\{\\s*$",
"foldingStopMarker": "\\*\\*/|^\\s*\\}",
"patterns": [
{
"begin": "<%+#",
"captures": {
"0": {
"name": "punctuation.definition.comment.erb"
}
},
"end": "%>",
"name": "comment.block.erb"
},
{
"begin": "<%+(?!>)[-=]?",
"captures": {
"0": {
"name": "punctuation.section.embedded.ruby"
}
},
"end": "-?%>",
"name": "source.ruby.rails.embedded.html",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.comment.ruby"
}
},
"match": "(#).*?(?=-?%>)",
"name": "comment.line.number-sign.ruby"
},
{
"include": "source.ruby.rails"
}
]
},
{
"include": "source.js"
}
]
}

0
data/javascript/regular expressions (javascript).json → data/source.js.regexp.json

0
data/javascript/regular expression replacement (javascript).json → data/source.js.regexp.replacement.json

0
data/javascript/jsdoc.json → data/source.jsdoc.json

0
data/json/json.json → data/source.json.json

0
data/coffeescript/coffeescript (literate).json → data/source.litcoffee.json

0
data/lua/grammar-lua.json → data/source.lua.json

501
data/source.makefile.json

@ -0,0 +1,501 @@
{
"scopeName": "source.makefile",
"name": "Makefile",
"fileTypes": [
"Makefile",
"makefile",
"BSDmakefile",
"GNUmakefile",
"OCamlMakefile",
"Kbuild",
"am",
"mak",
"make",
"mf",
"mk",
"mkfile",
"Makefile.in",
"imk",
"Makefile.cmake",
"Makefile2"
],
"firstLineMatch": "^#!\\s*/.*\\bmake\\s+-f",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variable-assignment"
},
{
"include": "#variables"
},
{
"include": "#recipe"
},
{
"include": "#directives"
}
],
"repository": {
"comment": {
"begin": "(^[ \\t]+)?(?=#)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.makefile"
}
},
"end": "(?!\\G)",
"patterns": [
{
"begin": "#",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.makefile"
}
},
"end": "(?=\\n)",
"name": "comment.line.number-sign.makefile",
"patterns": [
{
"match": "\\\\\\n",
"name": "constant.character.escape.continuation.makefile"
}
]
}
]
},
"directives": {
"patterns": [
{
"begin": "^[ ]*([s\\-]?include)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.include.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variables"
},
{
"match": "%",
"name": "constant.other.placeholder.makefile"
}
]
},
{
"begin": "^[ ]*(vpath)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.vpath.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variables"
},
{
"match": "%",
"name": "constant.other.placeholder.makefile"
}
]
},
{
"begin": "^(?:(override)\\s*)?(define)\\s*([^\\s]+)\\s*(=|\\?=|:=|\\+=)?(?=\\s)",
"captures": {
"1": {
"name": "keyword.control.override.makefile"
},
"2": {
"name": "keyword.control.define.makefile"
},
"3": {
"name": "variable.other.makefile"
},
"4": {
"name": "punctuation.separator.key-value.makefile"
}
},
"end": "^(endef)\\b",
"name": "meta.scope.conditional.makefile",
"patterns": [
{
"begin": "\\G(?!\\n)",
"end": "^",
"patterns": [
{
"include": "#comment"
}
]
},
{
"include": "#variables"
},
{
"include": "#comment"
}
]
},
{
"begin": "^[ ]*(export)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.$1.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variable-assignment"
},
{
"match": "[^\\s]+",
"name": "variable.other.makefile"
}
]
},
{
"begin": "^[ ]*(override|private)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.$1.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"include": "#variable-assignment"
}
]
},
{
"begin": "^[ ]*(unexport|undefine)\\b",
"beginCaptures": {
"1": {
"name": "keyword.control.$1.makefile"
}
},
"end": "^",
"patterns": [
{
"include": "#comment"
},
{
"match": "[^\\s]+",
"name": "variable.other.makefile"
}
]
},
{
"begin": "^(ifdef|ifndef)\\s*([^\\s]+)(?=\\s)",
"captures": {
"1": {
"name": "keyword.control.$1.makefile"
},
"2": {
"name": "variable.other.makefile"
},
"3": {
"name": "punctuation.separator.key-value.makefile"
}
},
"end": "^(endif)\\b",
"name": "meta.scope.conditional.makefile",
"patterns": [
{
"begin": "\\G(?!\\n)",
"end": "^",
"patterns": [
{
"include": "#comment"
}
]
},
{
"include": "$self"
}
]
},
{
"begin": "^(ifeq|ifneq)(?=\\s)",
"captures": {
"1": {
"name": "keyword.control.$1.makefile"
}
},
"end": "^(endif)\\b",
"name": "meta.scope.conditional.makefile",
"patterns": [
{
"begin": "\\G",
"end": "^",
"name": "meta.scope.condition.makefile",
"patterns": [
{
"include": "#variables"
},
{
"include": "#comment"
}
]
},
{
"begin": "^else(?=\\s)",
"beginCaptures": {
"0": {
"name": "keyword.control.else.makefile"
}
},
"end": "^"
},
{
"include": "$self"
}
]
}
]
},
"interpolation": {
"begin": "(?=`)",
"end": "(?!\\G)",
"name": "meta.embedded.line.shell",
"patterns": [
{
"begin": "`",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.makefile"
}
},
"contentName": "source.shell",
"end": "(`)",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.makefile"
},
"1": {
"name": "source.shell"
}
},
"name": "string.interpolated.backtick.makefile",
"patterns": [
{
"include": "source.shell"
}
]
}
]
},
"recipe": {
"begin": "^(?!\\t)([^:]*)(:)(?!\\=)",
"beginCaptures": {
"1": {
"patterns": [
{
"captures": {
"1": {
"name": "support.function.target.$1.makefile"
}
},
"match": "^\\s*(\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\\s*$"
},
{
"begin": "(?=\\S)",
"end": "(?=\\s|$)",
"name": "entity.name.function.target.makefile",
"patterns": [
{
"include": "#variables"
},
{
"match": "%",
"name": "constant.other.placeholder.makefile"
}
]
}
]
},
"2": {
"name": "punctuation.separator.key-value.makefile"
}
},
"end": "^(?!\\t)",
"name": "meta.scope.target.makefile",
"patterns": [
{
"begin": "\\G",
"end": "\\n",
"name": "meta.scope.prerequisites.makefile",
"patterns": [
{
"match": "\\\\\\n",
"name": "constant.character.escape.continuation.makefile"
},
{
"match": "%|\\*",
"name": "constant.other.placeholder.makefile"
},
{
"include": "#comment"
},
{
"include": "#variables"
}
]
},
{
"begin": "^\\t",
"end": "$",
"name": "meta.scope.recipe.makefile",
"patterns": [
{
"match": "\\\\\\n",
"name": "constant.character.escape.continuation.makefile"
},
{
"include": "#variables"
},
{
"include": "source.shell"
}
]
}
]
},
"variable-assignment": {
"begin": "(^[ ]*|\\G\\s*)([^\\s:#=]+)\\s*(=|\\?=|:=|\\+=)",
"beginCaptures": {
"2": {
"name": "variable.other.makefile"
},
"3": {
"name": "keyword.operator.assignment.makefile"
}
},
"end": "\\n",
"patterns": [
{
"match": "\\\\\\n",
"name": "constant.character.escape.continuation.makefile"
},
{
"include": "#comment"
},
{
"include": "#variables"
},
{
"include": "#interpolation"
}
]
},
"variables": {
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.variable.makefile"
}
},
"match": "(\\$?\\$)[@%<?^+|*]",
"name": "variable.language.makefile"
},
{
"match": "\\b@\\w+@\\b",
"name": "string.interpolated.makefile"
},
{
"begin": "\\$?\\$\\(",
"captures": {
"0": {
"name": "punctuation.definition.variable.makefile"
}
},
"end": "\\)",
"name": "string.interpolated.makefile",
"patterns": [
{
"include": "source.shell#string"
},
{
"include": "#variables"
},
{
"match": "\\G(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\.LIBPATTERNS)(?=\\s*\\))",
"name": "variable.language.makefile"
},
{
"begin": "\\G(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\s",
"beginCaptures": {
"1": {
"name": "support.function.$1.makefile"
}
},
"end": "(?=\\))",
"name": "meta.scope.function-call.makefile",
"patterns": [
{
"include": "#variables"
},
{
"include": "source.shell#string"
},
{
"match": "%|\\*",
"name": "constant.other.placeholder.makefile"
}
]
},
{
"begin": "\\G(origin|flavor)\\s(?=[^\\s)]+\\s*\\))",
"beginCaptures": {
"1": {
"name": "support.function.$1.makefile"
}
},
"contentName": "variable.other.makefile",
"end": "(?=\\))",
"name": "meta.scope.function-call.makefile",
"patterns": [
{
"include": "#variables"
},
{
"include": "source.shell#string"
}
]
},
{
"begin": "\\G(?!\\))",
"end": "(?=\\))",
"name": "variable.other.makefile",
"patterns": [
{
"include": "#variables"
},
{
"include": "source.shell#string"
}
]
}
]
}
]
}
}
}

63
data/source.mod.json

@ -0,0 +1,63 @@
{
"scopeName": "source.mod",
"name": "Go Module File",
"fileTypes": [
"mod"
],
"patterns": [
{
"comment": "Module keyword",
"match": "\\bmodule\\b",
"name": "keyword.module.module"
},
{
"comment": "Require keyword",
"match": "\\brequire\\b",
"name": "keyword.module.require"
},
{
"comment": "Replace keyword",
"match": "\\breplace\\b",
"name": "keyword.module.replace"
},
{
"comment": "Exclude keyword",
"match": "\\bexclude\\b",
"name": "keyword.module.exclude"
},
{
"comment": "Version string",
"match": "v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:\\-(\\d{4}(?:0[1-9]|1[0-2])(?:0[1-9]|[1-2]\\d|3[0-1])(?:[0-1]\\d|2[0-3])(?:[0-5]\\d)(?:[0-5]\\d)))?(?:\\-([a-zA-Z\\d]{12}))?(?:\\+(incompatible))?",
"name": "string.unquoted.version.go"
},
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.begin.bracket.round.go"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.end.bracket.round.go"
}
},
"patterns": [
{
"include": "$self"
}
]
},
{
"begin": "//",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.go"
}
},
"end": "$",
"name": "comment.line.double-slash.go"
}
]
}

997
data/source.objc.json

File diff suppressed because one or more lines are too long

17
data/source.objcpp.json

@ -0,0 +1,17 @@
{
"scopeName": "source.objcpp",
"fileTypes": [
"mm",
"M",
"h"
],
"name": "Objective-C++",
"patterns": [
{
"include": "source.cpp"
},
{
"include": "source.objc"
}
]
}

2816
data/source.perl.json

File diff suppressed because it is too large

350
data/source.perl6.json

@ -0,0 +1,350 @@
{
"scopeName": "source.perl6",
"name": "Perl 6",
"fileTypes": [
"p6",
"pl6",
"pm6",
"nqp",
"pod6"
],
"firstLineMatch": "(?x)\n# Hashbang\n^\\#!.*(?:\\s|\\/|(?<=!)\\b)(?:perl6|nqp)(?:$|\\s)\n|\n# Perl 6 pragma\n\\buse\\s+v6\\b\n|\n# Modeline\n(?i:\n # Emacs\n -\\*-(?:(?:(?!mode\\s*:)[^:;]+:[^:;]+;)*\\s*mode\\s*:)?\\s*\n perl6\n \\s*(?:;[^:;]+:[^:;]+?)*;?\\s*-\\*-\n |\n # Vim\n (?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|(?!^)\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n perl6\n (?=\\s|:|$)\n)",
"patterns": [
{
"begin": "^=begin",
"end": "^=end",
"name": "comment.block.perl6"
},
{
"begin": "(^[ \\t]+)?(?=#)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.perl6"
}
},
"end": "(?!\\G)",
"patterns": [
{
"begin": "#",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.perl6"
}
},
"end": "\\n",
"name": "comment.line.number-sign.perl6"
}
]
},
{
"captures": {
"1": {
"name": "storage.type.class.perl6"
},
"3": {
"name": "entity.name.type.class.perl6"
}
},
"match": "(class|enum|grammar|knowhow|module|package|role|slang|subset)(\\s+)(((?:::|')?(?:([a-zA-Z_À-ÿ\\$])([a-zA-Z0-9_À-ÿ\\$]|[\\-'][a-zA-Z0-9_À-ÿ\\$])*))+)",
"name": "meta.class.perl6"
},
{
"begin": "(?<=\\s)'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.perl6"
}
},
"end": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.perl6"
}
},
"name": "string.quoted.single.perl6",
"patterns": [
{
"match": "\\\\['\\\\]",
"name": "constant.character.escape.perl6"
}
]
},
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.perl6"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.perl6"
}
},
"name": "string.quoted.double.perl6",
"patterns": [
{
"match": "\\\\[abtnfre\"\\\\]",
"name": "constant.character.escape.perl6"
}
]
},
{
"begin": "q(q|to|heredoc)*\\s*:?(q|to|heredoc)*\\s*/(.+)/",
"end": "\\3",
"name": "string.quoted.single.heredoc.perl6"
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*{{",
"end": "}}",
"name": "string.quoted.double.heredoc.brace.perl6",
"patterns": [
{
"include": "#qq_brace_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*<<",
"end": ">>",
"name": "string.quoted.double.heredoc.angle.perl6",
"patterns": [
{
"include": "#qq_angle_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\(\\(",
"end": "\\)\\)",
"name": "string.quoted.double.heredoc.paren.perl6",
"patterns": [
{
"include": "#qq_paren_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\[\\[",
"end": "\\]\\]",
"name": "string.quoted.double.heredoc.bracket.perl6",
"patterns": [
{
"include": "#qq_bracket_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*{",
"end": "}",
"name": "string.quoted.single.heredoc.brace.perl6",
"patterns": [
{
"include": "#qq_brace_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*<",
"end": ">",
"name": "string.quoted.single.heredoc.angle.perl6",
"patterns": [
{
"include": "#qq_angle_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*/",
"end": "/",
"name": "string.quoted.single.heredoc.slash.perl6",
"patterns": [
{
"include": "#qq_slash_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\(",
"end": "\\)",
"name": "string.quoted.single.heredoc.paren.perl6",
"patterns": [
{
"include": "#qq_paren_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\\[",
"end": "\\]",
"name": "string.quoted.single.heredoc.bracket.perl6",
"patterns": [
{
"include": "#qq_bracket_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*'",
"end": "'",
"name": "string.quoted.single.heredoc.single.perl6",
"patterns": [
{
"include": "#qq_single_string_content"
}
]
},
{
"begin": "(q|Q)(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\s*\"",
"end": "\"",
"name": "string.quoted.single.heredoc.double.perl6",
"patterns": [
{
"include": "#qq_double_string_content"
}
]
},
{
"match": "\\b\\$\\w+\\b",
"name": "variable.other.perl6"
},
{
"match": "\\b(macro|sub|submethod|method|multi|proto|only|rule|token|regex|category)\\b(?:[^-])",
"name": "storage.type.declare.routine.perl6"
},
{
"match": "\\b(self)\\b(?:[^-])",
"name": "variable.language.perl6"
},
{
"match": "\\b(use|require)\\b(?:[^-])",
"name": "keyword.other.include.perl6"
},
{
"match": "\\b(if|else|elsif|unless)\\b(?:[^-])",
"name": "keyword.control.conditional.perl6"
},
{
"match": "\\b(let|my|our|state|temp|has|constant)\\b(?:[^-])",
"name": "storage.type.variable.perl6"
},
{
"match": "\\b(for|loop|repeat|while|until|gather|given)\\b(?:[^-])",
"name": "keyword.control.repeat.perl6"
},
{
"match": "\\b(take|do|when|next|last|redo|return|contend|maybe|defer|default|exit|make|continue|break|goto|leave|async|lift)\\b(?:[^-])",
"name": "keyword.control.flowcontrol.perl6"
},
{
"match": "\\b(is|as|but|trusts|of|returns|handles|where|augment|supersede)\\b(?:[^-])",
"name": "storage.modifier.type.constraints.perl6"
},
{
"match": "\\b(BEGIN|CHECK|INIT|START|FIRST|ENTER|LEAVE|KEEP|UNDO|NEXT|LAST|PRE|POST|END|CATCH|CONTROL|TEMP)\\b(?:[^-])",
"name": "meta.function.perl6"
},
{
"match": "\\b(die|fail|try|warn)\\b(?:[^-])",
"name": "keyword.control.control-handlers.perl6"
},
{
"match": "\\b(prec|irs|ofs|ors|export|deep|binary|unary|reparsed|rw|parsed|cached|readonly|defequiv|will|ref|copy|inline|tighter|looser|equiv|assoc|required)\\b(?:[^-])",
"name": "storage.modifier.perl6"
},
{
"match": "\\b(NaN|Inf)\\b(?:[^-])",
"name": "constant.numeric.perl6"
},
{
"match": "\\b(oo|fatal)\\b(?:[^-])",
"name": "keyword.other.pragma.perl6"
},
{
"match": "\\b(Object|Any|Junction|Whatever|Capture|MatchSignature|Proxy|Matcher|Package|Module|ClassGrammar|Scalar|Array|Hash|KeyHash|KeySet|KeyBagPair|List|Seq|Range|Set|Bag|Mapping|Void|UndefFailure|Exception|Code|Block|Routine|Sub|MacroMethod|Submethod|Regex|Str|str|Blob|Char|ByteCodepoint|Grapheme|StrPos|StrLen|Version|NumComplex|num|complex|Bit|bit|bool|True|FalseIncreasing|Decreasing|Ordered|Callable|AnyCharPositional|Associative|Ordering|KeyExtractorComparator|OrderingPair|IO|KitchenSink|RoleInt|int|int1|int2|int4|int8|int16|int32|int64Rat|rat|rat1|rat2|rat4|rat8|rat16|rat32|rat64Buf|buf|buf1|buf2|buf4|buf8|buf16|buf32|buf64UInt|uint|uint1|uint2|uint4|uint8|uint16|uint32uint64|Abstraction|utf8|utf16|utf32)\\b(?:[^-])",
"name": "support.type.perl6"
},
{
"match": "\\b(div|xx|x|mod|also|leg|cmp|before|after|eq|ne|le|lt|not|gt|ge|eqv|ff|fff|and|andthen|or|xor|orelse|extra|lcm|gcd)\\b(?:[^-])",
"name": "keyword.operator.perl6"
},
{
"match": "(\\$|@|%|&)(\\*|:|!|\\^|~|=|\\?|(<(?=.+>)))?([a-zA-Z_À-ÿ\\$])([a-zA-Z0-9_À-ÿ\\$]|[\\-'][a-zA-Z_À-ÿ\\$][a-zA-Z0-9_À-ÿ\\$])*",
"name": "variable.other.identifier.perl6"
},
{
"match": "([a-zA-Z_À-ÿ\\$])([a-zA-Z0-9_À-ÿ\\$]|[\\-'][a-zA-Z_À-ÿ\\$][a-zA-Z0-9_À-ÿ\\$])*",
"name": "routine.name.perl6"
},
{
"match": "\\b(eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints|chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin|classify|first|sum|keys|values|pairs|defined|delete|exists|elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push|shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign|sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2|pick|chop|p5chop|chomp|p5chomp|lc|lcfirst|uc|ucfirst|capitalize|normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars|nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead|nothing|want|bless|chr|ord|gmtime|time|eof|localtime|gethost|getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs|codes|bytes|clone|print|open|read|write|readline|say|seek|close|opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink|symlink|uniq|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan|sinh|cosh|tanh|asinh|done|acos|acosh|atanh|sech|cosech|cotanh|sech|acosech|acotanh|asech|ok|nok|plan_ok|dies_ok|lives_ok|skip|todo|pass|flunk|force_todo|use_ok|isa_ok|diag|is_deeply|isnt|like|skip_rest|unlike|cmp_ok|eval_dies_ok|nok_error|eval_lives_ok|approx|is_approx|throws_ok|version_lt|plan|EVAL|succ|pred|times|nonce|once|signature|new|connect|operator|undef|undefine|sleep|from|to|infix|postfix|prefix|circumfix|postcircumfix|minmax|lazy|count|unwrap|getc|pi|e|context|void|quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity|assuming|rewind|callwith|callsame|nextwith|nextsame|attr|eval_elsewhere|none|srand|trim|trim_start|trim_end|lastcall|WHAT|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not|true|iterator|by|re|im|invert|flip|gist|flat|tree|is-prime|throws_like|trans)\\b(?:[^-])",
"name": "support.function.perl6"
}
],
"repository": {
"qq_angle_string_content": {
"begin": "<",
"end": ">",
"patterns": [
{
"include": "#qq_angle_string_content"
}
]
},
"qq_brace_string_content": {
"begin": "{",
"end": "}",
"patterns": [
{
"include": "#qq_brace_string_content"
}
]
},
"qq_bracket_string_content": {
"begin": "\\[",
"end": "\\]",
"patterns": [
{
"include": "#qq_bracket_string_content"
}
]
},
"qq_double_string_content": {
"begin": "\"",
"end": "\"",
"patterns": [
{
"include": "#qq_double_string_content"
}
]
},
"qq_paren_string_content": {
"begin": "\\(",
"end": "\\)",
"patterns": [
{
"include": "#qq_paren_string_content"
}
]
},
"qq_single_string_content": {
"begin": "'",
"end": "'",
"patterns": [
{
"include": "#qq_single_string_content"
}
]
},
"qq_slash_string_content": {
"begin": "\\\\/",
"end": "\\\\/",
"patterns": [
{
"include": "#qq_slash_string_content"
}
]
}
}
}

0
data/php/php.json → data/source.php.json

344
data/source.plist.json

@ -0,0 +1,344 @@
{
"fileTypes": [
"plist",
"dict",
"scriptSuite",
"scriptTerminology",
"savedSearch"
],
"firstLineMatch": "\\A// .*?\\b(?i:property list)\\b",
"name": "Property List (Old-Style)",
"patterns": [
{
"begin": "(?=\\(|\\{)",
"end": "(?=not)possible",
"patterns": [
{
"include": "#dictionary"
},
{
"include": "#array"
},
{
"include": "#comment"
},
{
"include": "#stray"
}
]
},
{
"include": "#comment"
},
{
"include": "#stray"
}
],
"repository": {
"array": {
"begin": "\\G\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.array.begin.plist"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.array.end.plist"
}
},
"name": "meta.scope.array.plist",
"patterns": [
{
"include": "#array_item"
},
{
"include": "#comment"
},
{
"include": "#stray"
}
]
},
"array_item": {
"begin": "(?=<|\\(|\\{|\"|'|[-a-zA-Z0-9_.])",
"end": ",|(?=\\))",
"endCaptures": {
"0": {
"name": "punctuation.separator.array.plist"
}
},
"name": "meta.scope.array-item.plist",
"patterns": [
{
"include": "#dictionary"
},
{
"include": "#array"
},
{
"include": "#string"
},
{
"include": "#binary"
},
{
"include": "#comment"
},
{
"include": "#stray"
}
]
},
"binary": {
"begin": "\\G<",
"beginCaptures": {
"1": {
"name": "punctuation.definition.data.plist"
}
},
"contentName": "constant.numeric.base64.plist",
"end": "(=?)\\s*(>)",
"endCaptures": {
"1": {
"name": "punctuation.terminator.data.plist"
},
"2": {
"name": "punctuation.definition.data.plist"
}
},
"name": "meta.binary-data.plist",
"patterns": [
{
"match": "[^A-Za-z0-9+/ \\n]",
"name": "invalid.illegal.invalid-character.plist"
}
]
},
"comment": {
"patterns": [
{
"begin": "/\\*",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.begin.plist"
}
},
"end": "\\*/",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.begin.plist"
}
},
"name": "comment.block.plist"
},
{
"begin": "(^[ \\t]+)?(?=//)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.plist"
}
},
"end": "(?!\\G)",
"patterns": [
{
"begin": "//",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.plist"
}
},
"end": "\\n",
"name": "comment.line.double-slash.plist"
}
]
}
]
},
"dictionary": {
"begin": "\\G\\{",
"beginCaptures": {
"0": {
"name": "punctuation.definition.dictionary.begin.plist"
}
},
"end": "\\}",
"endCaptures": {
"0": {
"name": "punctuation.definition.dictionary.end.plist"
}
},
"name": "meta.scope.dictionary.plist",
"patterns": [
{
"include": "#dictionary_item"
},
{
"include": "#comment"
},
{
"include": "#stray"
}
]
},
"dictionary_item": {
"begin": "(?>((\")((?:[^\"\\\\]|\\\\.)*)(\"))|((')((?:[^'\\\\]|\\\\.)*)('))|([-a-zA-Z0-9_.]+))",
"beginCaptures": {
"1": {
"name": "string.quoted.double.plist"
},
"2": {
"name": "punctuation.definition.string.begin.plist"
},
"3": {
"name": "constant.other.key.plist",
"patterns": [
{
"include": "#string-contents"
}
]
},
"4": {
"name": "punctuation.definition.string.end.plist"
},
"5": {
"name": "string.quoted.single.plist"
},
"6": {
"name": "punctuation.definition.string.begin.plist"
},
"7": {
"name": "constant.other.key.plist",
"patterns": [
{
"include": "#string-contents"
}
]
},
"8": {
"name": "punctuation.definition.string.end.plist"
},
"9": {
"name": "constant.other.key.plist"
}
},
"end": ";|(?=\\})",
"endCaptures": {
"0": {
"name": "punctuation.separator.dictionary.plist"
}
},
"name": "meta.scope.dictionary-item.${3/[[\\s\\x20-\\x7F]&&[:^alnum:]]//g}${7/[[\\s\\x20-\\x7F]&&[:^alnum:]]//g}${9/[[\\s\\x20-\\x7F]&&[:^alnum:]]//g}.plist",
"patterns": [
{
"include": "#dictionary_item_contents"
}
]
},
"dictionary_item_contents": {
"patterns": [
{
"begin": "=",
"end": "(?=;|\\})",
"patterns": [
{
"begin": "(?=<|\\(|\\{|\"|'|[-a-zA-Z0-9_.])",
"end": "(?=;|\\})",
"patterns": [
{
"include": "#dictionary"
},
{
"include": "#array"
},
{
"include": "#string"
},
{
"include": "#binary"
},
{
"include": "#stray"
}
]
},
{
"include": "#stray_alpha"
}
]
},
{
"include": "#stray"
}
]
},
"stray": {
"begin": "\\S",
"end": "(?=\\{|\\(|/\\*|//|\"|'|<|,|;|\\)|\\}|=)",
"name": "invalid.illegal.character-not-allowed-here.plist"
},
"stray_alpha": {
"begin": "\\S",
"end": "(?=\\{|\\(|/\\*|//|\"|'|<|,|;|\\)|\\}|=|\\b[a-zA-Z0-9]|[-_.])",
"name": "invalid.illegal.character-not-allowed-here.plist"
},
"string": {
"patterns": [
{
"begin": "\\G'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.plist"
}
},
"end": "'(?!')",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.plist"
}
},
"name": "string.quoted.single.plist",
"patterns": [
{
"include": "#string-contents"
}
]
},
{
"begin": "\\G\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.plist"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.plist"
}
},
"name": "string.quoted.double.plist",
"patterns": [
{
"include": "#string-contents"
}
]
},
{
"match": "\\G[-+]?\\d+(\\.\\d*)?(E[-+]\\d+)?(?!\\w)",
"name": "constant.numeric.plist"
},
{
"match": "\\G[-a-zA-Z0-9_.]+",
"name": "string.unquoted.plist"
}
]
},
"string-contents": {
"match": "\\\\([uU](\\h{4}|\\h{2})|\\d{1,3}|.)",
"name": "constant.character.escape.plist"
}
},
"scopeName": "source.plist"
}

0
data/python/python.json → data/source.python.json

0
data/python/regular expressions (python).json → data/source.regexp.python.json

0
data/ruby/gemfile.json → data/source.ruby.gemfile.json

0
data/ruby/ruby.json → data/source.ruby.json

196
data/source.ruby.rails.json

@ -0,0 +1,196 @@
{
"scopeName": "source.ruby.rails",
"name": "Ruby on Rails",
"fileTypes": [
"rb",
"rxml",
"builder",
"Gemfile",
"jbuilder",
"json_builder"
],
"foldingStartMarker": "(?x)^\n\t (\\s*+\n\t (module|class|def\n\t |unless|if\n\t |case\n\t |begin\n\t |for|while|until\n\t |( \"(\\\\.|[^\"])*+\" # eat a double quoted string\n\t | '(\\\\.|[^'])*+' # eat a single quoted string\n\t | [^#\"'] # eat all but comments and strings\n\t )*\n\t ( \\s (do|begin|case)\n\t | [-+=&|*/~%^<>~] \\s*+ (if|unless)\n\t )\n\t )\\b\n\t (?! [^;]*+ ; .*? \\bend\\b )\n\t |( \"(\\\\.|[^\"])*+\" # eat a double quoted string\n\t | '(\\\\.|[^'])*+' # eat a single quoted string\n\t | [^#\"'] # eat all but comments and strings\n\t )*\n\t ( \\{ (?! [^}]*+ \\} )\n\t | \\[ (?! [^\\]]*+ \\] )\n\t )\n\t ).*$\n\t| [#] .*? \\(fold\\) \\s*+ $ # Sune’s special marker\n\t",
"foldingStopMarker": "(?x)\n\t\t( (^|;) \\s*+ end \\s*+ ([#].*)? $\n\t\t| ^ \\s*+ [}\\]] \\s*+ ([#].*)? $\n\t\t| [#] .*? \\(end\\) \\s*+ $ # Sune’s special marker\n\t\t)",
"patterns": [
{
"begin": "(^\\s*)(?=class\\s+(([.a-zA-Z0-9_:]+ControllerTest(\\s*<\\s*[.a-zA-Z0-9_:]+)?)))",
"comment": "Uses lookahead to match classes with the ControllerTest suffix; includes 'source.ruby' to avoid infinite recursion",
"end": "^\\1(?=end)\\b",
"name": "meta.rails.functional_test",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"begin": "(^\\s*)(?=class\\s+(([.a-zA-Z0-9_:]+Controller\\b(\\s*<\\s*[.a-zA-Z0-9_:]+)?)|(<<\\s*[.a-zA-Z0-9_:]+)))(?!.+\\bend\\b)",
"comment": "Uses lookahead to match classes with the Controller suffix; includes 'source.ruby' to avoid infinite recursion",
"end": "^\\1(?=end)\\b",
"name": "meta.rails.controller",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"begin": "(^\\s*)(?=module\\s+((([A-Z]\\w*::)*)[A-Z]\\w*)Helper)",
"comment": "Uses lookahead to match modules with the Helper suffix; includes 'source.ruby' to avoid infinite recursion",
"end": "^\\1(?=end)\\b",
"name": "meta.rails.helper",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"begin": "(^\\s*)(?=class\\s+(([.a-zA-Z0-9_:]+(\\s*<\\s*(ActionMailer::Base|ApplicationMailer)))))",
"comment": "Uses lookahead to match classes that inherit from ActionMailer::Base or ApplicationMailer; includes 'source.ruby' to avoid infinite recursion",
"end": "^\\1(?=end)\\b",
"name": "meta.rails.mailer",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"begin": "(^\\s*)(?=class\\s+.+(ActiveRecord::Base|ApplicationRecord))",
"comment": "Uses lookahead to match classes that (may) inherit from ActiveRecord::Base or ApplicationRecord; includes 'source.ruby' to avoid infinite recursion",
"end": "^\\1(?=end)\\b",
"name": "meta.rails.model",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"begin": "(^\\s*)(?=class\\s+.+ActiveRecord::Migration)",
"comment": "Uses lookahead to match classes that (may) inherit from ActiveRecord::Migration; includes 'source.ruby' to avoid infinite recursion",
"end": "^\\1(?=end)\\b",
"name": "meta.rails.migration",
"patterns": [
{
"begin": "(^\\s*)(?=change_table)\\b",
"comment": "Uses lookahead to match methods change_table; includes 'source.ruby' to avoid infinite recursion",
"contentName": "meta.rails.migration.change_table",
"end": "^\\1(?=end)\\b",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"begin": "(^\\s*)(?=create_table)\\b",
"comment": "Uses lookahead to match methods create_table; includes 'source.ruby' to avoid infinite recursion",
"contentName": "meta.rails.migration.create_table",
"end": "^\\1(?=end)\\b",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"begin": "(^\\s*)(?=ActiveRecord::Schema.define)",
"end": "^\\1(?=end)\\b",
"name": "meta.rails.schema",
"patterns": [
{
"begin": "(^\\s*)(?=create_table)\\b",
"comment": "Uses lookahead to match methods create_table; includes 'source.ruby' to avoid infinite recursion",
"contentName": "meta.rails.migration.create_table",
"end": "^\\1(?=end)\\b",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
}
]
},
{
"begin": "(^\\s*)(?=class\\s+(?![.a-zA-Z0-9_:]+ControllerTest)(([.a-zA-Z0-9_:]+Test(\\s*<\\s*[.a-zA-Z0-9_:]+)?)|(<<\\s*[.a-zA-Z0-9_:]+)))",
"comment": "Uses lookahead to match classes with the Test suffix; includes 'source.ruby' to avoid infinite recursion",
"end": "^\\1(?=end)\\b",
"name": "meta.rails.unit_test",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"begin": "(^\\s*)\\w*::Application.routes.draw|(^\\s*)ActionController::Routing::Routes|(^\\s*)Rails.application.routes.draw",
"comment": "Uses ::Application.routes.draw to determine it is a routes file; includes 'source.ruby' to avoid infinite recursion",
"end": "^\\1(?=end)\\b",
"name": "meta.rails.routes",
"patterns": [
{
"include": "source.ruby"
},
{
"include": "$self"
}
]
},
{
"match": "\\b(after_action|after_filter|append_after_action|append_after_filter|append_around_action|append_around_filter|append_before_action|append_before_filter|around_action|around_filter|before_action|before_filter|prepend_after_action|prepend_after_filter|prepend_around_action|prepend_around_filter|prepend_before_action|prepend_before_filter|skip_action_callback|skip_after_action|skip_after_filter|skip_around_action|skip_around_filter|skip_before_action|skip_before_filter|skip_filter|filter|filter_parameter_logging|layout|require_dependency|render|render_action|render_text|render_file|render_template|render_nothing|render_component|render_without_layout|rescue_from|url_for|redirect_to|redirect_to_path|redirect_to_url|respond_to|helper|helper_method|head|model|service|observer|serialize|scaffold|verify|hide_action)\\b",
"name": "support.function.actionpack.rails"
},
{
"match": "\\b(check_box|color_field|content_for|date_field|datetime_field|datetime_local_field|email_field|error_messages_for|fields_for|file_field|form_for|hidden_field|image_submit_tag|image_tag|label|link_to|month_field|number_field|password_field|radio_button|range_field|search_field|submit|telephone_field|text_area|text_field|time_field|url_field|week_field)\\b",
"name": "support.function.viewhelpers.rails"
},
{
"match": "\\b(after_commit|after_create|after_destroy|after_find|after_initialize|after_rollback|after_save|after_touch|after_update|after_validation|after_validation_on_create|after_validation_on_update|around_create|around_destroy|around_save|around_update|before_create|before_destroy|before_save|before_update|before_validation|before_validation_on_create|before_validation_on_update|composed_of|belongs_to|has_one|has_many|has_and_belongs_to_many|store_accessor|validate|validates|validate_on_create|validates_numericality_of|validate_on_update|validates_acceptance_of|validates_associated|validates_confirmation_of|validates_each|validates_format_of|validates_inclusion_of|validates_exclusion_of|validates_length_of|validates_presence_of|validates_size_of|validates_uniqueness_of|enum|attr_protected|attr_accessible|attr_readonly|accepts_nested_attributes_for|default_scope|scope)\\b",
"name": "support.function.activerecord.rails"
},
{
"match": "\\b(alias_method_chain|alias_attribute|delegate|cattr_accessor|mattr_accessor|returning|memoize)\\b",
"name": "support.function.activesupport.rails"
},
{
"include": "source.ruby"
}
]
}

12
data/source.ruby.rails.rjs.json

@ -0,0 +1,12 @@
{
"scopeName": "source.ruby.rails.rjs",
"name": "Ruby on Rails (RJS)",
"fileTypes": [
"rjs"
],
"patterns": [
{
"include": "source.ruby"
}
]
}

689
data/source.rust.json

@ -0,0 +1,689 @@
{
"name": "Rust",
"scopeName": "source.rust",
"fileTypes": [
"rs"
],
"repository": {
"block_doc_comment": {
"comment": "Block documentation comment",
"name": "comment.block.documentation.rust",
"begin": "/\\*[\\*!](?![\\*/])",
"end": "\\*/",
"patterns": [
{
"include": "#block_doc_comment"
},
{
"include": "#block_comment"
}
]
},
"block_comment": {
"comment": "Block comment",
"name": "comment.block.rust",
"begin": "/\\*",
"end": "\\*/",
"patterns": [
{
"include": "#block_doc_comment"
},
{
"include": "#block_comment"
}
]
},
"line_doc_comment": {
"comment": "Single-line documentation comment",
"name": "comment.line.documentation.rust",
"begin": "//[!/](?=[^/])",
"end": "$"
},
"line_comment": {
"comment": "Single-line comment",
"name": "comment.line.double-slash.rust",
"begin": "//",
"end": "$"
},
"escaped_character": {
"name": "constant.character.escape.rust",
"match": "\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"
},
"string_literal": {
"comment": "Double-quote string literal",
"name": "string.quoted.double.rust",
"begin": "b?\"",
"end": "\"",
"patterns": [
{
"include": "#escaped_character"
}
]
},
"raw_string_literal": {
"comment": "Raw double-quote string literal",
"name": "string.quoted.double.raw.rust",
"begin": "b?r(#*)\"",
"end": "\"\\1"
},
"sigils": {
"comment": "Sigil",
"name": "keyword.operator.sigil.rust",
"match": "[&*](?=[a-zA-Z0-9_\\(\\[\\|\\\"]+)"
},
"self": {
"comment": "Self variable",
"name": "variable.language.rust",
"match": "\\bself\\b"
},
"mut": {
"comment": "Mutable storage modifier",
"name": "storage.modifier.mut.rust",
"match": "\\bmut\\b"
},
"dyn": {
"comment": "Dynamic modifier",
"name": "storage.modifier.dyn.rust",
"match": "\\bdyn\\b"
},
"impl": {
"comment": "Existential type modifier",
"name": "storage.modifier.impl.rust",
"match": "\\bimpl\\b"
},
"box": {
"comment": "Box storage modifier",
"name": "storage.modifier.box.rust",
"match": "\\bbox\\b"
},
"const": {
"comment": "Const storage modifier",
"name": "storage.modifier.const.rust",
"match": "\\bconst\\b"
},
"pub": {
"comment": "Visibility modifier",
"name": "storage.modifier.visibility.rust",
"match": "\\bpub\\b"
},
"unsafe": {
"comment": "Unsafe code keyword",
"name": "keyword.other.unsafe.rust",
"match": "\\bunsafe\\b"
},
"where": {
"comment": "Generic where clause",
"name": "keyword.other.where.rust",
"match": "\\bwhere\\b"
},
"lifetime": {
"comment": "Named lifetime",
"name": "storage.modifier.lifetime.rust",
"match": "'([a-zA-Z_][a-zA-Z0-9_]*)\\b",
"captures": {
"1": {
"name": "entity.name.lifetime.rust"
}
}
},
"ref_lifetime": {
"comment": "Reference with named lifetime",
"match": "&('([a-zA-Z_][a-zA-Z0-9_]*))\\b",
"captures": {
"1": {
"name": "storage.modifier.lifetime.rust"
},
"2": {
"name": "entity.name.lifetime.rust"
}
}
},
"core_types": {
"comment": "Built-in/core type",
"name": "storage.type.core.rust",
"match": "\\b(bool|char|usize|isize|u8|u16|u32|u64|u128|i8|i16|i32|i64|i128|f32|f64|str|Self|Option|Result)\\b"
},
"core_vars": {
"comment": "Core type variant",
"name": "support.constant.core.rust",
"match": "\\b(Some|None|Ok|Err)\\b"
},
"core_marker": {
"comment": "Core trait (marker)",
"name": "support.type.marker.rust",
"match": "\\b(Copy|Send|Sized|Sync)\\b"
},
"core_traits": {
"comment": "Core trait",
"name": "support.type.core.rust",
"match": "\\b(Drop|Fn|FnMut|FnOnce|Clone|PartialEq|PartialOrd|Eq|Ord|AsRef|AsMut|Into|From|Default|Iterator|Extend|IntoIterator|DoubleEndedIterator|ExactSizeIterator)\\b"
},
"std_types": {
"comment": "Standard library type",
"name": "storage.class.std.rust",
"match": "\\b(Box|String|Vec|Path|PathBuf)\\b"
},
"std_traits": {
"comment": "Standard library trait",
"name": "support.type.std.rust",
"match": "\\b(ToOwned|ToString)\\b"
},
"type": {
"comment": "A type",
"name": "entity.name.type.rust",
"match": "\\b([A-Za-z][_A-Za-z0-9]*|_[_A-Za-z0-9]+)\\b"
},
"type_params": {
"comment": "Type parameters",
"name": "meta.type_params.rust",
"begin": "<(?![=<])",
"end": "(?<![-])>",
"patterns": [
{
"include": "#block_comment"
},
{
"include": "#line_comment"
},
{
"include": "#sigils"
},
{
"include": "#mut"
},
{
"include": "#dyn"
},
{
"include": "#impl"
},
{
"include": "#lifetime"
},
{
"include": "#core_types"
},
{
"include": "#core_marker"
},
{
"include": "#core_traits"
},
{
"include": "#std_types"
},
{
"include": "#std_traits"
},
{
"include": "#type_params"
}
]
}
},
"patterns": [
{
"comment": "Implementation",
"begin": "\\b(impl)\\b",
"end": "\\{",
"beginCaptures": {
"1": {
"name": "storage.type.rust"
}
},
"patterns": [
{
"include": "#block_comment"
},
{
"include": "#line_comment"
},
{
"include": "#sigils"
},
{
"include": "#mut"
},
{
"include": "#dyn"
},
{
"include": "#ref_lifetime"
},
{
"include": "#core_types"
},
{
"include": "#core_marker"
},
{
"include": "#core_traits"
},
{
"include": "#std_types"
},
{
"include": "#std_traits"
},
{
"include": "#type_params"
},
{
"include": "#where"
},
{
"name": "storage.type.rust",
"match": "\\bfor\\b"
},
{
"include": "#type"
}
]
},
{
"include": "#block_doc_comment"
},
{
"include": "#block_comment"
},
{
"include": "#line_doc_comment"
},
{
"include": "#line_comment"
},
{
"comment": "Attribute",
"name": "meta.attribute.rust",
"begin": "#\\!?\\[",
"end": "\\]",
"patterns": [
{
"include": "#string_literal"
},
{
"include": "#block_doc_comment"
},
{
"include": "#block_comment"
},
{
"include": "#line_doc_comment"
},
{
"include": "#line_comment"
}
]
},
{
"comment": "Single-quote string literal (character)",
"name": "string.quoted.single.rust",
"match": "b?'([^'\\\\]|\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.))'"
},
{
"include": "#string_literal"
},
{
"include": "#raw_string_literal"
},
{
"comment": "Floating point literal (fraction)",
"name": "constant.numeric.float.rust",
"match": "\\b[0-9][0-9_]*\\.[0-9][0-9_]*([eE][+-]?[0-9_]+)?(f32|f64)?\\b"
},
{
"comment": "Floating point literal (exponent)",
"name": "constant.numeric.float.rust",
"match": "\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?[eE][+-]?[0-9_]+(f32|f64)?\\b"
},
{
"comment": "Floating point literal (typed)",
"name": "constant.numeric.float.rust",
"match": "\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?([eE][+-]?[0-9_]+)?(f32|f64)\\b"
},
{
"comment": "Integer literal (decimal)",
"name": "constant.numeric.integer.decimal.rust",
"match": "\\b[0-9][0-9_]*([ui](8|16|32|64|128|s|size))?\\b"
},
{
"comment": "Integer literal (hexadecimal)",
"name": "constant.numeric.integer.hexadecimal.rust",
"match": "\\b0x[a-fA-F0-9_]+([ui](8|16|32|64|128|s|size))?\\b"
},
{
"comment": "Integer literal (octal)",
"name": "constant.numeric.integer.octal.rust",
"match": "\\b0o[0-7_]+([ui](8|16|32|64|128|s|size))?\\b"
},
{
"comment": "Integer literal (binary)",
"name": "constant.numeric.integer.binary.rust",
"match": "\\b0b[01_]+([ui](8|16|32|64|128|s|size))?\\b"
},
{
"comment": "Static storage modifier",
"name": "storage.modifier.static.rust",
"match": "\\bstatic\\b"
},
{
"comment": "Boolean constant",
"name": "constant.language.boolean.rust",
"match": "\\b(true|false)\\b"
},
{
"comment": "Control keyword",
"name": "keyword.control.rust",
"match": "\\b(async|await|break|continue|else|if|in|for|loop|match|return|try|while)\\b"
},
{
"comment": "Keyword",
"name": "keyword.other.rust",
"match": "\\b(crate|extern|mod|let|ref|use|super|move)\\b"
},
{
"comment": "Reserved keyword",
"name": "invalid.deprecated.rust",
"match": "\\b(abstract|alignof|become|do|final|macro|offsetof|override|priv|proc|pure|sizeof|typeof|virtual|yield)\\b"
},
{
"include": "#unsafe"
},
{
"include": "#sigils"
},
{
"include": "#self"
},
{
"include": "#mut"
},
{
"include": "#dyn"
},
{
"include": "#impl"
},
{
"include": "#box"
},
{
"include": "#lifetime"
},
{
"include": "#ref_lifetime"
},
{
"include": "#const"
},
{
"include": "#pub"
},
{
"comment": "Miscellaneous operator",
"name": "keyword.operator.misc.rust",
"match": "(=>|::|\\bas\\b)"
},
{
"comment": "Comparison operator",
"name": "keyword.operator.comparison.rust",
"match": "(&&|\\|\\||==|!=)"
},
{
"comment": "Assignment operator",
"name": "keyword.operator.assignment.rust",
"match": "(\\+=|-=|/=|\\*=|%=|\\^=|&=|\\|=|<<=|>>=|=)"
},
{
"comment": "Arithmetic operator",
"name": "keyword.operator.arithmetic.rust",
"match": "(!|\\+|-|/|\\*|%|\\^|&|\\||<<|>>)"
},
{
"comment": "Comparison operator (second group because of regex precedence)",
"name": "keyword.operator.comparison.rust",
"match": "(<=|>=|<|>)"
},
{
"include": "#core_types"
},
{
"include": "#core_vars"
},
{
"include": "#core_marker"
},
{
"include": "#core_traits"
},
{
"include": "#std_types"
},
{
"include": "#std_traits"
},
{
"comment": "Built-in macro",
"name": "support.function.builtin.rust",
"match": "\\b(macro_rules|compile_error|format_args|env|option_env|concat_idents|concat|line|column|file|stringify|include|include_str|include_bytes|module_path|cfg)!"
},
{
"comment": "Core macro",
"name": "support.function.core.rust",
"match": "\\b(panic|assert|assert_eq|assert_ne|debug_assert|debug_assert_eq|debug_assert_ne|try|write|writeln|unreachable|unimplemented)!"
},
{
"comment": "Standard library macro",
"name": "support.function.std.rust",
"match": "\\b(format|print|println|eprint|eprintln|select|vec)!"
},
{
"comment": "Logging macro",
"name": "support.function.log.rust",
"match": "\\b(log|error|warn|info|debug|trace|log_enabled)!"
},
{
"comment": "Invokation of a macro",
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*\\!)\\s*[({\\[]",
"captures": {
"1": {
"name": "entity.name.function.macro.rust"
}
}
},
{
"comment": "Function call",
"match": "\\b([A-Za-z][A-Za-z0-9_]*|_[A-Za-z0-9_]+)\\s*\\(",
"captures": {
"1": {
"name": "entity.name.function.rust"
}
}
},
{
"comment": "Function call with type parameters",
"begin": "\\b([A-Za-z][A-Za-z0-9_]*|_[A-Za-z0-9_]+)\\s*(::)(?=\\s*<.*>\\s*\\()",
"end": "\\(",
"captures": {
"1": {
"name": "entity.name.function.rust"
},
"2": {
"name": "keyword.operator.misc.rust"
}
},
"patterns": [
{
"include": "#type_params"
}
]
},
{
"comment": "Function definition",
"begin": "\\b(fn)\\s+([A-Za-z][A-Za-z0-9_]*|_[A-Za-z0-9_]+)",
"end": "[\\{;]",
"beginCaptures": {
"1": {
"name": "keyword.other.fn.rust"
},
"2": {
"name": "entity.name.function.rust"
}
},
"patterns": [
{
"include": "#block_comment"
},
{
"include": "#line_comment"
},
{
"include": "#sigils"
},
{
"include": "#self"
},
{
"include": "#mut"
},
{
"include": "#dyn"
},
{
"include": "#impl"
},
{
"include": "#ref_lifetime"
},
{
"include": "#core_types"
},
{
"include": "#core_marker"
},
{
"include": "#core_traits"
},
{
"include": "#std_types"
},
{
"include": "#std_traits"
},
{
"include": "#type_params"
},
{
"include": "#const"
},
{
"include": "#where"
},
{
"include": "#unsafe"
},
{
"comment": "Function arguments",
"match": "\bfn\b",
"name": "keyword.other.fn.rust"
}
]
},
{
"comment": "Type declaration",
"begin": "\\b(enum|struct|trait|union)\\s+([a-zA-Z_][a-zA-Z0-9_]*)",
"end": "[\\{\\(;]",
"beginCaptures": {
"1": {
"name": "storage.type.rust"
},
"2": {
"name": "entity.name.type.rust"
}
},
"patterns": [
{
"include": "#block_comment"
},
{
"include": "#line_comment"
},
{
"include": "#core_traits"
},
{
"include": "#std_traits"
},
{
"include": "#type_params"
},
{
"include": "#core_types"
},
{
"include": "#pub"
},
{
"include": "#where"
}
]
},
{
"comment": "Type alias",
"begin": "\\b(type)\\s+([a-zA-Z_][a-zA-Z0-9_]*)",
"end": ";",
"beginCaptures": {
"1": {
"name": "storage.type.rust"
},
"2": {
"name": "entity.name.type.rust"
}
},
"patterns": [
{
"include": "#block_comment"
},
{
"include": "#line_comment"
},
{
"include": "#sigils"
},
{
"include": "#mut"
},
{
"include": "#dyn"
},
{
"include": "#impl"
},
{
"include": "#lifetime"
},
{
"include": "#ref_lifetime"
},
{
"include": "#core_types"
},
{
"include": "#core_marker"
},
{
"include": "#core_traits"
},
{
"include": "#std_types"
},
{
"include": "#std_traits"
},
{
"include": "#type_params"
}
]
}
]
}

1093
data/source.sass.json

File diff suppressed because it is too large

348
data/source.sassdoc.json

@ -0,0 +1,348 @@
{
"scopeName": "source.sassdoc",
"name": "SassDoc",
"patterns": [
{
"match": "(?x)\n((@)(?:access))\n\\s+\n(private|public)\n\\b",
"captures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
},
"3": {
"name": "constant.language.access-type.sassdoc"
}
}
},
{
"match": "(?x)\n((@)author)\n\\s+\n(\n [^@\\s<>*/]\n (?:[^@<>*/]|\\*[^/])*\n)\n(?:\n \\s*\n (<)\n ([^>\\s]+)\n (>)\n)?",
"captures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
},
"3": {
"name": "entity.name.type.instance.sassdoc"
},
"4": {
"name": "punctuation.definition.bracket.angle.begin.sassdoc"
},
"5": {
"name": "constant.other.email.link.underline.sassdoc"
},
"6": {
"name": "punctuation.definition.bracket.angle.end.sassdoc"
}
}
},
{
"name": "meta.example.css.scss.sassdoc",
"begin": "(?x)\n((@)example)\n\\s+\n(css|scss)",
"end": "(?=@|///$)",
"beginCaptures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
},
"3": {
"name": "variable.other.sassdoc"
}
},
"patterns": [
{
"match": "^///\\s+"
},
{
"match": "[^\\s@*](?:[^*]|\\*[^/])*",
"captures": {
"0": {
"name": "source.embedded.css.scss",
"patterns": [
{
"include": "source.css.scss"
}
]
}
}
}
]
},
{
"name": "meta.example.html.sassdoc",
"begin": "(?x)\n((@)example)\n\\s+\n(markup)",
"end": "(?=@|///$)",
"beginCaptures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
},
"3": {
"name": "variable.other.sassdoc"
}
},
"patterns": [
{
"match": "^///\\s+"
},
{
"match": "[^\\s@*](?:[^*]|\\*[^/])*",
"captures": {
"0": {
"name": "source.embedded.html",
"patterns": [
{
"include": "source.html"
}
]
}
}
}
]
},
{
"name": "meta.example.js.sassdoc",
"begin": "(?x)\n((@)example)\n\\s+\n(javascript)",
"end": "(?=@|///$)",
"beginCaptures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
},
"3": {
"name": "variable.other.sassdoc"
}
},
"patterns": [
{
"match": "^///\\s+"
},
{
"match": "[^\\s@*](?:[^*]|\\*[^/])*",
"captures": {
"0": {
"name": "source.embedded.js",
"patterns": [
{
"include": "source.js"
}
]
}
}
}
]
},
{
"match": "(?x)\n((@)link)\n\\s+\n(?:\n # URL\n (\n (?=https?://)\n (?:[^\\s*]|\\*[^/])+\n )\n)",
"captures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
},
"3": {
"name": "variable.other.link.underline.sassdoc"
},
"4": {
"name": "entity.name.type.instance.sassdoc"
}
}
},
{
"match": "(?x)\n(\n (@)\n (?:arg|argument|param|parameter|requires?|see|colors?|fonts?|ratios?|sizes?)\n)\n\\s+\n(\n [A-Za-z_$%]\n [\\-\\w$.\\[\\]]*\n)",
"captures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
},
"3": {
"name": "variable.other.sassdoc"
}
}
},
{
"begin": "((@)(?:arg|argument|param|parameter|prop|property|requires?|see|sizes?))\\s+(?={)",
"beginCaptures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
}
},
"end": "(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",
"patterns": [
{
"include": "#sassdoctype"
},
{
"match": "([A-Za-z_$%][\\-\\w$.\\[\\]]*)",
"name": "variable.other.sassdoc"
},
{
"name": "variable.other.sassdoc",
"match": "(?x)\n(\\[)\\s*\n[\\w$]+\n(?:\n (?:\\[\\])? # Foo[].bar properties within an array\n \\. # Foo.Bar namespaced parameter\n [\\w$]+\n)*\n(?:\n \\s*\n (=) # [foo=bar] Default parameter value\n \\s*\n (\n # The inner regexes are to stop the match early at */ and to not stop at escaped quotes\n (?>\n \"(?:(?:\\*(?!/))|(?:\\\\(?!\"))|[^*\\\\])*?\" | # [foo=\"bar\"] Double-quoted\n '(?:(?:\\*(?!/))|(?:\\\\(?!'))|[^*\\\\])*?' | # [foo='bar'] Single-quoted\n \\[ (?:(?:\\*(?!/))|[^*])*? \\] | # [foo=[1,2]] Array literal\n (?:(?:\\*(?!/))|\\s(?!\\s*\\])|\\[.*?(?:\\]|(?=\\*/))|[^*\\s\\[\\]])* # Everything else (sorry)\n )*\n )\n)?\n\\s*(?:(\\])((?:[^*\\s]|\\*[^\\s/])+)?|(?=\\*/))",
"captures": {
"1": {
"name": "punctuation.definition.optional-value.begin.bracket.square.sassdoc"
},
"2": {
"name": "keyword.operator.assignment.sassdoc"
},
"3": {
"name": "source.embedded.js",
"patterns": [
{
"include": "source.js"
}
]
},
"4": {
"name": "punctuation.definition.optional-value.end.bracket.square.sassdoc"
},
"5": {
"name": "invalid.illegal.syntax.sassdoc"
}
}
}
]
},
{
"begin": "(?x)\n(\n (@)\n (?:returns?|throws?|exception|outputs?)\n)\n\\s+(?={)",
"beginCaptures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
}
},
"end": "(?=\\s|[^{}\\[\\]A-Za-z_$])",
"patterns": [
{
"include": "#sassdoctype"
}
]
},
{
"match": "(?x)\n(\n (@)\n (?:type)\n)\n\\s+\n(\n (?:\n [A-Za-z |]+\n )\n)",
"captures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
},
"3": {
"name": "entity.name.type.instance.sassdoc",
"patterns": [
{
"include": "#sassdoctypedelimiter"
}
]
}
}
},
{
"match": "(?x)\n(\n (@)\n (?:alias|group|name|requires?|see|icons?)\n)\n\\s+\n(\n (?:\n [^{}@\\s*] | \\*[^/]\n )+\n)",
"captures": {
"1": {
"name": "storage.type.class.sassdoc"
},
"2": {
"name": "punctuation.definition.block.tag.sassdoc"
},
"3": {
"name": "entity.name.type.instance.sassdoc"
}
}
},
{
"name": "storage.type.class.sassdoc",
"match": "(?x)\n(@)\n(?:access|alias|author|content|deprecated|example|exception|group\n|ignore|name|prop|property|requires?|returns?|see|since|throws?|todo\n|type|outputs?)\n\\b",
"captures": {
"1": {
"name": "punctuation.definition.block.tag.sassdoc"
}
}
}
],
"repository": {
"brackets": {
"patterns": [
{
"begin": "{",
"end": "}|(?=$)",
"patterns": [
{
"include": "#brackets"
}
]
},
{
"begin": "\\[",
"end": "\\]|(?=$)",
"patterns": [
{
"include": "#brackets"
}
]
}
]
},
"sassdoctypedelimiter": {
"match": "(\\|)",
"captures": {
"1": {
"name": "punctuation.definition.delimiter.sassdoc"
}
}
},
"sassdoctype": {
"patterns": [
{
"name": "invalid.illegal.type.sassdoc",
"match": "\\G{(?:[^}*]|\\*[^/}])+$"
},
{
"begin": "\\G({)",
"beginCaptures": {
"0": {
"name": "entity.name.type.instance.sassdoc"
},
"1": {
"name": "punctuation.definition.bracket.curly.begin.sassdoc"
}
},
"contentName": "entity.name.type.instance.sassdoc",
"end": "((}))\\s*|(?=$)",
"endCaptures": {
"1": {
"name": "entity.name.type.instance.sassdoc"
},
"2": {
"name": "punctuation.definition.bracket.curly.end.sassdoc"
}
},
"patterns": [
{
"include": "#brackets"
}
]
}
]
}
}
}

0
data/shell/shell-unix-bash.json → data/source.shell.json

0
data/sql/sql.json → data/source.sql.json

13
data/source.sql.mustache.json

@ -0,0 +1,13 @@
{
"scopeName": "source.sql.mustache",
"name": "SQL (Mustache)",
"fileTypes": [],
"patterns": [
{
"include": "text.html.mustache#mustache"
},
{
"include": "source.sql"
}
]
}

29
data/source.sql.ruby.json

@ -0,0 +1,29 @@
{
"scopeName": "source.sql.ruby",
"name": "SQL (Rails)",
"fileTypes": [
"erbsql",
"sql.erb"
],
"foldingStartMarker": "\\s*\\(\\s*$",
"foldingStopMarker": "^\\s*\\)",
"patterns": [
{
"begin": "<%+(?!>)=?",
"end": "%>",
"name": "source.ruby.rails.embedded.sql",
"patterns": [
{
"match": "#.*?(?=%>)",
"name": "comment.line.number-sign.ruby"
},
{
"include": "source.ruby.rails"
}
]
},
{
"include": "source.sql"
}
]
}

52
data/source.strings.json

@ -0,0 +1,52 @@
{
"scopeName": "source.strings",
"fileTypes": [
"strings"
],
"name": "Strings File (Objective-C)",
"patterns": [
{
"begin": "/\\*",
"captures": {
"0": {
"name": "punctuation.definition.comment.strings"
}
},
"end": "\\*/",
"name": "comment.block.strings"
},
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.strings"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.strings"
}
},
"name": "string.quoted.double.strings",
"patterns": [
{
"match": "\\\\(\\\\|[abefnrtv'\"?]|[0-3]\\d{,2}|[4-7]\\d?|x[a-zA-Z0-9]+)",
"name": "constant.character.escape.strings"
},
{
"match": "\\\\.",
"name": "invalid.illegal.unknown-escape.strings"
},
{
"match": "(?x)%\n\t\t\t\t\t\t(\\d+\\$)? # field (argument #)\n\t\t\t\t\t\t[#0\\- +']* # flags\n\t\t\t\t\t\t[,;:_]? # separator character (AltiVec)\n\t\t\t\t\t\t((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n\t\t\t\t\t\t(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n\t\t\t\t\t\t(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n\t\t\t\t\t\t[@diouxXDOUeEfFgGaACcSspn%] # conversion type\n\t\t\t\t\t",
"name": "constant.other.placeholder.strings"
},
{
"match": "%",
"name": "invalid.illegal.placeholder.c"
}
]
}
]
}

19
data/source.sum.json

@ -0,0 +1,19 @@
{
"scopeName": "source.sum",
"name": "Go Checksum File",
"fileTypes": [
"sum"
],
"patterns": [
{
"comment": "Version string",
"match": "v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:\\-(\\d{4}(?:0[1-9]|1[0-2])(?:0[1-9]|[1-2]\\d|3[0-1])(?:[0-1]\\d|2[0-3])(?:[0-5]\\d)(?:[0-5]\\d)))?(?:\\-([a-zA-Z\\d]{12}))?(?:\\+(incompatible))?(\\/go\\.mod)?",
"name": "string.unquoted.version.gosum"
},
{
"comment": "Checksum",
"match": "h1:[a-zA-Z\\d+\\/]{43}=",
"name": "string.unquoted.checksum.gosum"
}
]
}

282
data/source.swift.json

@ -0,0 +1,282 @@
{
"scopeName": "source.swift",
"fileTypes": [
"swift"
],
"name": "Swift89",
"firstLineMatch": "^#!\\s*/.*\\bswift",
"patterns": [
{
"include": "#comment"
},
{
"name": "keyword.others.swift",
"match": "^\\s*(#if|#else|#endif|#elseif |@discardableResult|@testable|@inline)\\b"
},
{
"name": "keyword.declaration.swift",
"match": "\\b(import(\\s(typealias|struct|class|enum|protocol|var|func))?|throws|rethrows)\\b"
},
{
"name": "storage.type.swift",
"match": "\\b(let|var|class|struct|enum|extension|protocol|typealias|associatedtype)\\b"
},
{
"name": "storage.modifier.swift",
"match": "\\b(final|internal|private|fileprivate|public|open|static|required|convenience|lazy)\\b"
},
{
"name": "keyword.controls.swift",
"match": "\\b(try|catch|throw|repeat|break|case|continue|default|do|else|fallthrough|if|in|for|return|switch|where|while|guard|defer)\\b"
},
{
"name": "keyword.expressions-and-types.swift",
"match": "\\b(#column|#file|#function|#line)\\b"
},
{
"name": "keyword.reserved.swift",
"match": "\\b(infix|mutating|nonmutating|operator|override|postfix|precedence|prefix|unowned|unowned(safe)|unowned(unsafe)|weak)\\b(?!\\s*:)"
},
{
"name": "keyword.reserved.swift",
"match": "\\->"
},
{
"name": "constant.language.swift",
"match": "\\b(true|false|nil)\\b"
},
{
"name": "variable.language.swift",
"match": "(\\b(self|Self|super)\\b|\\$[0-9]+)"
},
{
"name": "meta.type.swift",
"begin": "\\b(precedencegroup)\\b",
"beginCaptures": {
"1": {
"name": "storage.type.swift"
}
},
"end": "\\}",
"patterns": [
{
"name": "keyword.reserved.swift",
"match": "\\b(associativity|higherThan|lowerThan|assignment)\\b"
},
{
"name": "support.type.swift",
"match": "\\b((BitwiseShift|Multiplication|Addition|RangeFormation|Casting|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Ternary|Assignment)Precedence)\\b"
},
{
"name": "keyword.reserved.swift",
"match": "(?<=\\:)\\s*(left|right|none)\\b"
},
{
"include": "$self"
}
]
},
{
"name": "meta.function.swift",
"begin": "\\b(func)\\s+([^\\t\\n\\x20\\x28]+)\\s*\\(",
"beginCaptures": {
"1": {
"name": "keyword.declaration.swift"
},
"2": {
"name": "entity.name.function.swift"
}
},
"end": "\\)",
"patterns": [
{
"name": "keyword.reserved.swift",
"match": "(?<=\\:)\\s*(@escaping|@autoclosure|inout)\\s+"
},
{
"include": "$self"
}
]
},
{
"name": "meta.function.swift",
"begin": "\\b(init\\??|subscript|set|willSet|didSet)\\s*\\(",
"beginCaptures": {
"1": {
"name": "entity.name.function.swift"
}
},
"end": "\\)",
"patterns": [
{
"name": "keyword.reserved.swift",
"match": "(?<=\\:)\\s*(@escaping|@autoclosure|inout)\\s+"
},
{
"include": "$self"
}
]
},
{
"name": "entity.name.function.swift",
"match": "\\b(deinit|get|set|willSet|didSet)\\b"
},
{
"name": "keyword.operator.swift",
"match": "(\\->|,|<|>|:|\\!|\\~|\\+|\\-|<<|>>|\\=|\\*|/|%|&|\\||\\^|\\.\\.<|\\.\\.\\.|\\bis\\b|\\bas[\\?\\!]\\b|\\bas\\b|\\?)"
},
{
"name": "support.type.swift",
"match": "(?x) \\b(Character|U?Int|U?Int(8|16|32|64) |Swift |Float|Double|Float80|Bool |Unicode(\\.(Scalar|ASCII|UTF8|UTF16|UTF32|ParseResult|Encoding|Parser))? |BinaryInteger |FixedWidthInteger |Numeric |SignedNumeric |StringProtocol |SubString |UTF8 |UTF16 |UTF32 |Any |AnyBidirectionalCollection |AnyCollection |AnyHashable |AnyIndex |AnyIterator |AnyRandomAccessCollection |AnySequence |Array |ArraySlice |AutoreleasingUnsafeMutablePointer |BidirectionalSlice |CVaListPointer |ClosedRange |ClosedRangeIndex |ClosedRangeIterator |CollectionOfOne |ContiguousArray |CountableClosedRange |CountableRange |DefaultBidirectionalIndices |DefaultIndices |DefaultRandomAccessIndices |Dictionary |DictionaryIterator |DictionaryLiteral |EmptyCollection |EmptyIterator |EnumeratedIterator |EnumeratedSequence |Flatten(BidirectionalCollectionIndex|BidirectionalCollection|CollectionIndex|Collection|Iterator|Sequence) |IndexingIterator |IteratorOverOne |IteratorSequence |JoinedIterator |JoinedSequence |LazyBidirectionalCollection |Lazy(Collection |(DropWhile|Filter|PrefixWhile)(BidirectionalCollection|Collection|Index|Iterator|Sequence) |MapBidirectionalCollection |MapCollection |MapIterator |MapRandomAccessCollection |MapSequence |RandomAccessCollection |Sequence) |ManagedBufferPointer |Mirror |Mutable(Bidirectional|RandomAccess|RangeReplaceableBidirectional|RangeReplaceable)Slice |MutableSlice |ObjectIdentifier |OpaquePointer |RandomAccessSlice |Range |RangeReplaceable(BidirectionalSlice|RandomAccessSlice|Slice) |Repeated |ReversedCollection |ReversedIndex |ReversedRandomAccessCollection |ReversedRandomAccessIndex |Set |SetIterator |Slice |StaticString |Stride(ThroughIterator|Through|ToIterator|To) |String |UnfoldSequence |Unmanaged |Unsafe(Mutable)?(Raw)?BufferPointer(Iterator)? |Unsafe(Mutable)?(Raw)?Pointer |Zip2Iterator |Zip2Sequence |ManagedBuffer |CommandLine |FloatingPointClassification |FloatingPointRoundingRule |FloatingPointSign |ImplicitlyUnwrappedOptional |MemoryLayout |Never |Optional |UnicodeDecodingResult |AbsoluteValuable |AnyObject |BidirectionalCollection |BinaryFloatingPoint |BitwiseOperations |CVarArg |Collection |Comparable |CustomDebugStringConvertible |CustomLeafReflectable |CustomReflectable |Equatable |Error |ExpressibleBy(Array|Boolean|Dictionary|ExtendedGraphemeCluster|Float|Integer|Nil|String|UnicodeScalar)Literal |ExpressibleByStringInterpolation |FloatingPoint |Hashable |Integer |IntegerArithmetic |IteratorProtocol |LazyCollectionProtocol |LazySequenceProtocol |LosslessStringConvertible |MirrorPath |MutableCollection |OptionSet |RandomAccessCollection |RangeReplaceableCollection |RawRepresentable |Sequence |SetAlgebra |SignedInteger |SignedNumber |Strideable |TextOutputStream |TextOutputStreamable |UnicodeCodec |UnsignedInteger |AnyClass |BooleanLiteralType |C(Bool|Char(16|32)?|Double|Float|Int|LongLong|Long|Short|SignedChar|Unsigned(Int|LongLong|Long|Short)|WideChar) |DictionaryIndex |ExtendedGraphemeClusterType |Float(32|64) |FloatLiteralType |IntMax |IntegerLiteralType |SetIndex |UIntMax |UnfoldFirstSequence |UnicodeScalar |UnicodeScalarType |Void)\\b"
},
{
"name": "support.function.swift",
"match": "(?x) \\b(?<!(?<!Swift)\\.)(abs |assert |assertionFailure |debugPrint |dump |fatalError |getVaList |isKnownUniquelyReferenced |max |min |numericCase |precondition |preconditionFailure |print |readLine |repeatElement |sequence |stride |swap |transcode |type |unsafeBitCast |unsafeDowncast |withExtendedLifetime |withUnsafeBytes |withUnsafeMutableBytes |withUnsafeMutablePointer |withUnsafePointer |withVaList |withoutActuallyEscaping |zip)\\b"
},
{
"include": "#literal"
}
],
"repository": {
"comment": {
"patterns": [
{
"name": "comment.block.swift",
"begin": "/\\*",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.begin.swift"
}
},
"end": "\\*/",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.end.swift"
}
},
"patterns": [
{
"include": "#comment"
}
]
},
{
"begin": "(^[ \\t]+)?(?=//)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.swift"
}
},
"end": "(?!\\G)",
"patterns": [
{
"name": "comment.line.double-slash.swift",
"begin": "//",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.swift"
}
},
"end": "\\n",
"patterns": [
{
"name": "punctuation.separator.continuation.swift",
"match": "(?>\\\\\\s*\\n)"
}
]
}
]
}
]
},
"escaped-char": {
"patterns": [
{
"name": "constant.character.escape.swift",
"match": "\\\\[0\\\\tnr\"']"
},
{
"name": "constant.character.escape.swift",
"match": "\\\\u\\{\\h+\\}"
},
{
"name": "invalid.illegal.constant.character.escape.swift",
"match": "\\\\[^uxU]"
}
]
},
"identifier": {
"match": "(?x) (?<identifier> \\g<identifier-head> \\g<identifier-characters>? | ` \\g<identifier-head> \\g<identifier-characters>? ` ){0} (?<identifier-head> [ a-z A-Z ] | [ \\u00A8 \\u00AA \\u00AD \\u00AF \\u00B2-\\u00B5 \\u00B7-\\u00BA ] | [ \\u00BC-\\u00BE \\u00C0-\\u00D6 \\u00D8-\\u00F6 \\u00F8-\\u00FF ] | [ \\u0100-\\u02FF \\u0370-\\u167F \\u1681-\\u180D \\u180F-\\u1DBF ] | [ \\u1E00-\\u1FFF ] | [ \\u200B-\\u200D \\u202A-\\u202E \\u203F-\\u2040 \\u2054 \\u2060-\\u206F ] | [ \\u2070-\\u20CF \\u2100-\\u218F \\u2460-\\u24FF \\u2776-\\u2793 ] | [ \\u2C00-\\u2DFF \\u2E80-\\u2FFF ] | [ \\u3004-\\u3007 \\u3021-\\u302F \\u3031-\\u303F \\u3040-\\uD7FF ] | [ \\uF900-\\uFD3D \\uFD40-\\uFDCF \\uFDF0-\\uFE1F \\uFE30-\\uFE44 ] | [ \\uFE47-\\uFFFD ] | [ \\u10000-\\u1FFFD \\u20000-\\u2FFFD \\u30000-\\u3FFFD \\u40000-\\u4FFFD ] | [ \\u50000-\\u5FFFD \\u60000-\\u6FFFD \\u70000-\\u7FFFD \\u80000-\\u8FFFD ] | [ \\u90000-\\u9FFFD \\uA0000-\\uAFFFD \\uB0000-\\uBFFFD \\uC0000-\\uCFFFD ] | [ \\uD0000-\\uDFFFD \\uE0000-\\uEFFFD ] ){0} (?<identifier-character> \\d | [ \\u0300-\\u036F \\u1DC0-\\u1DFF \\u20D0-\\u20FF \\uFE20-\\uFE2F ] | \\g<identifier-head> ){0} (?<identifier-characters> \\g<identifier-character> \\g<identifier-characters>? ){0} \\g<identifier> | \\g<implicit-parameter-name>",
"captures": {
"5": {
"name": "variable.other.positional.swift"
}
}
},
"literal": {
"patterns": [
{
"include": "#literal-number"
},
{
"include": "#literal-string"
}
]
},
"literal-number": {
"name": "constant.numeric.swift",
"match": "(?x) (?### INTEGER ###) (?<integer-literal> \\g<binary-literal> | \\g<octal-literal> | \\g<hexadecimal-literal> | \\g<decimal-literal> ){0} (?### BINARY ###) (?<binary-literal> \\b 0b \\g<binary-digit> \\g<binary-literal-characters>? \\b ){0} (?<binary-digit> [0-1] ){0} (?<binary-literal-character> \\g<binary-digit> | _ ){0} (?<binary-literal-characters> \\g<binary-literal-character> \\g<binary-literal-characters>? ){0} (?### OCTAL ###) (?<octal-literal> \\b 0o \\g<octal-digit> \\g<octal-literal-characters>? \\b ){0} (?<octal-digit> [0-7] ){0} (?<octal-literal-character> \\g<octal-digit> | _ ){0} (?<octal-literal-characters> \\g<octal-literal-character> \\g<octal-literal-characters>? ){0} (?### DECIMAL ###) (?<decimal-literal> \\b \\g<decimal-digit> \\g<decimal-literal-characters>? \\b ){0} (?<decimal-digit> \\d ){0} (?<decimal-literal-character> \\g<decimal-digit> | _ ){0} (?<decimal-literal-characters> \\g<decimal-literal-character> \\g<decimal-literal-characters>? ){0} (?### HEXADECIMAL ###) (?<hexadecimal-literal> \\b 0x \\g<hexadecimal-digit> \\g<hexadecimal-literal-characters>? \\b ){0} (?<hexadecimal-digit> \\h ){0} (?<hexadecimal-literal-character> \\g<hexadecimal-digit> | _ ){0} (?<hexadecimal-literal-characters> \\g<hexadecimal-literal-character> \\g<hexadecimal-literal-characters>? ){0} (?### FLOATING POINT ###) (?<floating-point-literal> \\b \\g<decimal-literal> \\g<decimal-fraction>? \\g<decimal-exponent>? \\b | \\b \\g<hexadecimal-literal> \\g<hexadecimal-fraction>? \\g<hexadecimal-exponent> \\b ){0} (?<decimal-fraction> \\. \\g<decimal-literal> ){0} (?<decimal-exponent> \\g<floating-point-e> \\g<sign>? \\g<decimal-literal> ){0} (?<hexadecimal-fraction> \\. \\g<hexadecimal-literal>? ){0} (?<hexadecimal-exponent> \\g<floating-point-p> \\g<sign>? \\g<hexadecimal-literal> ){0} (?<floating-point-e> [eE] ){0} (?<floating-point-p> [pP] ){0} (?<sign> [+-] ){0} (?!0[box]) \\g<floating-point-literal> | \\g<integer-literal>"
},
"literal-string": {
"name": "string.quoted.double.swift",
"begin": "\"",
"end": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.swift"
}
},
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.swift"
}
},
"patterns": [
{
"include": "#quoted-text"
}
]
},
"quoted-text": {
"patterns": [
{
"name": "meta.embedded.line.swift",
"contentName": "source.swift",
"begin": "\\\\\\(",
"end": "\\)",
"beginCaptures": {
"0": {
"name": "punctuation.section.embedded.begin.swift"
}
},
"endCaptures": {
"0": {
"name": "punctuation.section.embedded.end.swift"
}
},
"patterns": [
{
"include": "$self"
}
]
},
{
"include": "#escaped-char"
}
]
},
"whitespace": {
"match": "(?x) [ \\u0020 (?# space) \\u000A (?# line-feed) \\u000D (?# carriage-return) \\u0009 (?# horizontal-tab) \\u000B (?# vertical-tab) \\u000C (?# form-feed) \\u0000 (?# null) ]"
}
}
}

0
data/typescript/TypeScript.json → data/source.ts.json

0
data/typescript/TypeScriptReact.json → data/source.tsx.json

462
data/source.yaml.json

@ -0,0 +1,462 @@
{
"scopeName": "source.yaml",
"name": "YAML",
"fileTypes": [
"clang-format",
"eslintrc",
"eyaml",
"eyml",
"yaml",
"yamllint",
"yaml.erb",
"yml",
"yml.erb",
"sls",
"stylelintrc",
"sublime-syntax",
"Boxfile",
"ksy"
],
"firstLineMatch": "^(#cloud-config|---)",
"patterns": [
{
"include": "#erb"
},
{
"include": "#comment"
},
{
"match": "\\t+",
"name": "invalid.illegal.whitespace.yaml"
},
{
"match": "^---",
"name": "punctuation.definition.directives.end.yaml"
},
{
"match": "^\\.\\.\\.",
"name": "punctuation.definition.document.end.yaml"
},
{
"begin": "^(\\s*)(?:(-)|(?:(?:(-)(\\s*))?([^!@#%&*>,][^:#]*\\S)\\s*(:)))(?:\\s+((!)[^!\\s]+))?\\s+(?=\\||>)",
"beginCaptures": {
"2": {
"name": "punctuation.definition.entry.yaml"
},
"3": {
"name": "punctuation.definition.entry.yaml"
},
"5": {
"name": "entity.name.tag.yaml"
},
"6": {
"name": "punctuation.separator.key-value.yaml"
},
"7": {
"name": "keyword.other.tag.local.yaml"
},
"8": {
"name": "punctuation.definition.tag.local.yaml"
}
},
"end": "^((?!$)(?!\\1\\s+)|(?=\\s\\4(-|[^\\s!@#%&*>,].*:\\s+)))",
"contentName": "string.unquoted.block.yaml",
"patterns": [
{
"begin": "\\G",
"end": "$",
"patterns": [
{
"include": "#comment"
}
]
},
{
"include": "#constants"
},
{
"include": "#erb"
}
]
},
{
"begin": "^(\\s*)([^!@#%&*>,][^:#]*\\S)\\s*(:)(?:\\s+((!)[^!\\s]+))?\\s+(?=\\||>)",
"beginCaptures": {
"2": {
"name": "entity.name.tag.yaml"
},
"3": {
"name": "punctuation.separator.key-value.yaml"
},
"4": {
"name": "keyword.other.tag.local.yaml"
},
"5": {
"name": "punctuation.definition.tag.local.yaml"
}
},
"end": "^(?!$)(?!\\1\\s+)",
"contentName": "string.unquoted.block.yaml",
"patterns": [
{
"begin": "\\G",
"end": "$",
"patterns": [
{
"include": "#comment"
}
]
},
{
"include": "#constants"
},
{
"include": "#erb"
}
]
},
{
"match": "(<<)\\s*(:)\\s+(.+)$",
"captures": {
"1": {
"name": "entity.name.tag.merge.yaml"
},
"2": {
"name": "punctuation.separator.key-value.yaml"
},
"3": {
"patterns": [
{
"include": "#variables"
}
]
}
}
},
{
"begin": "(?>^(\\s*)(-)?\\s*)([^!{@#%&*>,'\"][^#]*?)(:)\\s+((!!)omap)?",
"beginCaptures": {
"2": {
"name": "punctuation.definition.entry.yaml"
},
"3": {
"name": "entity.name.tag.yaml"
},
"4": {
"name": "punctuation.separator.key-value.yaml"
},
"5": {
"name": "keyword.other.omap.yaml"
},
"6": {
"name": "punctuation.definition.tag.omap.yaml"
}
},
"end": "^((?!\\1\\s+)|(?=\\1\\s*(-|[^!@#%&*>,].*:\\s+|#)))",
"patterns": [
{
"include": "#scalar-content"
}
]
},
{
"begin": "^(\\s*)(-)?\\s*(?:((')([^']*?)('))|((\")([^\"]*?)(\")))(:)\\s+((!!)omap)?",
"beginCaptures": {
"2": {
"name": "punctuation.definition.entry.yaml"
},
"3": {
"name": "string.quoted.single.yaml"
},
"4": {
"name": "punctuation.definition.string.begin.yaml"
},
"5": {
"name": "entity.name.tag.yaml"
},
"6": {
"name": "punctuation.definition.string.end.yaml"
},
"7": {
"name": "string.quoted.double.yaml"
},
"8": {
"name": "punctuation.definition.string.begin.yaml"
},
"9": {
"name": "entity.name.tag.yaml"
},
"10": {
"name": "punctuation.definition.string.end.yaml"
},
"11": {
"name": "punctuation.separator.key-value.yaml"
},
"12": {
"name": "keyword.other.omap.yaml"
},
"13": {
"name": "punctuation.definition.tag.omap.yaml"
}
},
"end": "^((?!\\1\\s+)|(?=\\1\\s*(-|[^!@#%&*>,].*:\\s+|#)))",
"patterns": [
{
"include": "#scalar-content"
}
]
},
{
"begin": "^(\\s*)(-)\\s+(?:((!!)omap)|((!)[^!\\s]+)|(?![!@#%&*>,]))",
"beginCaptures": {
"2": {
"name": "punctuation.definition.entry.yaml"
},
"3": {
"name": "keyword.other.omap.yaml"
},
"4": {
"name": "punctuation.definition.tag.omap.yaml"
},
"5": {
"name": "keyword.other.tag.local.yaml"
},
"6": {
"name": "punctuation.definition.tag.local.yaml"
}
},
"end": "^((?!\\1\\s+)|(?=\\1\\s*(-|[^!@#%&*>,].*:\\s+|#)))",
"patterns": [
{
"include": "#scalar-content"
}
]
},
{
"include": "#variables"
},
{
"include": "#strings"
}
],
"repository": {
"comment": {
"begin": "(?<=^|\\s)#(?!{)",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.yaml"
}
},
"end": "$",
"name": "comment.line.number-sign.yaml"
},
"constants": {
"match": "(?<=\\s)(true|false|null|True|False|Null|TRUE|FALSE|NULL|~)(?=\\s*$)",
"name": "constant.language.yaml"
},
"date": {
"match": "([0-9]{4}-[0-9]{2}-[0-9]{2})\\s*($|(?=#)(?!#{))",
"captures": {
"1": {
"name": "constant.other.date.yaml"
}
}
},
"erb": {
"begin": "<%+(?!>)=?",
"beginCaptures": {
"0": {
"name": "punctuation.definition.embedded.begin.ruby"
}
},
"contentName": "source.ruby.rails",
"end": "(%)>",
"endCaptures": {
"0": {
"name": "punctuation.definition.embedded.end.ruby"
},
"1": {
"name": "source.ruby.rails"
}
},
"name": "meta.embedded.line.ruby",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.comment.ruby"
}
},
"match": "(#).*?(?=%>)",
"name": "comment.line.number-sign.ruby"
},
{
"include": "source.ruby.rails"
}
]
},
"escaped_char": {
"patterns": [
{
"match": "\\\\u[A-Fa-f0-9]{4}",
"name": "constant.character.escape.yaml"
},
{
"match": "\\\\U[A-Fa-f0-9]{8}",
"name": "constant.character.escape.yaml"
},
{
"match": "\\\\x[0-9A-Fa-f]{2}",
"name": "constant.character.escape.yaml"
},
{
"match": "\\\\[0abtnvfre \"/\\\\N_LP]",
"name": "constant.character.escape.yaml"
},
{
"match": "\\\\(u.{4}|U.{8}|x.{2}|.)",
"name": "invalid.illegal.escape.yaml"
}
]
},
"numeric": {
"patterns": [
{
"match": "[-+]?[0-9]+(?=\\s*($|#(?!#{)))",
"name": "constant.numeric.integer.yaml"
},
{
"match": "0o[0-7]+(?=\\s*($|#(?!#{)))",
"name": "constant.numeric.octal.yaml"
},
{
"match": "0x[0-9a-fA-F]+(?=\\s*($|#(?!#{)))",
"name": "constant.numeric.hexadecimal.yaml"
},
{
"match": "[-+]?(.[0-9]+|[0-9]+(.[0-9]*)?)([eE][-+]?[0-9]+)?(?=\\s*($|#(?!#{)))",
"name": "constant.numeric.float.yaml"
},
{
"match": "[-+]?(.inf|.Inf|.INF)(?=\\s*($|#(?!#{)))",
"name": "constant.numeric.float.yaml"
},
{
"match": "(.nan|.NaN|.NAN)(?=\\s*($|#(?!#{)))",
"name": "constant.numeric.float.yaml"
}
]
},
"strings": {
"patterns": [
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.yaml"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.yaml"
}
},
"name": "string.quoted.double.yaml",
"patterns": [
{
"include": "#escaped_char"
},
{
"include": "#erb"
}
]
},
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.yaml"
}
},
"end": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.yaml"
}
},
"name": "string.quoted.single.yaml",
"applyEndPatternLast": true,
"patterns": [
{
"match": "''",
"name": "constant.character.escape.yaml"
},
{
"include": "#erb"
}
]
},
{
"begin": "`",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.yaml"
}
},
"end": "`",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.yaml"
}
},
"name": "string.interpolated.yaml",
"patterns": [
{
"include": "#escaped_char"
},
{
"include": "#erb"
}
]
},
{
"match": "[^\\s\"'\\n](?!\\s*#(?!{))([^#\\n]|((?<!\\s)#))*",
"name": "string.unquoted.yaml"
}
]
},
"scalar-content": {
"patterns": [
{
"include": "#comment"
},
{
"match": "!(?=\\s)",
"name": "punctuation.definition.tag.non-specific.yaml"
},
{
"include": "#constants"
},
{
"include": "#date"
},
{
"include": "#numeric"
},
{
"include": "#strings"
}
]
},
"variables": {
"captures": {
"1": {
"name": "punctuation.definition.variable.yaml"
}
},
"match": "(&|\\*)\\w+$",
"name": "variable.other.yaml"
}
}
}

162
data/text.git-commit.json

@ -0,0 +1,162 @@
{
"name": "Git Commit Message",
"scopeName": "text.git-commit",
"fileTypes": [
"COMMIT_EDITMSG",
"MERGE_MSG"
],
"foldingStartMarker": "^\\+\\+\\+",
"foldingStopMarker": "^---",
"patterns": [
{
"begin": "\\A(?!#)",
"end": "^(?<!\\A)(?=# Please enter the commit message)",
"name": "meta.scope.message.git-commit",
"patterns": [
{
"match": "\\G((fixup|squash)!)",
"captures": {
"1": {
"name": "keyword.other.$2.git-commit"
}
}
},
{
"match": "^#.*$",
"name": "comment.line.number-sign.git-commit"
},
{
"match": "\\A(?!#)(([a-z])|.).{0,48}((\\.)|.)$",
"captures": {
"2": {
"name": "invalid.illegal.first-char-should-be-uppercase.git-commit"
},
"4": {
"name": "invalid.illegal.subject-no-trailing-period.git-commit"
}
}
},
{
"match": "\\A(?!#)(([a-z])|.).{49}(.{0,21})((\\.)|(.))$",
"captures": {
"2": {
"name": "invalid.illegal.first-char-should-be-uppercase.git-commit"
},
"3": {
"name": "invalid.deprecated.line-too-long.git-commit"
},
"5": {
"name": "invalid.illegal.subject-no-trailing-period.git-commit"
},
"6": {
"name": "invalid.deprecated.line-too-long.git-commit"
}
}
},
{
"match": "\\A(?!#)(([a-z])|.).{49}(.{0,22})(.*?)(\\.?)$",
"captures": {
"2": {
"name": "invalid.illegal.first-char-should-be-uppercase.git-commit"
},
"3": {
"name": "invalid.deprecated.line-too-long.git-commit"
},
"4": {
"name": "invalid.illegal.line-too-long.git-commit"
},
"5": {
"name": "invalid.illegal.subject-no-trailing-period.git-commit"
}
}
},
{
"match": "^(?!#).{72}(.+)",
"captures": {
"1": {
"name": "invalid.illegal.line-too-long.git-commit"
}
}
}
]
},
{
"begin": "(?<=^)(?=# Please enter the commit message)",
"end": "\\z",
"name": "meta.scope.metadata.git-commit",
"patterns": [
{
"include": "#metadata"
}
]
}
],
"repository": {
"metadata": {
"patterns": [
{
"begin": "(?=^# Changes to be committed:)",
"end": "(?!\\G)((?=^# \\w)|(?!^#))",
"patterns": [
{
"begin": "(^[ \\t]+)?(?=#)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.git-commit"
}
},
"contentName": "comment.line.number-sign.git-commit",
"end": "(?!\\G)^",
"patterns": [
{
"match": "\\G#",
"name": "punctuation.definition.comment.git-commit"
},
{
"match": "((modified|renamed):.*)$\\n?",
"name": "markup.changed.git-commit"
},
{
"match": "(new file:.*)$\\n?",
"name": "markup.inserted.git-commit"
},
{
"match": "(deleted:.*)$\\n?",
"name": "markup.deleted.git-commit"
}
]
}
]
},
{
"begin": "^(?=#)",
"beginCaptures": {
"1": {
"name": "punctuation.whitespace.comment.leading.git-commit"
}
},
"contentName": "comment.line.number-sign.git-commit",
"end": "(?!\\G)^",
"patterns": [
{
"match": "\\G#",
"name": "punctuation.definition.comment.git-commit"
}
]
},
{
"begin": "(?=diff\\ \\-\\-git)",
"comment": "diff presented at the end of the commit message when using commit -v.",
"contentName": "source.diff",
"end": "\\z",
"name": "meta.embedded.diff.git-commit",
"patterns": [
{
"include": "source.diff"
}
]
}
]
}
}
}

48
data/text.git-rebase.json

@ -0,0 +1,48 @@
{
"name": "Git Rebase Message",
"scopeName": "text.git-rebase",
"fileTypes": [
"git-rebase-todo"
],
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.comment.git-rebase"
}
},
"match": "^\\s*(#).*$\\n?",
"name": "comment.line.number-sign.git-rebase"
},
{
"captures": {
"1": {
"name": "support.function.git-rebase"
},
"2": {
"name": "constant.sha.git-rebase"
},
"3": {
"name": "meta.commit-message.git-rebase"
}
},
"match": "^\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\\s+([0-9a-f]+)\\s+(.*)$",
"name": "meta.commit-command.git-rebase"
},
{
"begin": "^\\s*(exec|x)\\s+",
"beginCaptures": {
"1": {
"name": "support.function.git-rebase"
}
},
"end": "$",
"name": "meta.exec-command.git-rebase",
"patterns": [
{
"include": "source.shell"
}
]
}
]
}

0
data/html/html.json → data/text.html.basic.json

0
data/ruby/html (ruby - erb).json → data/text.html.erb.json

15
data/text.html.gohtml.json

@ -0,0 +1,15 @@
{
"scopeName": "text.html.gohtml",
"name": "HTML (Go)",
"fileTypes": [
"gohtml"
],
"patterns": [
{
"include": "text.html.basic"
},
{
"include": "source.gotemplate"
}
]
}

0
data/java/java server pages (jsp).json → data/text.html.jsp.json

145
data/text.html.mustache.json

@ -0,0 +1,145 @@
{
"scopeName": "text.html.mustache",
"name": "HTML (Mustache)",
"fileTypes": [
"handlebars",
"hbs",
"hjs",
"mst",
"mu",
"mustache",
"rac",
"ractive",
"stache"
],
"injections": {
"L:text.html.mustache - (meta.tag.template.mustache | comment.block)": {
"patterns": [
{
"include": "#mustache"
}
]
}
},
"patterns": [
{
"include": "text.html.basic"
}
],
"repository": {
"mustache": {
"patterns": [
{
"include": "#block-comment"
},
{
"include": "#inline-comment"
},
{
"include": "#block-expression-start"
},
{
"include": "#block-expression-end"
},
{
"include": "#escape"
},
{
"include": "#template"
}
]
},
"block-comment": {
"begin": "{{!--",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.mustache"
}
},
"end": "--}}",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.mustache"
}
},
"name": "comment.block.mustache"
},
"inline-comment": {
"begin": "{{!",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.mustache"
}
},
"end": "}}",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.mustache"
}
},
"name": "comment.block.mustache"
},
"block-expression-start": {
"begin": "{{([#^])\\s*([\\w\\.]*)",
"beginCaptures": {
"0": {
"name": "entity.name.tag.mustache"
},
"1": {
"name": "punctuation.definition.block.begin.mustache"
},
"2": {
"name": "entity.name.function.mustache"
}
},
"end": "\\s*(}})",
"endCaptures": {
"1": {
"name": "entity.name.tag.mustache"
}
},
"name": "meta.tag.template.mustache"
},
"block-expression-end": {
"begin": "{{(/)\\s*([\\w\\.]*)",
"beginCaptures": {
"0": {
"name": "entity.name.tag.mustache"
},
"1": {
"name": "punctuation.definition.block.end.mustache"
},
"2": {
"name": "entity.name.function.mustache"
}
},
"end": "\\s*(}})",
"endCaptures": {
"1": {
"name": "entity.name.tag.mustache"
}
},
"name": "meta.tag.template.mustache"
},
"escape": {
"begin": "{{{",
"end": "}}}",
"captures": {
"0": {
"name": "entity.name.tag.mustache"
}
},
"name": "meta.tag.template.raw.mustache"
},
"template": {
"begin": "{{[<>]?",
"end": "}}",
"captures": {
"0": {
"name": "entity.name.tag.mustache"
}
},
"name": "meta.tag.template.mustache"
}
}
}

0
data/php/html.json → data/text.html.php.json

50
data/text.html.ruby.json

@ -0,0 +1,50 @@
{
"scopeName": "text.html.ruby",
"name": "HTML (Rails)",
"fileTypes": [
"rhtml",
"erb",
"html.erb"
],
"foldingStartMarker": "(?x)\n\t\t(<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\\b.*?>\n\t\t|<!--(?!.*-->)\n\t\t|\\{\\s*($|\\?>\\s*$|//|/\\*(.*\\*/\\s*$|(?!.*?\\*/)))\n\t\t)",
"foldingStopMarker": "(?x)\n\t\t(</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)>\n\t\t|^\\s*-->\n\t\t|(^|\\s)\\}\n\t\t)",
"patterns": [
{
"begin": "<%+#",
"captures": {
"0": {
"name": "punctuation.definition.comment.erb"
}
},
"end": "%>",
"name": "comment.block.erb"
},
{
"begin": "<%+(?!>)[-=]?",
"captures": {
"0": {
"name": "punctuation.section.embedded.ruby"
}
},
"end": "-?%>",
"name": "source.ruby.rails.embedded.html",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.comment.ruby"
}
},
"match": "(#).*?(?=-?%>)",
"name": "comment.line.number-sign.ruby"
},
{
"include": "source.ruby.rails"
}
]
},
{
"include": "text.html.basic"
}
]
}

0
data/smarty/smarty.json → data/text.html.smarty.json

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save