comment Made by Wronex :D fileTypes as firstLineMatch -\*- C\+\+ -\*- foldingStartMarker (?x) /\*\*(?!\*) |^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.*\S)) foldingStopMarker (?<!\*)\*\*/|^\s*\} keyEquivalent ^~C name AngelScript patterns captures 1 name punctuation.definition.comment.angelscript match (//).*$\n? name comment.line.double-slash.angelscript begin /\* captures 0 name punctuation.definition.comment.angelscript end \*/ name comment.block.angelscript begin """ beginCaptures 0 name punctuation.definition.string.begin.angelscript end """ endCaptures 0 name punctuation.definition.string.end.angelscript name string.quoted.double.angelscript begin " beginCaptures 0 name punctuation.definition.string.begin.angelscript end " endCaptures 0 name punctuation.definition.string.end.angelscript name string.quoted.double.angelscript patterns match \\. name constant.character.escape.angelscript begin ' beginCaptures 0 name punctuation.definition.string.begin.angelscript end ' endCaptures 0 name punctuation.definition.string.end.angelscript name string.quoted.single.angelscript patterns match \\. name constant.character.escape.angelscript match (~|!|&&|\|\|) name keyword.operator.logical.angelscript match [-!%&><@*+=/?:] name keyword.operator.symbolic.angelscript match \b(for|in|break|continue|while|do|return|if|else|case|switch|namespace)\b name keyword.control.angelscript match \b(is|cast)\b name keyword.operator.angelscript match \b(or|and|xor|not)\b name keyword.operator.logical.angelscript match \b(get|in|inout|out|override|set|private|public|const|default|final|shared|mixin)\b name storage.modifier.angelscript match \b(enum|void|bool|typedef|funcdef|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)\b name storage.type.angelscript match [A-Za-z][A-Za-z0-9]+@ name storage.type.angelscript match \b(null|true|false)\b name constant.language.angelscript match \b(this|super)\b name variable.language.angelscript match \b(import|from)\b name keyword.control.import.angelscript match \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\b name constant.numeric.angelscript match ^\s*\#([a-zA-Z_0-9]*)? name keyword.control.import.angelscript captures 1 name markup.heading.angelscript match ^\s*\[(.*)\]\s*? name meta.metadata.angelscript match \.[a-zA-Z_][a-zA-Z_0-9]*\b(?!\s*\() name variable.other.dot-access.angelscript captures 1 name storage.type.class.angelscript 2 name entity.name.type.class.angelscript 3 name entity.other.inherited-class.angelscript 5 name entity.other.inherited-class.angelscript 7 name entity.other.inherited-class.angelscript 9 name entity.other.inherited-class.angelscript 11 name entity.other.inherited-class.angelscript match \b(class|interface)\s+([a-zA-Z_0-9]*)(?:\s*:\s*([a-zA-Z_0-9]*)(\s*,\s*([a-zA-Z_0-9]*))?(\s*,\s*([a-zA-Z_0-9]*))?(\s*,\s*([a-zA-Z_0-9]*))?(\s*,\s*([a-zA-Z_0-9]*))?)? name meta.class.angelscript captures 2 name meta.function-call.angelscript match (\b|\.)([a-zA-Z_][a-zA-Z_0-9]*)\b(\s*\() match \b([A-Z][A-Z0-9_]+)\b name constant.other.angelscript scopeName source.angelscript uuid 69E25C06-FA48-4207-BF35-11353888A8F6