--- 
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 \xE2\x80\x93 chris@cjack.com"
