Dustin Wilson
3 years ago
26 changed files with 32000 additions and 19 deletions
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,461 @@ |
|||
{ |
|||
"scopeName": "source.cpp", |
|||
"fileTypes": [ |
|||
"cc", |
|||
"cpp", |
|||
"cp", |
|||
"cxx", |
|||
"c++", |
|||
"cu", |
|||
"cuh", |
|||
"h", |
|||
"hh", |
|||
"hpp", |
|||
"hxx", |
|||
"h++", |
|||
"inl", |
|||
"ino", |
|||
"ipp", |
|||
"tcc", |
|||
"tpp" |
|||
], |
|||
"firstLineMatch": "(?i)-\\*-[^*]*(Mode:\\s*)?C\\+\\+(\\s*;.*?)?\\s*-\\*-", |
|||
"name": "C++", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#special_block" |
|||
}, |
|||
{ |
|||
"include": "#strings" |
|||
}, |
|||
{ |
|||
"match": "\\b(friend|explicit|virtual|override|final|noexcept)\\b", |
|||
"name": "storage.modifier.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\b(private:|protected:|public:)", |
|||
"name": "storage.modifier.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\b(catch|operator|try|throw|using)\\b", |
|||
"name": "keyword.control.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\bdelete\\b(\\s*\\[\\])?|\\bnew\\b(?!])", |
|||
"name": "keyword.control.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\b(f|m)[A-Z]\\w*\\b", |
|||
"name": "variable.other.readwrite.member.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\bthis\\b", |
|||
"name": "variable.language.this.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\bnullptr\\b", |
|||
"name": "constant.language.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\btemplate\\b\\s*", |
|||
"name": "storage.type.template.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\b(const_cast|dynamic_cast|reinterpret_cast|static_cast)\\b\\s*", |
|||
"name": "keyword.operator.cast.cpp" |
|||
}, |
|||
{ |
|||
"match": "::", |
|||
"name": "punctuation.separator.namespace.access.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\b(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\b", |
|||
"name": "keyword.operator.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\b(class|decltype|wchar_t|char16_t|char32_t)\\b", |
|||
"name": "storage.type.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\b(constexpr|export|mutable|typename|thread_local)\\b", |
|||
"name": "storage.modifier.cpp" |
|||
}, |
|||
{ |
|||
"begin": "(?x)\n(?:\n ^ | # beginning of line\n (?:(?<!else|new|=)) # or word + space before name\n)\n((?:[A-Za-z_][A-Za-z0-9_]*::)*+~[A-Za-z_][A-Za-z0-9_]*) # actual name\n\\s*(\\() # opening bracket", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "entity.name.function.cpp" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.parameters.begin.c" |
|||
} |
|||
}, |
|||
"end": "\\)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.parameters.end.c" |
|||
} |
|||
}, |
|||
"name": "meta.function.destructor.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?x)\n(?:\n ^ | # beginning of line\n (?:(?<!else|new|=)) # or word + space before name\n)\n((?:[A-Za-z_][A-Za-z0-9_]*::)*+~[A-Za-z_][A-Za-z0-9_]*) # actual name\n\\s*(\\() # opening bracket", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "entity.name.function.cpp" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.parameters.begin.c" |
|||
} |
|||
}, |
|||
"end": "\\)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.parameters.end.c" |
|||
} |
|||
}, |
|||
"name": "meta.function.destructor.prototype.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "source.c" |
|||
} |
|||
], |
|||
"repository": { |
|||
"angle_brackets": { |
|||
"begin": "<", |
|||
"end": ">", |
|||
"name": "meta.angle-brackets.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#angle_brackets" |
|||
}, |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
"block": { |
|||
"begin": "\\{", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.block.begin.bracket.curly.c" |
|||
} |
|||
}, |
|||
"end": "\\}", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.block.end.bracket.curly.c" |
|||
} |
|||
}, |
|||
"name": "meta.block.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "support.function.any-method.c" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.parameters.c" |
|||
} |
|||
}, |
|||
"match": "(?x)\n(\n (?!while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\n (?:\\b[A-Za-z_][A-Za-z0-9_]*+\\b|::)*+ # actual name\n)\n\\s*(\\() # opening bracket", |
|||
"name": "meta.function-call.c" |
|||
}, |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
"constructor": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?x)\n(?:^\\s*) # beginning of line\n((?!while|for|do|if|else|switch|catch|enumerate|r?iterate)[A-Za-z_][A-Za-z0-9_:]*) # actual name\n\\s*(\\() # opening bracket", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "entity.name.function.cpp" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.parameters.begin.c" |
|||
} |
|||
}, |
|||
"end": "\\)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.parameters.end.c" |
|||
} |
|||
}, |
|||
"name": "meta.function.constructor.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?x)\n(:)\n(\n (?=\n \\s*[A-Za-z_][A-Za-z0-9_:]* # actual name\n \\s* (\\() # opening bracket\n )\n)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.parameters.c" |
|||
} |
|||
}, |
|||
"end": "(?=\\{)", |
|||
"name": "meta.function.constructor.initializer-list.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"special_block": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "\\b(using)\\b\\s*(namespace)\\b\\s*((?:[_A-Za-z][_A-Za-z0-9]*\\b(::)?)*)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "keyword.control.cpp" |
|||
}, |
|||
"2": { |
|||
"name": "storage.type.cpp" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.type.cpp" |
|||
} |
|||
}, |
|||
"end": "(;)", |
|||
"name": "meta.using-namespace-declaration.cpp" |
|||
}, |
|||
{ |
|||
"begin": "\\b(namespace)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "storage.type.cpp" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.type.cpp" |
|||
} |
|||
}, |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.control.namespace.$2" |
|||
} |
|||
}, |
|||
"end": "(?<=\\})|(?=(;|,|\\(|\\)|>|\\[|\\]|=))", |
|||
"name": "meta.namespace-block.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "\\{", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.scope.cpp" |
|||
} |
|||
}, |
|||
"end": "\\}", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.scope.cpp" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#special_block" |
|||
}, |
|||
{ |
|||
"include": "#constructor" |
|||
}, |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "\\b(class|struct)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+(\\s*:\\s*(public|protected|private)\\s*([_A-Za-z][_A-Za-z0-9]*\\b)((\\s*,\\s*(public|protected|private)\\s*[_A-Za-z][_A-Za-z0-9]*\\b)*))?", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "storage.type.cpp" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.type.cpp" |
|||
}, |
|||
"4": { |
|||
"name": "storage.type.modifier.cpp" |
|||
}, |
|||
"5": { |
|||
"name": "entity.name.type.inherited.cpp" |
|||
}, |
|||
"6": { |
|||
"patterns": [ |
|||
{ |
|||
"match": "(public|protected|private)", |
|||
"name": "storage.type.modifier.cpp" |
|||
}, |
|||
{ |
|||
"match": "[_A-Za-z][_A-Za-z0-9]*", |
|||
"name": "entity.name.type.inherited.cpp" |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
"end": "(?<=\\})|(?=(;|\\(|\\)|>|\\[|\\]|=))", |
|||
"name": "meta.class-struct-block.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#angle_brackets" |
|||
}, |
|||
{ |
|||
"begin": "\\{", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.block.begin.bracket.curly.cpp" |
|||
} |
|||
}, |
|||
"end": "(\\})(\\s*\\n)?", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.section.block.end.bracket.curly.cpp" |
|||
}, |
|||
"2": { |
|||
"name": "invalid.illegal.you-forgot-semicolon.cpp" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#special_block" |
|||
}, |
|||
{ |
|||
"include": "#constructor" |
|||
}, |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "\\b(extern)(?=\\s*\")", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "storage.modifier.cpp" |
|||
} |
|||
}, |
|||
"end": "(?<=\\})|(?=\\w)|(?=\\s*#\\s*endif\\b)", |
|||
"name": "meta.extern-block.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "\\{", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.block.begin.bracket.curly.c" |
|||
} |
|||
}, |
|||
"end": "\\}|(?=\\s*#\\s*endif\\b)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.block.end.bracket.curly.c" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#special_block" |
|||
}, |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "$base" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"strings": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(u|u8|U|L)?\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.cpp" |
|||
}, |
|||
"1": { |
|||
"name": "meta.encoding.cpp" |
|||
} |
|||
}, |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.cpp" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.cpp", |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\\\u\\h{4}|\\\\U\\h{8}", |
|||
"name": "constant.character.escape.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\\\['\"?\\\\abfnrtv]", |
|||
"name": "constant.character.escape.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\\\[0-7]{1,3}", |
|||
"name": "constant.character.escape.cpp" |
|||
}, |
|||
{ |
|||
"match": "\\\\x\\h+", |
|||
"name": "constant.character.escape.cpp" |
|||
}, |
|||
{ |
|||
"include": "source.c#string_placeholder" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(u|u8|U|L)?R\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.cpp" |
|||
}, |
|||
"1": { |
|||
"name": "meta.encoding.cpp" |
|||
}, |
|||
"3": { |
|||
"name": "invalid.illegal.delimiter-too-long.cpp" |
|||
} |
|||
}, |
|||
"end": "\\)\\2(\\3)\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.cpp" |
|||
}, |
|||
"1": { |
|||
"name": "invalid.illegal.delimiter-too-long.cpp" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.raw.cpp" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,599 @@ |
|||
{ |
|||
"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" |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,85 @@ |
|||
{ |
|||
"scopeName": "source.java-properties", |
|||
"name": "Java Properties", |
|||
"fileTypes": [ |
|||
"properties" |
|||
], |
|||
"foldingStartMarker": "^[a-zA-Z0-9.-_]+=.*\\\n", |
|||
"foldingStopMarker": "^(.*(?<!\\)\n)", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(^[ \\t]+)?(?=#)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.whitespace.comment.leading.java-properties" |
|||
} |
|||
}, |
|||
"end": "(?!\\G)", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "#", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.java-properties" |
|||
} |
|||
}, |
|||
"end": "\\n", |
|||
"name": "comment.line.number-sign.java-properties" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(^[ \\t]+)?(?=!)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.whitespace.comment.leading.java-properties" |
|||
} |
|||
}, |
|||
"end": "(?!\\G)", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "!", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.java-properties" |
|||
} |
|||
}, |
|||
"end": "\\n", |
|||
"name": "comment.line.exclamation.java-properties" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "^\\s*(([\\S&&[^:=\\\\]]|\\\\.)+)\\s*([:=])?", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "support.constant.java-properties", |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\\\([tnfr\"'\\\\ ]|u\\h{4})", |
|||
"name": "constant.character.escape.java-properties" |
|||
} |
|||
] |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.separator.key-value.java-properties" |
|||
} |
|||
}, |
|||
"end": "\\n", |
|||
"name": "meta.key-pair.java-properties", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?=\\S)", |
|||
"end": "(?<!\\\\)(?=\\n)", |
|||
"name": "string.unquoted.java-properties", |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\\\([tnfr\"'\\\\]|u\\h{4}|)", |
|||
"name": "constant.character.escape.java-properties" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,100 @@ |
|||
{ |
|||
"scopeName": "source.java.el", |
|||
"patterns": [ |
|||
{ |
|||
"name": "keyword.control.ternary.java.el", |
|||
"match": "\\?|(?<=\\s):" |
|||
}, |
|||
{ |
|||
"name": "keyword.operator.comparison.java.el", |
|||
"match": "((==|!=|<=|>=|<|>)|\\b(eq|ne|le|ge|lt|gt)\\b)" |
|||
}, |
|||
{ |
|||
"name": "keyword.operator.empty.java.el", |
|||
"match": "\\b(empty)\\b" |
|||
}, |
|||
{ |
|||
"name": "keyword.operator.arithmetic.java.el", |
|||
"match": "(?:(\\-|\\+|\\*|\\/|%)|\\b(div|mod)\\b)" |
|||
}, |
|||
{ |
|||
"name": "keyword.operator.logical.java.el", |
|||
"match": "(?:(!|&&|\\|\\|)|\\b(not|and|or)\\b)" |
|||
}, |
|||
{ |
|||
"name": "namespace.java.el", |
|||
"match": "[a-zA-Z]+(:)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.separator.namespace.java.el" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": ",", |
|||
"name": "meta.delimiter.java.el" |
|||
}, |
|||
{ |
|||
"match": "\\(|\\)", |
|||
"name": "meta.brace.round.java.el" |
|||
}, |
|||
{ |
|||
"match": "\\[|\\]", |
|||
"name": "meta.brace.square.java.el" |
|||
}, |
|||
{ |
|||
"name": "constant.boolean.java.el", |
|||
"match": "\\b(true|false)\\b" |
|||
}, |
|||
{ |
|||
"name": "constant.null.java.el", |
|||
"match": "\\bnull\\b" |
|||
}, |
|||
{ |
|||
"name": "constant.numeric.java.el", |
|||
"match": "\\b([0-9]+\\.[0-9]+|[0-9]+)\\b" |
|||
}, |
|||
{ |
|||
"name": "string.quoted.single.java.el", |
|||
"begin": "'", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.java.el" |
|||
} |
|||
}, |
|||
"end": "'", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.java.el" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"name": "constant.character.escape.java.el", |
|||
"match": "\\\\." |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"name": "string.quoted.double.java.el", |
|||
"begin": "\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.java.el" |
|||
} |
|||
}, |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.java.el" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"name": "constant.character.escape.java.el", |
|||
"match": "\\\\." |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
File diff suppressed because it is too large
@ -0,0 +1,182 @@ |
|||
{ |
|||
"scopeName": "source.json", |
|||
"name": "JSON", |
|||
"fileTypes": [ |
|||
"avsc", |
|||
"babelrc", |
|||
"bowerrc", |
|||
"composer.lock", |
|||
"geojson", |
|||
"gltf", |
|||
"htmlhintrc", |
|||
"ipynb", |
|||
"jscsrc", |
|||
"jshintrc", |
|||
"jslintrc", |
|||
"json", |
|||
"jsonl", |
|||
"jsonld", |
|||
"languagebabel", |
|||
"ldj", |
|||
"ldjson", |
|||
"Pipfile.lock", |
|||
"schema", |
|||
"stylintrc", |
|||
"template", |
|||
"tern-config", |
|||
"tern-project", |
|||
"tfstate", |
|||
"tfstate.backup", |
|||
"topojson", |
|||
"webapp", |
|||
"webmanifest" |
|||
], |
|||
"patterns": [ |
|||
{ |
|||
"include": "#value" |
|||
} |
|||
], |
|||
"repository": { |
|||
"array": { |
|||
"begin": "\\[", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.array.begin.json" |
|||
} |
|||
}, |
|||
"end": "(,)?[\\s\\n]*(\\])", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "invalid.illegal.trailing-array-separator.json" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.array.end.json" |
|||
} |
|||
}, |
|||
"name": "meta.structure.array.json", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#value" |
|||
}, |
|||
{ |
|||
"match": ",", |
|||
"name": "punctuation.separator.array.json" |
|||
}, |
|||
{ |
|||
"match": "[^\\s\\]]", |
|||
"name": "invalid.illegal.expected-array-separator.json" |
|||
} |
|||
] |
|||
}, |
|||
"constant": { |
|||
"match": "\\b(true|false|null)\\b", |
|||
"name": "constant.language.json" |
|||
}, |
|||
"number": { |
|||
"match": "-?(?=[1-9]|0(?!\\d))\\d+(\\.\\d+)?([eE][+-]?\\d+)?", |
|||
"name": "constant.numeric.json" |
|||
}, |
|||
"object": { |
|||
"begin": "{", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.dictionary.begin.json" |
|||
} |
|||
}, |
|||
"end": "}", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.dictionary.end.json" |
|||
} |
|||
}, |
|||
"name": "meta.structure.dictionary.json", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?=\")", |
|||
"end": "(?<=\")", |
|||
"name": "meta.structure.dictionary.key.json", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#string" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": ":", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.separator.dictionary.key-value.json" |
|||
} |
|||
}, |
|||
"end": "(,)(?=[\\s\\n]*})|(,)|(?=})", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "invalid.illegal.trailing-dictionary-separator.json" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.separator.dictionary.pair.json" |
|||
} |
|||
}, |
|||
"name": "meta.structure.dictionary.value.json", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#value" |
|||
}, |
|||
{ |
|||
"match": "[^\\s,]", |
|||
"name": "invalid.illegal.expected-dictionary-separator.json" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"match": "[^\\s}]", |
|||
"name": "invalid.illegal.expected-dictionary-separator.json" |
|||
} |
|||
] |
|||
}, |
|||
"string": { |
|||
"begin": "\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.json" |
|||
} |
|||
}, |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.json" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.json", |
|||
"patterns": [ |
|||
{ |
|||
"match": "(?x)\n\\\\ # a literal backslash\n( # followed by\n [\"\\\\/bfnrt] # one of these characters\n | # or\n u[0-9a-fA-F]{4} # a u and four hex digits\n)", |
|||
"name": "constant.character.escape.json" |
|||
}, |
|||
{ |
|||
"match": "\\\\.", |
|||
"name": "invalid.illegal.unrecognized-string-escape.json" |
|||
} |
|||
] |
|||
}, |
|||
"value": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "#constant" |
|||
}, |
|||
{ |
|||
"include": "#number" |
|||
}, |
|||
{ |
|||
"include": "#string" |
|||
}, |
|||
{ |
|||
"include": "#array" |
|||
}, |
|||
{ |
|||
"include": "#object" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,668 @@ |
|||
{ |
|||
"comment": "CoffeeScript (Literate)", |
|||
"fileTypes": [ |
|||
"litcoffee", |
|||
"litcoffee.erb", |
|||
"coffee.md" |
|||
], |
|||
"name": "CoffeeScript (Literate)", |
|||
"scopeName": "source.litcoffee", |
|||
"firstLineMatch": "(?x)\n# Hashbang\n^\\#!.*(?:\\s|\\/)\n coffee(?:\\s.+?)?\\s(?:-l|--literate)\n(?:\\s|$)\n|\n# Modeline\n(?i:\n # Emacs\n -\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n litcoffee\n (?=[\\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 litcoffee\n (?=\\s|:|$)\n)", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "^(?=([ ]{4}|\\t)(?!$))", |
|||
"end": "^(?!([ ]{4}|\\t))", |
|||
"name": "markup.raw.block.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#block_raw" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?x)^\n(?= [ ]{0,3}>.\n| [#]{1,6}\\s*+\n| [ ]{0,3}(?<marker>[-*_])([ ]{0,2}\\k<marker>){2,}[ \\t]*+$\n)", |
|||
"comment": "We could also use an empty end match and set applyEndPatternLast, but then we must be sure that the begin pattern will only match stuff matched by the sub-patterns.", |
|||
"end": "(?x)^\n(?! [ ]{0,3}>.\n| [#]{1,6}\\s*+\n| [ ]{0,3}(?<marker>[-*_])([ ]{0,2}\\k<marker>){2,}[ \\t]*+$\n)", |
|||
"name": "meta.block-level.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#block_quote" |
|||
}, |
|||
{ |
|||
"include": "#heading" |
|||
}, |
|||
{ |
|||
"include": "#separator" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "^[ ]{0,3}([*+-])(?=\\s)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.list_item.markdown" |
|||
} |
|||
}, |
|||
"end": "^(?=\\S|[ ]{4,})|(?!\\G)", |
|||
"name": "markup.list.unnumbered.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#list-paragraph" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "^[ ]{0,3}([0-9]+\\.)(?=\\s)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.list_item.markdown" |
|||
} |
|||
}, |
|||
"end": "^(?=\\S|[ ]{4,})|(?!\\G)", |
|||
"name": "markup.list.numbered.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#list-paragraph" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "^(?=<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\\b)(?!.*?</\\1>)", |
|||
"comment": "Markdown formatting is disabled inside block-level tags.", |
|||
"end": "(?<=^</\\1>$\\n)", |
|||
"name": "meta.disable-markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "^(?=<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\\b)", |
|||
"comment": "Same rule but for one line disables.", |
|||
"end": "$\\n?", |
|||
"name": "meta.disable-markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.constant.markdown" |
|||
}, |
|||
"2": { |
|||
"name": "constant.other.reference.link.markdown" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.constant.markdown" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.separator.key-value.markdown" |
|||
}, |
|||
"5": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
}, |
|||
"6": { |
|||
"name": "markup.underline.link.markdown" |
|||
}, |
|||
"7": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
}, |
|||
"8": { |
|||
"name": "string.other.link.description.title.markdown" |
|||
}, |
|||
"9": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"10": { |
|||
"name": "punctuation.definition.string.end.markdown" |
|||
}, |
|||
"11": { |
|||
"name": "string.other.link.description.title.markdown" |
|||
}, |
|||
"12": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"13": { |
|||
"name": "punctuation.definition.string.end.markdown" |
|||
} |
|||
}, |
|||
"match": "(?x)\n\\s* # Leading whitespace\n(\\[)(.+?)(\\])(:) # Reference name\n[ \\t]* # Optional whitespace\n(<?)(\\S+?)(>?) # The url\n[ \\t]* # Optional whitespace\n(?:\n ((\\().+?(\\))) # Match title in quotes…\n | ((\").+?(\")) # or in parens.\n)? # Title is optional\n\\s* # Optional whitespace\n$", |
|||
"name": "meta.link.reference.def.markdown" |
|||
}, |
|||
{ |
|||
"begin": "^(?=\\S)(?![=-]{3,}(?=$))", |
|||
"end": "^(?:\\s*$|(?=[ ]{0,3}>.))|(?=[ \\t]*\\n)(?<=^===|^====|=====|^---|^----|-----)[ \\t]*\\n|(?=^#)", |
|||
"name": "meta.paragraph.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#inline" |
|||
}, |
|||
{ |
|||
"include": "text.html.basic" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.heading.markdown" |
|||
} |
|||
}, |
|||
"match": "^(={3,})(?=[ \\t]*$)", |
|||
"name": "markup.heading.1.markdown" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.heading.markdown" |
|||
} |
|||
}, |
|||
"match": "^(-{3,})(?=[ \\t]*$)", |
|||
"name": "markup.heading.2.markdown" |
|||
} |
|||
] |
|||
} |
|||
], |
|||
"repository": { |
|||
"ampersand": { |
|||
"comment": "Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.", |
|||
"match": "&(?!([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);)", |
|||
"name": "meta.other.valid-ampersand.markdown" |
|||
}, |
|||
"block_quote": { |
|||
"begin": "\\G[ ]{0,3}(>)(?!$)[ ]?", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.blockquote.markdown" |
|||
} |
|||
}, |
|||
"comment": " We terminate the block quote when seeing an empty line, a separator or a line with leading > characters. The latter is to “reset” the quote level for quoted lines.", |
|||
"end": "(?x)^\n(?= \\s*$\n| [ ]{0,3}(?<marker>[-*_])([ ]{0,2}\\k<marker>){2,}[ \\t]*+$\n| [ ]{0,3}>.\n)", |
|||
"name": "markup.quote.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?x)\\G\n(?= [ ]{0,3}>.\n)", |
|||
"end": "^", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#block_quote" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"applyEndPatternLast": 1, |
|||
"begin": "(?x)\\G\n(?= ([ ]{4}|\\t)\n| [#]{1,6}\\s*+\n| [ ]{0,3}(?<marker>[-*_])([ ]{0,2}\\k<marker>){2,}[ \\t]*+$\n)", |
|||
"end": "^", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#block_raw" |
|||
}, |
|||
{ |
|||
"include": "#heading" |
|||
}, |
|||
{ |
|||
"include": "#separator" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?x)\\G\n(?! $\n| [ ]{0,3}>.\n| ([ ]{4}|\\t)\n| [#]{1,6}\\s*+\n| [ ]{0,3}(?<marker>[-*_])([ ]{0,2}\\k<marker>){2,}[ \\t]*+$\n)", |
|||
"end": "$|(?<=\\n)", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#inline" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"block_raw": { |
|||
"name": "markup.raw.block.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#coffee_script" |
|||
} |
|||
] |
|||
}, |
|||
"bold": { |
|||
"begin": "(?x)\n(\\*\\*|__)(?=\\S) # Open\n(?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw> # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n |\n ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whitespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whitespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | (?!(?<=\\S)\\1). # Everything besides\n )++\n (?<=\\S)\\1 # Close\n)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.bold.markdown" |
|||
} |
|||
}, |
|||
"end": "(?<=\\S)(\\1)", |
|||
"name": "markup.bold.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"applyEndPatternLast": 1, |
|||
"begin": "(?=<[^>]*?>)", |
|||
"end": "(?<=>)", |
|||
"patterns": [ |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "#escape" |
|||
}, |
|||
{ |
|||
"include": "#ampersand" |
|||
}, |
|||
{ |
|||
"include": "#bracket" |
|||
}, |
|||
{ |
|||
"include": "#raw" |
|||
}, |
|||
{ |
|||
"include": "#italic" |
|||
}, |
|||
{ |
|||
"include": "#image-inline" |
|||
}, |
|||
{ |
|||
"include": "#link-inline" |
|||
}, |
|||
{ |
|||
"include": "#link-inet" |
|||
}, |
|||
{ |
|||
"include": "#link-email" |
|||
}, |
|||
{ |
|||
"include": "#image-ref" |
|||
}, |
|||
{ |
|||
"include": "#link-ref-literal" |
|||
}, |
|||
{ |
|||
"include": "#link-ref" |
|||
} |
|||
] |
|||
}, |
|||
"bracket": { |
|||
"comment": "Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.", |
|||
"match": "<(?![a-z/?\\$!])", |
|||
"name": "meta.other.valid-bracket.markdown" |
|||
}, |
|||
"coffee_script": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.coffee" |
|||
} |
|||
] |
|||
}, |
|||
"escape": { |
|||
"match": "\\\\[-`*_#+.!(){}\\[\\]\\\\>]", |
|||
"name": "constant.character.escape.markdown" |
|||
}, |
|||
"heading": { |
|||
"begin": "\\G(#{1,6})(?!#)\\s*(?=\\S)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.heading.markdown" |
|||
} |
|||
}, |
|||
"contentName": "entity.name.section.markdown", |
|||
"end": "\\s*(#*)$\\n?", |
|||
"name": "markup.heading.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#inline" |
|||
} |
|||
] |
|||
}, |
|||
"image-inline": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"2": { |
|||
"name": "string.other.link.description.markdown" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.string.end.markdown" |
|||
}, |
|||
"5": { |
|||
"name": "invalid.illegal.whitespace.markdown" |
|||
}, |
|||
"6": { |
|||
"name": "punctuation.definition.metadata.markdown" |
|||
}, |
|||
"7": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
}, |
|||
"8": { |
|||
"name": "markup.underline.link.image.markdown" |
|||
}, |
|||
"9": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
}, |
|||
"10": { |
|||
"name": "string.other.link.description.title.markdown" |
|||
}, |
|||
"11": { |
|||
"name": "punctuation.definition.string.markdown" |
|||
}, |
|||
"12": { |
|||
"name": "punctuation.definition.string.markdown" |
|||
}, |
|||
"13": { |
|||
"name": "string.other.link.description.title.markdown" |
|||
}, |
|||
"14": { |
|||
"name": "punctuation.definition.string.markdown" |
|||
}, |
|||
"15": { |
|||
"name": "punctuation.definition.string.markdown" |
|||
}, |
|||
"16": { |
|||
"name": "punctuation.definition.metadata.markdown" |
|||
} |
|||
}, |
|||
"match": "(?x)\n\\! # Images start with !\n(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\]) # Match the link text\n([ ])? # Space not allowed\n(\\() # Opening paren for url\n(<?)(\\S+?)(>?) # The url\n[ \\t]* # Optional whitespace\n(?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in quotes.\n)? # Title is optional\n\\s* # Optional whitespace\n(\\))", |
|||
"name": "meta.image.inline.markdown" |
|||
}, |
|||
"image-ref": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"2": { |
|||
"name": "string.other.link.description.markdown" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"5": { |
|||
"name": "punctuation.definition.constant.markdown" |
|||
}, |
|||
"6": { |
|||
"name": "constant.other.reference.link.markdown" |
|||
}, |
|||
"7": { |
|||
"name": "punctuation.definition.constant.markdown" |
|||
} |
|||
}, |
|||
"match": "\\!(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(.*?)(\\])", |
|||
"name": "meta.image.reference.markdown" |
|||
}, |
|||
"inline": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "#escape" |
|||
}, |
|||
{ |
|||
"include": "#ampersand" |
|||
}, |
|||
{ |
|||
"include": "#bracket" |
|||
}, |
|||
{ |
|||
"include": "#raw" |
|||
}, |
|||
{ |
|||
"include": "#bold" |
|||
}, |
|||
{ |
|||
"include": "#italic" |
|||
}, |
|||
{ |
|||
"include": "#line-break" |
|||
}, |
|||
{ |
|||
"include": "#image-inline" |
|||
}, |
|||
{ |
|||
"include": "#link-inline" |
|||
}, |
|||
{ |
|||
"include": "#link-inet" |
|||
}, |
|||
{ |
|||
"include": "#link-email" |
|||
}, |
|||
{ |
|||
"include": "#image-ref" |
|||
}, |
|||
{ |
|||
"include": "#link-ref-literal" |
|||
}, |
|||
{ |
|||
"include": "#link-ref" |
|||
} |
|||
] |
|||
}, |
|||
"italic": { |
|||
"begin": "(?x)\n(\\*|_)(?=\\S) # Open\n(?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw> # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n |\n ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whitespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whitespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | \\1\\1 # Must be bold closer\n | (?!(?<=\\S)\\1). # Everything besides\n )++\n (?<=\\S)\\1 # Close\n)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.italic.markdown" |
|||
} |
|||
}, |
|||
"end": "(?<=\\S)(\\1)((?!\\1)|(?=\\1\\1))", |
|||
"name": "markup.italic.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"applyEndPatternLast": 1, |
|||
"begin": "(?=<[^>]*?>)", |
|||
"end": "(?<=>)", |
|||
"patterns": [ |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "#escape" |
|||
}, |
|||
{ |
|||
"include": "#ampersand" |
|||
}, |
|||
{ |
|||
"include": "#bracket" |
|||
}, |
|||
{ |
|||
"include": "#raw" |
|||
}, |
|||
{ |
|||
"include": "#bold" |
|||
}, |
|||
{ |
|||
"include": "#image-inline" |
|||
}, |
|||
{ |
|||
"include": "#link-inline" |
|||
}, |
|||
{ |
|||
"include": "#link-inet" |
|||
}, |
|||
{ |
|||
"include": "#link-email" |
|||
}, |
|||
{ |
|||
"include": "#image-ref" |
|||
}, |
|||
{ |
|||
"include": "#link-ref-literal" |
|||
}, |
|||
{ |
|||
"include": "#link-ref" |
|||
} |
|||
] |
|||
}, |
|||
"line-break": { |
|||
"match": " {2,}$", |
|||
"name": "meta.dummy.line-break" |
|||
}, |
|||
"link-email": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
}, |
|||
"2": { |
|||
"name": "markup.underline.link.markdown" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
} |
|||
}, |
|||
"match": "(<)((?:mailto:)?[-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(>)", |
|||
"name": "meta.link.email.lt-gt.markdown" |
|||
}, |
|||
"link-inet": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
}, |
|||
"2": { |
|||
"name": "markup.underline.link.markdown" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
} |
|||
}, |
|||
"match": "(<)((?:https?|ftp)://.*?)(>)", |
|||
"name": "meta.link.inet.markdown" |
|||
}, |
|||
"link-inline": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"2": { |
|||
"name": "string.other.link.title.markdown" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.string.end.markdown" |
|||
}, |
|||
"5": { |
|||
"name": "invalid.illegal.whitespace.markdown" |
|||
}, |
|||
"6": { |
|||
"name": "punctuation.definition.metadata.markdown" |
|||
}, |
|||
"7": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
}, |
|||
"8": { |
|||
"name": "markup.underline.link.markdown" |
|||
}, |
|||
"9": { |
|||
"name": "punctuation.definition.link.markdown" |
|||
}, |
|||
"10": { |
|||
"name": "string.other.link.description.title.markdown" |
|||
}, |
|||
"11": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"12": { |
|||
"name": "punctuation.definition.string.end.markdown" |
|||
}, |
|||
"13": { |
|||
"name": "string.other.link.description.title.markdown" |
|||
}, |
|||
"14": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"15": { |
|||
"name": "punctuation.definition.string.end.markdown" |
|||
}, |
|||
"16": { |
|||
"name": "punctuation.definition.metadata.markdown" |
|||
} |
|||
}, |
|||
"match": "(?x)\n(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\]) # Match the link text.\n([ ])? # Space not allowed\n(\\() # Opening paren for url\n(<?)(.*?)(>?) # The url\n[ \\t]* # Optional whitespace\n(?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in quotes.\n)? # Title is optional\n\\s* # Optional whitespace\n(\\))", |
|||
"name": "meta.link.inline.markdown" |
|||
}, |
|||
"link-ref": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"2": { |
|||
"name": "string.other.link.title.markdown" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.string.end.markdown" |
|||
}, |
|||
"5": { |
|||
"name": "punctuation.definition.constant.begin.markdown" |
|||
}, |
|||
"6": { |
|||
"name": "constant.other.reference.link.markdown" |
|||
}, |
|||
"7": { |
|||
"name": "punctuation.definition.constant.end.markdown" |
|||
} |
|||
}, |
|||
"match": "(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)([^\\]]*+)(\\])", |
|||
"name": "meta.link.reference.markdown" |
|||
}, |
|||
"link-ref-literal": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.string.begin.markdown" |
|||
}, |
|||
"2": { |
|||
"name": "string.other.link.title.markdown" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.string.end.markdown" |
|||
}, |
|||
"5": { |
|||
"name": "punctuation.definition.constant.begin.markdown" |
|||
}, |
|||
"6": { |
|||
"name": "punctuation.definition.constant.end.markdown" |
|||
} |
|||
}, |
|||
"match": "(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(\\])", |
|||
"name": "meta.link.reference.literal.markdown" |
|||
}, |
|||
"list-paragraph": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "\\G\\s+(?=\\S)", |
|||
"end": "^\\s*$", |
|||
"name": "meta.paragraph.list.markdown", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#inline" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.list_item.markdown" |
|||
} |
|||
}, |
|||
"comment": "Match the list punctuation", |
|||
"match": "^\\s*([*+-]|[0-9]+\\.)" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"raw": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.raw.markdown" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.raw.markdown" |
|||
} |
|||
}, |
|||
"match": "(`+)([^`]|(?!(?<!`)\\1(?!`))`)*+(\\1)", |
|||
"name": "markup.raw.inline.markdown" |
|||
}, |
|||
"separator": { |
|||
"match": "\\G[ ]{0,3}([-*_])([ ]{0,2}\\1){2,}[ \\t]*$\\n?", |
|||
"name": "meta.separator.markdown" |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,145 @@ |
|||
{ |
|||
"scopeName": "source.lua", |
|||
"name": "Lua", |
|||
|
|||
"fileTypes": [ "lua" ], |
|||
|
|||
"patterns": [ |
|||
{ |
|||
"begin": "\\b(function)\\b\\s+([a-zA-Z_][a-zA-Z0-9_]*([.:][a-zA-Z0-9_]+)*)\\s*(\\()", |
|||
"beginCaptures": { |
|||
"1": { "name": "storage.type.function.lua" }, |
|||
"2": { "name": "entity.name.function.lua" }, |
|||
"4": { "name": "punctuation.definition.parameters.begin.lua" } |
|||
}, |
|||
"end": "\\)", |
|||
"endCaptures": { |
|||
"0": { "name": "punctuation.definition.parameters.end.lua" } |
|||
}, |
|||
"name": "meta.function.lua", |
|||
"patterns": [ |
|||
{ |
|||
"match": "[a-zA-Z_][a-zA-Z0-9_]*", |
|||
"name": "variable.parameter.lua" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?<!function)([a-zA-Z_][a-zA-Z0-9_]*([.:][a-zA-Z0-9_]+)*)\\s*(\\(|{)", |
|||
"beginCaptures": { |
|||
"1": { "name": "entity.name.function.lua" }, |
|||
"3": { "name": "punctuation.definition.parameters.begin.lua" } |
|||
}, |
|||
"end": "\\)|}", |
|||
"endCaptures": { |
|||
"0": { "name": "punctuation.definition.parameters.end.lua" } |
|||
}, |
|||
"name": "meta.functioncall.lua", |
|||
"patterns": [ |
|||
{ |
|||
"include": "$self" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"match": "([a-zA-Z_][a-zA-Z0-9_]*([.:][a-zA-Z0-9_]+)*)\\s*('|\")((\\\\.)|[^']*)(\\3)", |
|||
"name": "meta.functioncall.lua", |
|||
"captures": { |
|||
"1": { "name": "entity.name.function.lua" }, |
|||
"3": { "name": "punctuation.definition.string.begin.lua" }, |
|||
"5": { "name": "constant.character.escape.lua" }, |
|||
"6": { "name": "punctuation.definition.string.end.lua" } |
|||
} |
|||
}, |
|||
|
|||
{ |
|||
"match": "(--)(?!\\s*\\[=*\\[).*", |
|||
"captures": { |
|||
"1": { "name": "punctuation.definition.comment.lua" } |
|||
}, |
|||
"name": "comment.line.lua" |
|||
}, |
|||
{ |
|||
"begin": "--\\s*\\[(=*)\\[", |
|||
"beginCaptures": { |
|||
"0": { "name": "punctuation.definition.comment.begin.lua" } |
|||
}, |
|||
"end": "\\]\\1\\]", |
|||
"endCaptures": { |
|||
"0": { "name": "punctuation.definition.comment.end.lua" } |
|||
}, |
|||
"name": "comment.block.lua" |
|||
}, |
|||
|
|||
{ |
|||
"match": "('|\")((\\\\.)|[^']*)(\\1)", |
|||
"name": "string.line.lua", |
|||
"captures": { |
|||
"1": { "name": "punctuation.definition.string.begin.lua" }, |
|||
"3": { "name": "constant.character.escape.lua" }, |
|||
"4": { "name": "punctuation.definition.string.end.lua" } |
|||
} |
|||
}, |
|||
{ |
|||
"begin": "(?!--\\s*)\\[(=*)\\[", |
|||
"beginCaptures": { |
|||
"0": { "name": "punctuation.definition.string.begin.lua" } |
|||
}, |
|||
"end": "\\]\\1\\]", |
|||
"endCaptures": { |
|||
"0": { "name": "punctuation.definition.string.end.lua" } |
|||
}, |
|||
"name": "string.block.lua" |
|||
}, |
|||
|
|||
{ |
|||
"match": "(?<![0-9.])\\s0x[a-fA-F0-9]+|\\b[0-9]+(\\.[0-9]+)?([eE]-?[0-9]+)?|\\.[0-9]+([eE]-?[0-9]+)?", |
|||
"name": "constant.numeric.lua" |
|||
}, |
|||
|
|||
{ |
|||
"match": "\\b(this|self|_G|_VERSION)\\b", |
|||
"name": "variable.language.lua" |
|||
}, |
|||
|
|||
{ |
|||
"match": "\\b(nil|true|false)\\b", |
|||
"name": "constant.language.lua" |
|||
}, |
|||
|
|||
{ |
|||
"match": "\\blocal\\b", |
|||
"name": "storage.type.lua" |
|||
}, |
|||
|
|||
{ |
|||
"match": "::.*::", |
|||
"name": "storage.type.label.lua" |
|||
}, |
|||
|
|||
{ |
|||
"match": "\\b(\\{)(\\})\\b", |
|||
"captures": { |
|||
"1": { "name": "punctuation.definition.table.begin.bracket.curly" }, |
|||
"2": { "name": "punctuation.definition.table.end.bracket.curly" } |
|||
} |
|||
}, |
|||
|
|||
{ |
|||
"match": "\\b(do|return|if|then|elseif|else|while|repeat|until|for|in|goto|end)\\b", |
|||
"name": "keyword.control.lua" |
|||
}, |
|||
{ |
|||
"match": "\\b(or|and|not)\\b", |
|||
"name": "keyword.operator.lua" |
|||
}, |
|||
{ |
|||
"match": "=|<|<=|==|~=|>=|>|\\||~|&|<<|>>|\\+|-|\\*|\\/|\\/\\/|%|(?<!\\.)\\.\\.(?!\\.)|\\^|#", |
|||
"name": "keyword.operator.lua" |
|||
}, |
|||
{ |
|||
"match": "\\.|,|;", |
|||
"name": "meta.delimiter.lua" |
|||
} |
|||
] |
|||
} |
File diff suppressed because it is too large
@ -0,0 +1,178 @@ |
|||
{ |
|||
"name": "Regular Expressions (Python)", |
|||
"scopeName": "source.regexp.python", |
|||
"foldingStartMarker": "(/\\*|\\{|\\()", |
|||
"foldingStopMarker": "(\\*/|\\}|\\))", |
|||
"fileTypes": [ |
|||
"re" |
|||
], |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\\\[bBAZzG]|\\^|\\$", |
|||
"name": "keyword.control.anchor.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\\\[1-9][0-9]?", |
|||
"name": "keyword.other.back-reference.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\\\.", |
|||
"name": "constant.character.escape.backslash.regexp" |
|||
}, |
|||
{ |
|||
"match": "[?+*][?+]?|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??", |
|||
"name": "keyword.operator.quantifier.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\|", |
|||
"name": "keyword.operator.or.regexp" |
|||
}, |
|||
{ |
|||
"begin": "\\(\\?\\#", |
|||
"end": "\\)", |
|||
"name": "comment.block.regexp" |
|||
}, |
|||
{ |
|||
"comment": "We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.", |
|||
"match": "(?<=^|\\s)#\\s[[a-zA-Z0-9,. \\t?!-:][^\\x{00}-\\x{7F}]]*$", |
|||
"name": "comment.line.number-sign.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\(\\?[iLmsux]+\\)", |
|||
"name": "keyword.other.option-toggle.regexp" |
|||
}, |
|||
{ |
|||
"match": "(\\()(\\?P=([a-zA-Z_][a-zA-Z_0-9]*\\w*))(\\))", |
|||
"name": "keyword.other.back-reference.named.regexp" |
|||
}, |
|||
{ |
|||
"begin": "(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?<!))", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.group.regexp" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.group.assertion.regexp" |
|||
}, |
|||
"3": { |
|||
"name": "meta.assertion.look-ahead.regexp" |
|||
}, |
|||
"4": { |
|||
"name": "meta.assertion.negative-look-ahead.regexp" |
|||
}, |
|||
"5": { |
|||
"name": "meta.assertion.look-behind.regexp" |
|||
}, |
|||
"6": { |
|||
"name": "meta.assertion.negative-look-behind.regexp" |
|||
} |
|||
}, |
|||
"end": "(\\))", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.group.regexp" |
|||
} |
|||
}, |
|||
"name": "meta.group.assertion.regexp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "$self" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(\\()(\\?\\(([1-9][0-9]?|[a-zA-Z_][a-zA-Z_0-9]*)\\))", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.group.regexp" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.group.assertion.conditional.regexp" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.section.back-reference.regexp" |
|||
} |
|||
}, |
|||
"comment": "we can make this more sophisticated to match the | character that separates yes-pattern from no-pattern, but it's not really necessary.", |
|||
"end": "(\\))", |
|||
"name": "meta.group.assertion.conditional.regexp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "$self" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(\\()((\\?P<)([a-z]\\w*)(>)|(\\?:))?", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.group.regexp" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.group.capture.regexp" |
|||
}, |
|||
"4": { |
|||
"name": "entity.name.section.group.regexp" |
|||
}, |
|||
"5": { |
|||
"name": "punctuation.definition.group.capture.regexp" |
|||
}, |
|||
"6": { |
|||
"name": "punctuation.definition.group.no-capture.regexp" |
|||
} |
|||
}, |
|||
"end": "(\\))", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.group.regexp" |
|||
} |
|||
}, |
|||
"name": "meta.group.regexp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "$self" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(\\[)(\\^)?", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.character-class.begin.regexp" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.operator.negation.regexp" |
|||
} |
|||
}, |
|||
"end": "(?!\\G)\\]", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.character-class.end.regexp" |
|||
} |
|||
}, |
|||
"name": "constant.other.character-class.set.regexp", |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\\\[wWsSdDhH]", |
|||
"name": "constant.character.character-class.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\\\.", |
|||
"name": "constant.character.escape.backslash.regexp" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"2": { |
|||
"name": "constant.character.escape.backslash.regexp" |
|||
}, |
|||
"4": { |
|||
"name": "constant.character.escape.backslash.regexp" |
|||
} |
|||
}, |
|||
"match": "((\\\\.)|.)\\-((\\\\.)|[^\\]])", |
|||
"name": "constant.other.character-class.range.regexp" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,27 @@ |
|||
{ |
|||
"name": "Gemfile", |
|||
"scopeName": "source.ruby.gemfile", |
|||
"fileTypes": [ |
|||
"Gemfile" |
|||
], |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.ruby" |
|||
}, |
|||
{ |
|||
"begin": "\\b(?<!\\.|::)(gem|git|group|platforms|ruby|source)\\b(?![?!])", |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.other.special-method.ruby.gemfile" |
|||
} |
|||
}, |
|||
"end": "$|(?=#|})", |
|||
"name": "meta.declaration.ruby.gemfile", |
|||
"patterns": [ |
|||
{ |
|||
"include": "$self" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,154 @@ |
|||
{ |
|||
"name": "HTML (Ruby - ERB)", |
|||
"scopeName": "text.html.erb", |
|||
"fileTypes": [ |
|||
"rhtml", |
|||
"html.erb" |
|||
], |
|||
"injections": { |
|||
"text.html.erb - (meta.embedded.block.erb | meta.embedded.line.erb | meta.tag | comment), meta.tag string.quoted, L:source.js.embedded.html": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(^\\s*)(?=<%+#(?![^%]*%>))", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.whitespace.comment.leading.erb" |
|||
} |
|||
}, |
|||
"end": "(?!\\G)(\\s*$\\n)?", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.whitespace.comment.trailing.erb" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#comment" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(^\\s*)(?=<%(?![^%]*%>))", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.whitespace.embedded.leading.erb" |
|||
} |
|||
}, |
|||
"end": "(?!\\G)(\\s*$\\n)?", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.whitespace.embedded.trailing.erb" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tags" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "#comment" |
|||
}, |
|||
{ |
|||
"include": "#tags" |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
], |
|||
"repository": { |
|||
"comment": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "<%+#", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.begin.erb" |
|||
} |
|||
}, |
|||
"end": "%>", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.end.erb" |
|||
} |
|||
}, |
|||
"name": "comment.block.erb" |
|||
} |
|||
] |
|||
}, |
|||
"tags": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "<%+(?!>)[-=]?(?![^%]*%>)", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.begin.erb" |
|||
} |
|||
}, |
|||
"contentName": "source.ruby.embedded.erb", |
|||
"end": "-?%>", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.end.erb" |
|||
}, |
|||
"1": { |
|||
"name": "source.ruby" |
|||
} |
|||
}, |
|||
"name": "meta.embedded.block.erb", |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.comment.erb" |
|||
} |
|||
}, |
|||
"match": "(#).*?(?=-?%>)", |
|||
"name": "comment.line.number-sign.erb" |
|||
}, |
|||
{ |
|||
"include": "source.ruby" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "<%+(?!>)[-=]?", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.begin.erb" |
|||
} |
|||
}, |
|||
"contentName": "source.ruby.embedded.erb", |
|||
"end": "-?%>", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.end.erb" |
|||
}, |
|||
"1": { |
|||
"name": "source.ruby" |
|||
} |
|||
}, |
|||
"name": "meta.embedded.line.erb", |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.comment.erb" |
|||
} |
|||
}, |
|||
"match": "(#).*?(?=-?%>)", |
|||
"name": "comment.line.number-sign.erb" |
|||
}, |
|||
{ |
|||
"include": "source.ruby" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
File diff suppressed because it is too large
@ -0,0 +1,201 @@ |
|||
{ |
|||
"fileTypes": [ |
|||
"tpl" |
|||
], |
|||
"scopeName": "text.html.smarty", |
|||
"foldingStartMarker": "\\{%?", |
|||
"foldingStopMarker": "%?\\}", |
|||
"name": "Smarty", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#comments" |
|||
}, |
|||
{ |
|||
"include": "#blocks" |
|||
}, |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
], |
|||
"repository": { |
|||
"blocks": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(\\{%?)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.section.embedded.begin.smarty" |
|||
} |
|||
}, |
|||
"end": "(%?\\})", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.section.embedded.end.smarty" |
|||
} |
|||
}, |
|||
"name": "source.smarty", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#strings" |
|||
}, |
|||
{ |
|||
"include": "#variables" |
|||
}, |
|||
{ |
|||
"include": "#lang" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"comments": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(\\{%?)\\*", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.comment.smarty" |
|||
} |
|||
}, |
|||
"end": "\\*(%?\\})", |
|||
"name": "comment.block.smarty", |
|||
"patterns": [] |
|||
} |
|||
] |
|||
}, |
|||
"lang": { |
|||
"patterns": [ |
|||
{ |
|||
"match": "(!==|!=|!|<=|>=|<|>|===|==|%|&&|\\|\\|)|\\b(and|or|eq|neq|ne|gte|gt|ge|lte|lt|le|not|mod)\\b", |
|||
"name": "keyword.operator.smarty" |
|||
}, |
|||
{ |
|||
"match": "\\b(TRUE|FALSE|true|false)\\b", |
|||
"name": "constant.language.smarty" |
|||
}, |
|||
{ |
|||
"match": "\\b(php|if|else|elseif|foreach|foreachelse|for|section|switch|case|break|default)\\b", |
|||
"name": "keyword.control.smarty" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"0": { |
|||
"name": "variable.parameter.smarty" |
|||
} |
|||
}, |
|||
"match": "\\b([a-zA-Z]+)=", |
|||
"name": "meta.attribute.smarty" |
|||
}, |
|||
{ |
|||
"match": "\\b(capture|config_load|counter|cycle|debug|eval|fetch|include_php|include|insert|literal|math|strip|rdelim|ldelim|assign|constant|block|html_[a-z_]*)\\b", |
|||
"name": "support.function.built-in.smarty" |
|||
}, |
|||
{ |
|||
"match": "\\|(capitalize|cat|count_characters|count_paragraphs|count_sentences|count_words|date_format|default|escape|indent|lower|nl2br|regex_replace|replace|spacify|string_format|strip_tags|strip|truncate|upper|wordwrap)", |
|||
"name": "support.function.variable-modifier.smarty" |
|||
} |
|||
] |
|||
}, |
|||
"strings": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "'", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.smarty" |
|||
} |
|||
}, |
|||
"end": "'", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.smarty" |
|||
} |
|||
}, |
|||
"name": "string.quoted.single.smarty", |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\\\.", |
|||
"name": "constant.character.escape.smarty" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.smarty" |
|||
} |
|||
}, |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.smarty" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.smarty", |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\\\.", |
|||
"name": "constant.character.escape.smarty" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"variables": { |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.variable.smarty" |
|||
} |
|||
}, |
|||
"match": "\\b(\\$)Smarty\\.", |
|||
"name": "variable.other.global.smarty" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.variable.smarty" |
|||
}, |
|||
"2": { |
|||
"name": "variable.other.smarty" |
|||
} |
|||
}, |
|||
"match": "(\\$)([a-zA-Z_][a-zA-Z0-9_]*)\\b", |
|||
"name": "variable.other.smarty" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.operator.smarty" |
|||
}, |
|||
"2": { |
|||
"name": "variable.other.property.smarty" |
|||
} |
|||
}, |
|||
"match": "(->)([a-zA-Z_][a-zA-Z0-9_]*)\\b", |
|||
"name": "variable.other.smarty" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.operator.smarty" |
|||
}, |
|||
"2": { |
|||
"name": "meta.function-call.object.smarty" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.variable.smarty" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.variable.smarty" |
|||
} |
|||
}, |
|||
"match": "(->)([a-zA-Z_][a-zA-Z0-9_]*)(\\().*?(\\))", |
|||
"name": "variable.other.smarty" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,271 @@ |
|||
{ |
|||
"fileTypes": [ |
|||
"textile" |
|||
], |
|||
"firstLineMatch": "textile", |
|||
"name": "Textile", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(^h[1-6]([<>=()]+)?)(\\([^)]*\\)|{[^}]*})*(\\.)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.tag.heading.textile" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.type.textile" |
|||
}, |
|||
"4": { |
|||
"name": "entity.name.tag.heading.textile" |
|||
} |
|||
}, |
|||
"end": "^$", |
|||
"name": "markup.heading.textile", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#inline" |
|||
}, |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(^bq([<>=()]+)?)(\\([^)]*\\)|{[^}]*})*(\\.)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.tag.blockquote.textile" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.type.textile" |
|||
}, |
|||
"4": { |
|||
"name": "entity.name.tag.blockquote.textile" |
|||
} |
|||
}, |
|||
"end": "^$", |
|||
"name": "markup.quote.textile", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#inline" |
|||
}, |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(^fn[0-9]+([<>=()]+)?)(\\([^)]*\\)|{[^}]*})*(\\.)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.tag.footnote.textile" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.type.textile" |
|||
}, |
|||
"4": { |
|||
"name": "entity.name.tag.footnote.textile" |
|||
} |
|||
}, |
|||
"end": "^$", |
|||
"name": "markup.other.footnote.textile", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#inline" |
|||
}, |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(^table([<>=()]+)?)(\\([^)]*\\)|{[^}]*})*(\\.)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.tag.footnote.textile" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.type.textile" |
|||
}, |
|||
"4": { |
|||
"name": "entity.name.tag.footnote.textile" |
|||
} |
|||
}, |
|||
"end": "^$", |
|||
"name": "markup.other.table.textile", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#inline" |
|||
}, |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "^(?=\\S)", |
|||
"end": "^$", |
|||
"name": "meta.paragraph.textile", |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.tag.paragraph.textile" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.type.textile" |
|||
}, |
|||
"4": { |
|||
"name": "entity.name.tag.paragraph.textile" |
|||
} |
|||
}, |
|||
"match": "(^p([<>=()]+)?)(\\([^)]*\\)|{[^}]*})*(\\.)", |
|||
"name": "entity.name.section.paragraph.textile" |
|||
}, |
|||
{ |
|||
"include": "#inline" |
|||
}, |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"comment": "Since html is valid in Textile include the html patterns", |
|||
"include": "text.html.basic" |
|||
} |
|||
], |
|||
"repository": { |
|||
"inline": { |
|||
"patterns": [ |
|||
{ |
|||
"comment": "& is handled automagically by textile, so we match it to avoid text.html.basic from flagging it", |
|||
"match": "&(?![A-Za-z0-9]+;)", |
|||
"name": "text.html.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.type.textile" |
|||
} |
|||
}, |
|||
"match": "^\\*+(\\([^)]*\\)|{[^}]*})*(\\s+|$)", |
|||
"name": "markup.list.unnumbered.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.type.textile" |
|||
} |
|||
}, |
|||
"match": "^#+(\\([^)]*\\)|{[^}]*})*\\s+", |
|||
"name": "markup.list.numbered.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "string.other.link.title.textile" |
|||
}, |
|||
"2": { |
|||
"name": "string.other.link.description.title.textile" |
|||
}, |
|||
"3": { |
|||
"name": "constant.other.reference.link.textile" |
|||
} |
|||
}, |
|||
"match": "(?x)\n\t\t\t\t\t\t\t\t\"\t\t\t\t\t\t\t\t# Start name, etc\n\t\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t# Attributes\n\t\t\t\t\t\t\t\t\t\t# I swear, this is how the language is defined,\n\t\t\t\t\t\t\t\t\t\t# couldnt make it up if I tried.\n\t\t\t\t\t\t\t\t\t\t(?:\\([^)]+\\))?(?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?\n\t\t\t\t\t\t\t\t\t\t\t# Class, Style, Lang\n\t\t\t\t\t\t\t\t\t | (?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Style, Lang, Class\n\t\t\t\t\t\t\t\t\t | (?:\\[[^\\]]+\\])?(?:\\{[^}]+\\})?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Lang, Style, Class\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t([^\"]+?)\t\t\t\t\t# Link name\n\t\t\t\t\t\t\t\t\t\\s?\t\t\t\t\t\t\t# Optional whitespace\n\t\t\t\t\t\t\t\t\t(?:\\(([^)]+?)\\))?\n\t\t\t\t\t\t\t\t\":\t\t\t\t\t\t\t\t# End name\n\t\t\t\t\t\t\t\t(\\w[-\\w_]*)\t\t\t\t\t\t# Linkref\n\t\t\t\t\t\t\t\t(?=[^\\w\\/;]*?(<|\\s|$))\t\t\t# Catch closing punctuation\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# and end of meta.link\n\t\t\t\t\t", |
|||
"name": "meta.link.reference.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "string.other.link.title.textile" |
|||
}, |
|||
"2": { |
|||
"name": "string.other.link.description.title.textile" |
|||
}, |
|||
"3": { |
|||
"name": "markup.underline.link.textile" |
|||
} |
|||
}, |
|||
"match": "(?x)\n\t\t\t\t\t\t\t\t\"\t\t\t\t\t\t\t\t# Start name, etc\n\t\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t# Attributes\n\t\t\t\t\t\t\t\t\t\t# I swear, this is how the language is defined,\n\t\t\t\t\t\t\t\t\t\t# couldnt make it up if I tried.\n\t\t\t\t\t\t\t\t\t\t(?:\\([^)]+\\))?(?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?\n\t\t\t\t\t\t\t\t\t\t\t# Class, Style, Lang\n\t\t\t\t\t\t\t\t\t | (?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Style, Lang, Class\n\t\t\t\t\t\t\t\t\t | (?:\\[[^\\]]+\\])?(?:\\{[^}]+\\})?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Lang, Style, Class\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t([^\"]+?)\t\t\t\t\t# Link name\n\t\t\t\t\t\t\t\t\t\\s?\t\t\t\t\t\t\t# Optional whitespace\n\t\t\t\t\t\t\t\t\t(?:\\(([^)]+?)\\))?\n\t\t\t\t\t\t\t\t\":\t\t\t\t\t\t\t\t# End Name\n\t\t\t\t\t\t\t\t(\\S*?(?:\\w|\\/|;))\t\t\t\t# URL\n\t\t\t\t\t\t\t\t(?=[^\\w\\/;]*?(<|\\s|$))\t\t\t# Catch closing punctuation\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# and end of meta.link\n\t\t\t\t\t", |
|||
"name": "meta.link.inline.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"2": { |
|||
"name": "markup.underline.link.image.textile" |
|||
}, |
|||
"3": { |
|||
"name": "string.other.link.description.textile" |
|||
}, |
|||
"4": { |
|||
"name": "markup.underline.link.textile" |
|||
} |
|||
}, |
|||
"match": "(?x)\n\t\t\t\t\t\t\t\t\\!\t\t\t\t\t\t\t\t\t\t# Open image\n\t\t\t\t\t\t\t\t(\\<|\\=|\\>)?\t\t\t\t\t\t\t\t# Optional alignment\n\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t\t\t# Attributes\n\t\t\t\t\t\t\t\t\t# I swear, this is how the language is defined,\n\t\t\t\t\t\t\t\t\t# couldnt make it up if I tried.\n\t\t\t\t\t\t\t\t\t(?:\\([^)]+\\))?(?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?\n\t\t\t\t\t\t\t\t\t\t# Class, Style, Lang\n\t\t\t\t\t\t\t\t | (?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t# Style, Lang, Class\n\t\t\t\t\t\t\t\t | (?:\\[[^\\]]+\\])?(?:\\{[^}]+\\})?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t# Lang, Style, Class\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t(?:\\.[ ])? \t\t\t\t\t# Optional\n\t\t\t\t\t\t\t\t([^\\s(!]+?) \t\t\t\t\t# Image URL\n\t\t\t\t\t\t\t\t\\s? \t\t\t\t\t\t# Optional space\n\t\t\t\t\t\t\t\t(?:\\(((?:[^\\(\\)]|\\([^\\)]+\\))+?)\\))? \t# Optional title\n\t\t\t\t\t\t\t\t\\!\t\t\t\t\t\t\t\t\t\t# Close image\n\t\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t(\\S*?(?:\\w|\\/|;))\t\t\t\t\t# URL\n\t\t\t\t\t\t\t\t\t(?=[^\\w\\/;]*?(<|\\s|$))\t\t\t\t# Catch closing punctuation\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t", |
|||
"name": "meta.image.inline.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.type.textile" |
|||
} |
|||
}, |
|||
"match": "\\|(\\([^)]*\\)|{[^}]*})*(\\\\\\||.)+\\|", |
|||
"name": "markup.other.table.cell.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"3": { |
|||
"name": "entity.name.type.textile" |
|||
} |
|||
}, |
|||
"match": "\\B(\\*\\*?)((\\([^)]*\\)|{[^}]*}|\\[[^]]+\\]){0,3})(\\S.*?\\S|\\S)\\1\\B", |
|||
"name": "markup.bold.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"2": { |
|||
"name": "entity.name.type.textile" |
|||
} |
|||
}, |
|||
"match": "\\B-((\\([^)]*\\)|{[^}]*}|\\[[^]]+\\]){0,3})(\\S.*?\\S|\\S)-\\B", |
|||
"name": "markup.deleted.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"2": { |
|||
"name": "entity.name.type.textile" |
|||
} |
|||
}, |
|||
"match": "\\B\\+((\\([^)]*\\)|{[^}]*}|\\[[^]]+\\]){0,3})(\\S.*?\\S|\\S)\\+\\B", |
|||
"name": "markup.inserted.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"2": { |
|||
"name": "entity.name.type.textile" |
|||
} |
|||
}, |
|||
"match": "(?:\\b|\\s)_((\\([^)]*\\)|{[^}]*}|\\[[^]]+\\]){0,3})(\\S.*?\\S|\\S)_(?:\\b|\\s)", |
|||
"name": "markup.italic.textile" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"3": { |
|||
"name": "entity.name.type.textile" |
|||
} |
|||
}, |
|||
"match": "\\B([@\\^~%]|\\?\\?)((\\([^)]*\\)|{[^}]*}|\\[[^]]+\\]){0,3})(\\S.*?\\S|\\S)\\1", |
|||
"name": "markup.italic.phrasemodifiers.textile" |
|||
}, |
|||
{ |
|||
"comment": "Footnotes", |
|||
"match": "(?<!w)\\[[0-9+]\\]", |
|||
"name": "entity.name.tag.textile" |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
"scopeName": "text.html.textile" |
|||
} |
@ -0,0 +1,90 @@ |
|||
{ |
|||
"scopeName": "text.junit-test-report", |
|||
"name": "JUnit Test Report", |
|||
"firstLineMatch": "^Testsuite:", |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "meta.testsuite.label.junit-test-report" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.testsuite.junit-test-report" |
|||
} |
|||
}, |
|||
"match": "(Testsuite:) (.+)$\\n", |
|||
"name": "meta.testsuite.name.junit-test-report" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "meta.testcase.label.junit-test-report" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.testcase.junit-test-report" |
|||
} |
|||
}, |
|||
"match": "(Testcase:) (.+) took ([\\d\\.]+) sec$\\n", |
|||
"name": "meta.testcase.name.junit-test-report" |
|||
}, |
|||
{ |
|||
"begin": "at\\s+(?=.+?\\(.+?\\)$)", |
|||
"end": "$\\n", |
|||
"name": "meta.stackframe.junit-test-report", |
|||
"patterns": [ |
|||
{ |
|||
"match": "(?<=\\.)[^\\.]+?(?=\\()", |
|||
"name": "meta.stackframe.method.junit-test-report" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "meta.stackframe.source.junit-test-report" |
|||
}, |
|||
"3": { |
|||
"name": "meta.stackframe.source.line.junit-test-report" |
|||
} |
|||
}, |
|||
"match": "\\((.+)(:)(.+)\\)$" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "------------- Standard Output ---------------$\\n", |
|||
"end": "------------- ---------------- ---------------$\\n", |
|||
"name": "meta.section.output.junit-test-report", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "--Output from (.+?)--$\\n", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "entity.name.testcase.junit-test-report" |
|||
} |
|||
}, |
|||
"contentName": "meta.output.content.junit-test-report", |
|||
"end": "(?=--Output from|------------- ---------------- ---------------)", |
|||
"name": "meta.output.junit-test-report" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "------------- Standard Error -----------------$\\n", |
|||
"contentName": "meta.error.junit-test-report", |
|||
"end": "------------- ---------------- ---------------$\\n", |
|||
"name": "meta.section.error.junit-test-report", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "--Output from (.+?)--$\\n", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "entity.name.testcase.junit-test-report" |
|||
} |
|||
}, |
|||
"contentName": "meta.error.content.junit-test-report", |
|||
"end": "(?=--Output from|------------- ---------------- ---------------)", |
|||
"name": "meta.error.junit-test-report" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
File diff suppressed because one or more lines are too long
@ -0,0 +1,25 @@ |
|||
{ |
|||
"scopeName": "text.python.console", |
|||
"name": "Python Console", |
|||
"fileTypes": [ |
|||
"doctest", |
|||
"pycon" |
|||
], |
|||
"patterns": [ |
|||
{ |
|||
"match": "^(>{3}|\\.{3}|In \\[\\d+\\]:) (.+)$", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.separator.prompt.python.console" |
|||
}, |
|||
"2": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.python" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,46 @@ |
|||
{ |
|||
"scopeName": "text.python.traceback", |
|||
"name": "Python Traceback", |
|||
"fileTypes": [ |
|||
"pytb" |
|||
], |
|||
"patterns": [ |
|||
{ |
|||
"match": "^ File (\"[^\"]+\"), line (\\d+)(?:, in (.+))?$", |
|||
"captures": { |
|||
"1": { |
|||
"name": "string.python.traceback" |
|||
}, |
|||
"2": { |
|||
"name": "constant.numeric.python.traceback" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.function.python.traceback" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": "^ (.+)$", |
|||
"captures": { |
|||
"1": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.python" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": "^([^\\s:]+):(?: (.+))?$", |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.type.class.python.traceback" |
|||
}, |
|||
"2": { |
|||
"name": "string.python.traceback" |
|||
} |
|||
} |
|||
} |
|||
] |
|||
} |
Loading…
Reference in new issue