{
   "Highlighter": {
      "Info": {
         "General": {
            "Version": "1.0.0",
            "Date": "27.05.2016",
            "Sample": [ "" ]
         },
         "Author": {
            "Name": "OpenIV",
            "Mail": ""
         }
      },
      "MainRules": {
         "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": "'"
                  },
                  "SubRules": {
                     "Range": [
                        {
                           "Type": "String",
                           "Attributes": {
                              "Element": "String"
                           },
                           "Properties": {
                              "CloseOnEndOfLine": true,
                              "CloseOnTerm": true
                           },
                           "TokenRange": {
                              "Open": "\\'",
                              "Close": ""
                           }
                        },
                        {
                           "Type": "String",
                           "Attributes": {
                              "Element": "String"
                           },
                           "Properties": {
                              "CloseOnEndOfLine": true,
                              "CloseOnTerm": true
                           },
                           "TokenRange": {
                              "Open": "\\\\",
                              "Close": ""
                           }
                        }
                     ]
                  }
               },
               {
                  "Type": "String",
                  "Attributes": {
                     "Element": "String"
                  },
                  "Properties": {
                     "CloseOnEndOfLine": true
                  },
                  "TokenRange": {
                     "Open": "\"",
                     "Close": "\""
                  },
                  "SubRules": {
                     "Range": [
                        {
                           "Type": "String",
                           "Attributes": {
                              "Element": "String"
                           },
                           "Properties": {
                              "CloseOnEndOfLine": true,
                              "CloseOnTerm": true
                           },
                           "TokenRange": {
                              "Open": "\\\"",
                              "Close": ""
                           }
                        },
                        {
                           "Type": "String",
                           "Attributes": {
                              "Element": "String"
                           },
                           "Properties": {
                              "CloseOnEndOfLine": true,
                              "CloseOnTerm": true
                           },
                           "TokenRange": {
                              "Open": "\\\\",
                              "Close": ""
                           }
                        }
                     ]
                  }
               },
               {
                  "Type": "Directive",
                  "Attributes": {
                     "Element": "Directive"
                  },
                  "Properties": {
                     "CloseOnEndOfLine": true
                  },
                  "TokenRange": {
                     "Open": "#"
                  }
               },
               {
                  "Type": "Hex",
                  "Attributes": {
                     "Element": "Number"
                  },
                  "Delimiters": "*/+-=\\|&()[]{}`~!@,$%^?:;'\".><#'ghijklmnopqrstuwvyzåäö",
                  "Properties": {
                     "CloseOnTerm": true,
                     "CloseOnEndOfLine": true
                  },
                  "TokenRange": {
                     "Open": "0",
                     "OpenBreakType": "Any"
                  }
               }
            ],
            "KeyList": [
               {
                  "Type": "ReservedWord",
                  "Words": [
                     "abstract",
                     "add",
                     "alias",
                     "as",
                     "ascending",
                     "async",
                     "await",
                     "base",
                     "bool",
                     "break",
                     "byte",
                     "case",
                     "catch",
                     "char",
                     "checked",
                     "class",
                     "const",
                     "continue",
                     "decimal",
                     "default",
                     "delegate",
                     "descending",
                     "do",
                     "double",
                     "dynamic",
                     "else",
                     "enum",
                     "event",
                     "explicit",
                     "extern",
                     "false",
                     "finally",
                     "fixed",
                     "float",
                     "for",
                     "foreach",
                     "from",
                     "get",
                     "global",
                     "goto",
                     "group",
                     "if",
                     "implicit",
                     "in",
                     "int",
                     "interface",
                     "internal",
                     "into",
                     "is",
                     "join",
                     "let",
                     "lock",
                     "long",
                     "namespace",
                     "new",
                     "null",
                     "object",
                     "operator",
                     "orderby",
                     "out",
                     "override",
                     "params",
                     "partial",
                     "private",
                     "protected",
                     "public",
                     "readonly",
                     "ref",
                     "remove",
                     "return",
                     "sbyte",
                     "sealed",
                     "select",
                     "set",
                     "short",
                     "sizeof",
                     "stackalloc",
                     "static",
                     "string",
                     "struct",
                     "switch",
                     "this",
                     "throw",
                     "true",
                     "try",
                     "typeof",
                     "uint",
                     "ulong",
                     "unchecked",
                     "unsafe",
                     "ushort",
                     "using",
                     "value",
                     "var",
                     "where",
                     "while",
                     "virtual",
                     "void",
                     "volatile",
                     "yield",
					 "not"
                  ],
                  "Attributes": {
                     "Element": "ReservedWord"
                  }
               },
               {
                  "Type": "Symbol",
                  "Words": [
                     ":",
                     ";",
                     "<",
                     ">",
                     "=",
                     "/",
                     "*",
                     ".",
                     ",",
                     "-",
                     "+",
                     "(",
                     ")",
                     "[",
                     "]",
                     "{",
                     "}"
                  ],
                  "Attributes": {
                     "Element": "Symbol"
                  }
               }
            ],
            "Set": [
               {
                  "Type": "Number",
                  "Symbols": "0123456789",
                  "Attributes": {
                     "Element": "Number"
                  }
               },
               {
                  "Type": "Float",
                  "Symbols": ".0123456789",
                  "Attributes": {
                     "Element": "Number"
                  }
               }
            ]
         }
      }
   },
   "CodeFolding": {
      "Ranges": [
         {
            "Options": {
               "StringEscapeChar": "\\"
            },
            "SkipRegion": [
               {
                  "OpenToken": "'",
                  "CloseToken": "'",
                  "RegionType": "String"
               },
               {
                  "OpenToken": "\"",
                  "CloseToken": "\"",
                  "RegionType": "String"
               },
               {
                  "OpenToken": "//",
                  "RegionType": "SingleLine"
               },
               {
                  "OpenToken": "/*",
                  "CloseToken": "*/",
                  "RegionType": "MultiLine"
               }
            ],
            "FoldRegion": [
               {
                  "OpenToken": "{",
                  "CloseToken": "}"
               }
            ]
         }
      ]
   },
   "MatchingPair": {
      "Pairs": [
         {
            "OpenToken": "(",
            "CloseToken": ")"
         },
         {
            "OpenToken": "[",
            "CloseToken": "]"
         },
         {
            "OpenToken": "{",
            "CloseToken": "}"
         }
      ]
   },
   "CompletionProposal": {
      "SkipRegion": [
         {
            "OpenToken": "'",
            "CloseToken": "'",
            "RegionType": "String"
         },
         {
            "OpenToken": "\"",
            "CloseToken": "\"",
            "RegionType": "String"
         },
         {
            "OpenToken": "//",
            "RegionType": "SingleLine"
         },
         {
            "OpenToken": "/*",
            "CloseToken": "*/",
            "RegionType": "MultiLine"
         }
      ]
   }
}
