--- name: Inform fileTypes: - inf scopeName: source.inform uuid: 1510B8C7-6B1D-11D9-B82B-000D93589AF6 foldingStartMarker: "\\[" patterns: - name: comment.line.exclamation.inform captures: '1': name: punctuation.definition.comment.inform match: "(!)(.*)$\\n?" - name: meta.function.inform captures: '1': name: entity.name.function.inform match: "(?:\\s*)\\[(?:\\s*)(.*)(?:\\s*);" - name: constant.numeric.inform match: "\\b((\\$[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\b" - name: string.quoted.single.inform endCaptures: '0': name: punctuation.definition.string.end.inform begin: "'" beginCaptures: '0': name: punctuation.definition.string.begin.inform end: "'" patterns: - name: constant.character.escape.inform match: "\\\\." - name: string.quoted.double.inform endCaptures: '0': name: punctuation.definition.string.end.inform begin: "\"" beginCaptures: '0': name: punctuation.definition.string.begin.inform end: "\"" - name: keyword.control.inform match: "\\b(box|break|continue|do|else|font(\\s+)(on|off)|for|give|if|jump|new_line|objectloop|print|print_ret|remove|return|rfalse|rtrue|spaces|string|style(\\s+)(roman|bold|underline|reverse|fixed)|switch|until|while|has|hasnt|in|notin|ofclass|provides|or)\\b" - name: keyword.other.directive.inform match: "\\b(Abbreviate|Array|Attribute|Class|Constant|Default|End|Endif|Extend|Global|Ifdef|Ifndef|Ifnot|Iftrue|Iffalse|Import|Include|Link|Lowstring|Message|Object|Property|Release|Replace|Serial|Switches|Statusline(\\s+)(score|time)|System_file|Verb|Zcharacter)\\b" foldingStopMarker: "\\]" keyEquivalent: "^~I" comment: Should be current for Inform 6.2 or thereabouts – chris@cjack.com