{
  "Highlighter": {
    "Sample": [
      "#!/path/to/python\r\n",
      "\r\n",
      "print (\"Hello, World!\")"
    ],
    "MainRules": {
      "Name": "Python",
      "Attributes": {
        "Element": "Editor"
      },
      "SubRules": {
        "Range": [
          {
            "Type": "BlockComment",
            "Attributes": {
              "Element": "Comment"
            },
            "TokenRange": {
              "Open": "\"\"\"",
              "Close": "\"\"\""
            }
          },
          {
            "Type": "LineComment",
            "Attributes": {
              "Element": "Comment"
            },
            "Properties": {
              "CloseOnEndOfLine": true
            },
            "TokenRange": {
              "Open": "#"
            }
          },
          {
            "Type": "String",
            "Attributes": {
              "Element": "String"
            },
            "Properties": {
              "CloseOnEndOfLine": true
            },
            "TokenRange": {
              "Open": "'",
              "Close": "'"
            }
          },
          {
            "Type": "Method",
            "Attributes": {
              "Element": "MethodName"
            },
            "TokenRange": {
              "Open": "def",
              "Close": "("
            },
            "SubRules": {
              "KeyList": [
                {
                  "Type": "Symbol",
                  "Words": [
                    "("
                  ],
                  "Attributes": {
                    "Element": "Symbol"
                  }
                }
              ]
            }
          },
          {
            "Type": "String",
            "Attributes": {
              "Element": "String"
            },
            "Properties": {
              "CloseOnEndOfLine": true
            },
            "TokenRange": {
              "Open": "\"",
              "Close": "\""
            }
          },
          {
            "Type": "HexNumber",
            "Attributes": {
              "Element": "HexNumber"
            },
            "AllowedCharacters": "0123456789abcdefABCDEF",
            "Properties": {
              "CloseOnTerm": true,
              "CloseOnEndOfLine": true
            },
            "TokenRange": {
              "Open": "$"
            }
          }
        ],
        "KeyList": [
          {
            "Type": "ReservedWord",
            "Words": [
              "/py-script",
              "py-script",
              "and",
              "as",
              "assert",
              "async",
              "await",
              "break",
              "class",
              "continue",
              "def",
              "del",
              "elif",
              "else",
              "except",
              "exec",
              "finally",
              "for",
              "from",
              "global",
              "if",
              "import",
              "in",
              "is",
              "lambda",
              "not",
              "or",
              "pass",
              "print",
              "raise",
              "return",
              "try",
              "while",
              "with",
              "yield"
            ],
            "Attributes": {
              "Element": "ReservedWord"
            }
          },
          {
            "Type": "ReservedWord",
            "Words": [
              "arithmeticerror",
              "assertionerror",
              "attributeerror",
              "baseexception",
              "deprecationwarning",
              "eoferror",
              "ellipsis",
              "environmenterror",
              "exception",
              "false",
              "floatingpointerror",
              "futurewarning",
              "generatorexit",
              "ioerror",
              "importerror",
              "importwarning",
              "indentationerror",
              "indexerror",
              "keyerror",
              "keyboardinterrupt",
              "lookuperror",
              "memoryerror",
              "nameerror",
              "none",
              "notimplemented",
              "notimplementederror",
              "oserror",
              "overflowerror",
              "pendingdeprecationwarning",
              "referenceerror",
              "runtimeerror",
              "runtimewarning",
              "standarderror",
              "stopiteration",
              "syntaxerror",
              "syntaxwarning",
              "systemerror",
              "systemexit",
              "taberror",
              "true",
              "typeerror",
              "unboundlocalerror",
              "unicodedecodeerror",
              "unicodeencodeerror",
              "unicodeerror",
              "unicodetranslateerror",
              "unicodewarning",
              "userwarning",
              "valueerror",
              "warning",
              "windowserror",
              "zerodivisionerror",
              "_",
              "__debug__",
              "__doc__",
              "__future__",
              "__import__",
              "__name__",
              "abs",
              "all",
              "any",
              "apply",
              "basestring",
              "bool",
              "buffer",
              "callable",
              "chr",
              "classmethod",
              "cmp",
              "coerce",
              "compile",
              "complex",
              "copyright",
              "credits",
              "delattr",
              "dict",
              "dir",
              "divmod",
              "enumerate",
              "eval",
              "execfile",
              "exit",
              "file",
              "filter",
              "float",
              "frozenset",
              "getattr",
              "globals",
              "hasattr",
              "hash",
              "help",
              "hex",
              "id",
              "input",
              "int",
              "intern",
              "isinstance",
              "issubclass",
              "iter",
              "len",
              "license",
              "list",
              "locals",
              "long",
              "map",
              "max",
              "min",
              "object",
              "oct",
              "open",
              "ord",
              "pow",
              "property",
              "quit",
              "range",
              "raw_input",
              "reduce",
              "reload",
              "repr",
              "reversed",
              "round",
              "self",
              "set",
              "setattr",
              "slice",
              "sorted",
              "staticmethod",
              "str",
              "sum",
              "super",
              "tuple",
              "type",
              "unichr",
              "unicode",
              "vars",
              "xrange",
              "zip"
            ],
            "Attributes": {
              "Element": "Attribute"
            }
          },
          {
            "Type": "Symbol",
            "Words": [
              ":",
              ";",
              "<",
              ">",
              "=",
              "/",
              "*",
              ".",
              ",",
              "-",
              "+",
              "(",
              ")",
              "[",
              "]",
              "{",
              "}",
              "%"
            ],
            "Attributes": {
              "Element": "Symbol"
            }
          }
        ],
        "Set": [
          {
            "Type": "Numbers",
            "Symbols": ".0123456789",
            "Attributes": {
              "Element": "Number"
            }
          }
        ]
      }
    }
  },
  "MatchingPair": {
    "Pairs": [
      {
        "OpenToken": "'",
        "CloseToken": "'"
      },
      {
        "OpenToken": "\"",
        "CloseToken": "\""
      },
      {
        "OpenToken": "(",
        "CloseToken": ")"
      },
      {
        "OpenToken": "[",
        "CloseToken": "]"
      },
      {
        "OpenToken": "{",
        "CloseToken": "}"
      }
    ]
  },
  "CompletionProposal": {
    "SkipRegion": [
      {
        "OpenToken": "'",
        "CloseToken": "'",
        "RegionType": "SingleLineString"
      },
      {
        "OpenToken": "\"",
        "CloseToken": "\"",
        "RegionType": "SingleLineString"
      },
      {
        "OpenToken": "#",
        "RegionType": "SingleLine"
      }
    ]
  }
}