Name: "Inform 6" Details: "The C-like interactive fiction language Inform 6" Extension: ".i6" Line Comment: "!" String Literal: "\"" String Literal Escape: "\\" Character Literal: "'" Character Literal Escape: "\\" Binary Literal Prefix: "$$" Hexadecimal Literal Prefix: "$" Negative Literal Prefix: "-" Start Definition: "Constant %S =\s" End Definition: ";\n" Start Ifdef: "#ifdef %S;\n" End Ifdef: "#endif; ! %S\n" Start Ifndef: "#ifndef %S;\n" End Ifndef: "#endif; ! %S\n" # Reserved words: keyword "Constant" keyword "Array" keyword "box" keyword "break" keyword "child" keyword "children" keyword "continue" keyword "default" keyword "do" keyword "elder" keyword "eldest" keyword "else" keyword "false" keyword "font" keyword "for" keyword "give" keyword "has" keyword "hasnt" keyword "if" keyword "in" keyword "indirect" keyword "inversion" keyword "jump" keyword "metaclass" keyword "move" keyword "new_line" keyword "nothing" keyword "notin" keyword "objectloop" keyword "ofclass" keyword "or" keyword "parent" keyword "print" keyword "print_ret" keyword "provides" keyword "quit" keyword "random" keyword "read" keyword "remove" keyword "restore" keyword "return" keyword "rfalse" keyword "rtrue" keyword "save" keyword "sibling" keyword "spaces" keyword "string" keyword "style" keyword "switch" keyword "to" keyword "true" keyword "until" keyword "while" keyword "younger" keyword "youngest" colouring { runs of unquoted { runs of !identifier { keyword of !reserved => !reserved keyword of !function => !function keyword of !constant => !constant keyword of !element => { optionally spaced prefix . => !element optionally spaced prefix -> => !element } } } }