{ "name": "Inform 7", "scopeName": "source.inform7", "patterns": [ { "include": "#string" }, { "name": "comment.block.inform7", "begin": "\\[", "end": "\\]", "patterns": [ { "include": "#nestedcomment" } ], "beginCaptures": { "0": { "name": "punctuation.definition.comment.begin.inform7" } }, "endCaptures": { "0": { "name": "punctuation.definition.comment.end.inform7" } } }, { "name": "entity.name.inform7", "match": "(?i)^\\s*(volume|book|part|chapter|section)[ \t]+(.*)$", "captures": { "1": { "name": "entity.type.section.inform7" }, "2": { "name": "entity.name.section.inform7" } } }, { "contentName": "support.other.inform6.inform7", "begin": "\\(-", "end": "-\\)", "patterns": [ { "include": "#i6comment" }, { "include": "#i6string" }, { "include": "#i6dictword" } ], "beginCaptures": { "0": { "name": "punctuation.definition.inform6.begin.inform7" } }, "endCaptures": { "0": { "name": "punctuation.definition.inform6.end.inform7" } } }, { "contentName": "meta.documentation.inform7", "begin": "(?i)^\\s*(----[ \t]+(documentation)[ \t]+----)(.*)$", "end": "$ENDOFDOC", "patterns": [ { "include": "#doccomment" }, { "include": "#string" } ], "beginCaptures": { "1": { "name": "entity.name.inform7" }, "2": { "name": "entity.type.section.inform7" }, "3": { "name": "comment.block.documentation.inform7" } } } ], "repository": { "doccomment": { "patterns": [ { "name": "comment.block.documentation.inform7", "match": "^[^\t].*$" } ] }, "i6comment": { "patterns": [ { "name": "comment.line.bang.inform6.inform7", "match": "!.*$" } ] }, "i6dictword": { "patterns": [ { "name": "string.quoted.single.inform6.inform7", "begin": "'", "end": "'" } ] }, "i6string": { "patterns": [ { "name": "string.quoted.double.inform6.inform7", "begin": "\"", "end": "\"" } ] }, "nestedcomment": { "patterns": [ { "begin": "\\[", "end": "\\]", "patterns": [ { "include": "#nestedcomment" } ] } ] }, "string": { "patterns": [ { "name": "string.quoted.double.inform7", "begin": "\"", "end": "\"", "patterns": [ { "include": "#substitution" } ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.inform7" } }, "endCaptures": { "0": { "name": "punctuation.definition.string.end.inform7" } } } ] }, "substitution": { "patterns": [ { "name": "keyword.control", "begin": "\\[", "end": "\\]", "beginCaptures": { "0": { "name": "keyword.control.begin.inform7" } }, "endCaptures": { "0": { "name": "keyword.control.end.inform7" } } } ] } } }