{
  "Highlighter": {
    "Sample": [
      "CREATE FUNCTION concat_lower_or_upper(a text, b text, uppercase boolean DEFAULT false)\r\n",
      "RETURNS text\r\n",
      "AS\r\n",
      "$$\r\n",
      " SELECT CASE\r\n",
      "        WHEN $3 THEN UPPER($1 || ' ' || $2)\r\n",
      "        ELSE LOWER($1 || ' ' || $2)\r\n",
      "        END;\r\n",
      "$$\r\n",
      "LANGUAGE SQL IMMUTABLE STRICT;\r\n",
      "\r\n",
      "SELECT concat_lower_or_upper('Hello', 'World');"
    ],
    "Editor": {
      "URIOpener": true
    },
    "MainRules": {
      "Attributes": {
        "Element": "Editor"
      },
      "SubRules": {
        "Range": [
          {
            "Type": "WebLink",
            "Attributes": {
              "Element": "WebLink"
            },
            "Delimiters": "<>\\^|\"",
            "Properties": {
              "CloseOnTerm": true,
              "CloseOnEndOfLine": true
            },
            "TokenRange": {
              "Open": "omega://",
              "Close": " "
            }
          },
          {
            "Type": "BlockComment",
            "Attributes": {
              "Element": "Comment"
            },
            "TokenRange": {
              "Open": "/*",
              "Close": "*/"
            },
            "SubRules": {
              "Range": [
                {
                  "Type": "WebLink",
                  "Attributes": {
                    "Element": "WebLink"
                  },
                  "Delimiters": "<>\\^|\"",
                  "Properties": {
                    "CloseOnTerm": true,
                    "CloseOnEndOfLine": true
                  },
                  "TokenRange": {
                    "Open": "omega://",
                    "Close": " "
                  }
                }
              ]
            } 
          },
          {
            "Type": "LineComment",
            "Attributes": {
              "Element": "Comment"
            },
            "Properties": {
              "CloseOnEndOfLine": true
            },
            "TokenRange": {
              "Open": "--"
            }
          },
          {
            "Type": "String",
            "Attributes": {
              "Element": "String"
            },
            "Properties": {
              "CloseOnEndOfLine": true
            },
            "TokenRange": {
              "Open": "'",
              "Close": "'"
            }
          },
          {
            "Type": "String",
            "Attributes": {
              "Element": "String"
            },
            "Properties": {
              "CloseOnEndOfLine": true
            },
            "TokenRange": {
              "Open": "\"",
              "Close": "\""
            }
          },
          {
            "Type": "Symbol",
            "Attributes": {
              "Element": "Symbol"
            },
            "Properties": {
              "CloseOnEndOfLine": true,
              "CloseOnTerm": true
            },
            "TokenRange": {
              "Open": ":"
            }
          },
          {
            "Type": "HexNumber",
            "Attributes": {
              "Element": "HexNumber"
            },
            "AllowedCharacters": "0123456789abcdefABCDEF",
            "Properties": {
              "CloseOnTerm": true,
              "CloseOnEndOfLine": true
            },
            "TokenRange": {
              "Open": "$"
            }
          }
        ],
        "KeyList": [
          {
            "Type": "ReservedWord",
            "Words": [
              "a",
              "abort",
              "absent",
              "absolute",
              "access",
              "according",
              "action",
              "ada",
              "add",
              "admin",
              "after",
              "aggregate",
              "alias",
              "all",
              "allocate",
              "also",
              "alter",
              "always",
              "analyse",
              "analyze",
              "and",
              "any",
              "are",
              "as",
              "asc",
              "asensitive",
              "assertion",
              "assignment",
              "asymmetric",
              "at",
              "atomic",
              "attribute",
              "attributes",
              "authorization",
              "backward",
              "base64",
              "before",
              "begin",
              "begin_frame",
              "begin_partition",
              "bernoulli",
              "between",
              "bigint",
              "binary",
              "bit",
              "bitvar",
              "blob",
              "blocked",
              "bom",
              "boolean",
              "both",
              "breadth",
              "by",
              "c",
              "cache",
              "call",
              "called",
              "cardinality",
              "cascade",
              "cascaded",
              "case",
              "cast",
              "catalog",
              "catalog_name",
              "ceil",
              "ceiling",
              "chain",
              "char",
              "character",
              "characteristic",
              "characteristics",
              "characters",
              "character_set_catalog",
              "character_set_name",
              "character_set_schema",
              "check",
              "checked",
              "checkpoint",
              "class",
              "class_origin",
              "clob",
              "close",
              "cluster",
              "coalesce",
              "cobol",
              "collate",
              "collation",
              "collation_catalog",
              "collation_name",
              "collation_schema",
              "collect",
              "column",
              "columns",
              "column_name",
              "command_function",
              "command_function_code",
              "comment",
              "comments",
              "commit",
              "committed",
              "completion",
              "concurrently",
              "condition",
              "condition_number",
              "configuration",
              "connect",
              "connection",
              "connection_name",
              "constraint",
              "constraints",
              "constraint_catalog",
              "constraint_name",
              "constraint_schema",
              "constructor",
              "contains",
              "content",
              "continue",
              "control",
              "conversion",
              "convert",
              "copy",
              "corr",
              "corresponding",
              "cost",
              "covar_pop",
              "covar_samp",
              "create",
              "createdb",
              "createrole",
              "createuser",
              "cross",
              "csv",
              "cube",
              "cume_dist",
              "current",
              "current_catalog",
              "current_date",
              "current_default_transform_group",
              "current_path",
              "current_role",
              "current_row",
              "current_schema",
              "current_time",
              "current_timestamp",
              "current_transform_group_for_type",
              "current_user",
              "cursor",
              "cursor_name",
              "cycle",
              "data",
              "database",
              "datalink",
              "date",
              "datetime_interval_code",
              "datetime_interval_precision",
              "day",
              "db",
              "deallocate",
              "dec",
              "decimal",
              "declare",
              "default",
              "defaults",
              "deferrable",
              "deferred",
              "defined",
              "definer",
              "degree",
              "delete",
              "delimiter",
              "delimiters",
              "dense_rank",
              "depth",
              "deref",
              "derived",
              "desc",
              "describe",
              "descriptor",
              "destroy",
              "destructor",
              "deterministic",
              "diagnostics",
              "dictionary",
              "disable",
              "discard",
              "disconnect",
              "dispatch",
              "distinct",
              "dlnewcopy",
              "dlpreviouscopy",
              "dlurlcomplete",
              "dlurlcompleteonly",
              "dlurlcompletewrite",
              "dlurlpath",
              "dlurlpathonly",
              "dlurlpathwrite",
              "dlurlscheme",
              "dlurlserver",
              "dlvalue",
              "do",
              "document",
              "domain",
              "double",
              "drop",
              "dynamic",
              "dynamic_function",
              "dynamic_function_code",
              "each",
              "element",
              "else",
              "empty",
              "enable",
              "encoding",
              "encrypted",
              "end",
              "end-exec",
              "end_frame",
              "end_partition",
              "enforced",
              "enum",
              "equals",
              "escape",
              "event",
              "every",
              "except",
              "exception",
              "exclude",
              "excluding",
              "exclusive",
              "exec",
              "execute",
              "existing",
              "exists",
              "explain",
              "expression",
              "extension",
              "external",
              "extract",
              "false",
              "family",
              "fetch",
              "file",
              "filter",
              "final",
              "first",
              "first_value",
              "flag",
              "float",
              "following",
              "for",
              "force",
              "foreign",
              "fortran",
              "forward",
              "found",
              "frame_row",
              "free",
              "freeze",
              "from",
              "fs",
              "full",
              "function",
              "functions",
              "fusion",
              "g",
              "general",
              "generated",
              "get",
              "global",
              "go",
              "goto",
              "grant",
              "granted",
              "group",
              "grouping",
              "groups",
              "handler",
              "having",
              "header",
              "hex",
              "hierarchy",
              "hold",
              "host",
              "hour",
              "id",
              "identity",
              "if",
              "ignore",
              "ilike",
              "immediate",
              "immediately",
              "immutable",
              "implementation",
              "implicit",
              "import",
              "in",
              "including",
              "increment",
              "indent",
              "index",
              "indexes",
              "indicator",
              "infix",
              "inherit",
              "inherits",
              "initialize",
              "initilalize",
              "initially",
              "inline",
              "inner",
              "inout",
              "input",
              "insensitive",
              "insert",
              "instance",
              "instantiable",
              "instead",
              "int",
              "integer",
              "integrity",
              "intersect",
              "intersection",
              "interval",
              "into",
              "invoker",
              "is",
              "isnull",
              "isolation",
              "iterate",
              "join",
              "k",
              "key",
              "key_member",
              "key_type",
              "lancompiler",
              "label",
              "lag",
              "language",
              "large",
              "last",
              "last_value",
              "lateral",
              "lc_collate",
              "lc_ctype",
              "lead",
              "leading",
              "leakproof",
              "level",
              "library",
              "like",
              "like_regex",
              "limit",
              "link",
              "listen",
              "ln",
              "load",
              "local",
              "localtime",
              "localtimestamp",
              "location",
              "locator",
              "lock",
              "login",
              "m",
              "map",
              "mapping",
              "match",
              "matched",
              "materialized",
              "maxvalue",
              "max_cardinality",
              "member",
              "merge",
              "message_length",
              "message_octet_length",
              "message_text",
              "method",
              "minute",
              "minvalue",
              "mode",
              "modifies",
              "modify",
              "module",
              "month",
              "more",
              "move",
              "multiset",
              "mumps",
              "name",
              "names",
              "namespace",
              "national",
              "natural",
              "nchar",
              "nclob",
              "nesting",
              "new",
              "next",
              "nfc",
              "nfd",
              "nfkc",
              "nfkd",
              "nil",
              "no",
              "nocreatedb",
              "nocreaterole",
              "nocreateuser",
              "noinherit",
              "nologin",
              "none",
              "normalize",
              "normalized",
              "nosuperuser",
              "not",
              "nothing",
              "notify",
              "notnull",
              "nowait",
              "nth_value",
              "ntile",
              "null",
              "nullable",
              "nullif",
              "nulls",
              "number",
              "numeric",
              "object",
              "occurrences_regex",
              "octets",
              "of",
              "off",
              "offset",
              "oids",
              "old",
              "on",
              "only",
              "open",
              "operation",
              "operator",
              "option",
              "options",
              "or",
              "order",
              "ordering",
              "ordinality",
              "others",
              "out",
              "outer",
              "output",
              "over",
              "overlaps",
              "overriding",
              "owned",
              "owner",
              "p",
              "pad",
              "parameter",
              "parameters",
              "parameter_mode",
              "parameter_name",
              "parameter_ordinal_position",
              "parameter_specific_catalog",
              "parameter_specific_name",
              "parameter_specific_schema",
              "parser",
              "partial",
              "partition",
              "pascal",
              "passing",
              "passthrough",
              "password",
              "path",
              "percent",
              "percentile_cont",
              "percentile_disc",
              "percent_rank",
              "period",
              "permission",
              "placing",
              "plans",
              "pli",
              "portion",
              "postfix",
              "precedes",
              "preceding",
              "precision",
              "prefix",
              "preorder",
              "prepare",
              "prepared",
              "preserve",
              "primary",
              "prior",
              "privileges",
              "procedural",
              "procedure",
              "program",
              "public",
              "range",
              "rank",
              "read",
              "reads",
              "real",
              "reassign",
              "recheck",
              "recovery",
              "recursive",
              "ref",
              "references",
              "referencing",
              "refresh",
              "regr_avgx",
              "regr_avgy",
              "regr_count",
              "regr_intercept",
              "regr_r2",
              "regr_slope",
              "regr_sxx",
              "regr_sxy",
              "regr_syy",
              "reindex",
              "relative",
              "release",
              "rename",
              "repeatable",
              "replica",
              "requiring",
              "reset",
              "respect",
              "restart",
              "restore",
              "restrict",
              "result",
              "return",
              "returned_cardinality",
              "returned_length",
              "returned_octet_length",
              "returned_sqlstate",
              "returning",
              "returns",
              "revoke",
              "role",
              "rollback",
              "rollup",
              "routine",
              "routine_catalog",
              "routine_name",
              "routine_schema",
              "row",
              "rows",
              "row_count",
              "row_number",
              "rule",
              "savepoint",
              "scale",
              "schema",
              "schema_name",
              "scope",
              "scope_catalog",
              "scope_name",
              "scope_schema",
              "scroll",
              "search",
              "second",
              "section",
              "security",
              "select",
              "selective",
              "self",
              "sensitive",
              "sequence",
              "sequences",
              "serializable",
              "server",
              "server_name",
              "session",
              "session_user",
              "set",
              "setof",
              "sets",
              "share",
              "show",
              "similar",
              "simple",
              "size",
              "smallint",
              "snapshot",
              "some",
              "source",
              "space",
              "specific",
              "specifictype",
              "specific_name",
              "sql",
              "sqlcode",
              "sqlerror",
              "sqlexception",
              "sqlstate",
              "sqlwarning",
              "stable",
              "standalone",
              "start",
              "state",
              "statement",
              "static",
              "statistics",
              "stddev_pop",
              "stddev_samp",
              "stdin",
              "stdout",
              "storage",
              "strict",
              "strip",
              "structure",
              "style",
              "subclass_origin",
              "sublist",
              "submultiset",
              "succeeds",
              "superuser",
              "symmetric",
              "sysid",
              "system",
              "system_time",
              "system_user",
              "t",
              "table",
              "tables",
              "tablesample",
              "tablespace",
              "table_name",
              "temp",
              "template",
              "temporary",
              "terminate",
              "than",
              "text",
              "then",
              "ties",
              "time",
              "timestamp",
              "timezone_hour",
              "timezone_minute",
              "to",
              "toast",
              "token",
              "top_level_count",
              "trailing",
              "transaction",
              "transactions_committed",
              "transactions_rolled_back",
              "transaction_active",
              "transform",
              "transforms",
              "translate",
              "translate_regex",
              "translation",
              "treat",
              "trigger",
              "trigger_catalog",
              "trigger_name",
              "trigger_schema",
              "trim_array",
              "true",
              "truncate",
              "trusted",
              "type",
              "types",
              "uescape",
              "unbounded",
              "uncommitted",
              "under",
              "unencrypted",
              "union",
              "unique",
              "unknown",
              "unlink",
              "unlisten",
              "unlogged",
              "unnamed",
              "unnest",
              "until",
              "untyped",
              "update",
              "uri",
              "usage",
              "user",
              "user_defined_type_catalog",
              "user_defined_type_code",
              "user_defined_type_name",
              "user_defined_type_schema",
              "using",
              "vacuum",
              "valid",
              "validate",
              "validator",
              "value",
              "values",
              "value_of",
              "varbinary",
              "varchar",
              "variable",
              "variadic",
              "varying",
              "var_pop",
              "var_samp",
              "verbose",
              "version",
              "versioning",
              "view",
              "views",
              "volatile",
              "when",
              "whenever",
              "where",
              "whitespace",
              "width_bucket",
              "window",
              "with",
              "within",
              "without",
              "work",
              "wrapper",
              "write",
              "xml",
              "xmlagg",
              "xmlattributes",
              "xmlbinary",
              "xmlcast",
              "xmlcomment",
              "xmlconcat",
              "xmldeclaration",
              "xmldocument",
              "xmlelement",
              "xmlexists",
              "xmlforest",
              "xmliterate",
              "xmlnamespaces",
              "xmlparse",
              "xmlpi",
              "xmlquery",
              "xmlroot",
              "xmlschema",
              "xmlserialize",
              "xmltable",
              "xmltext",
              "xmlvalidate",
              "year",
              "yes",
              "zone"
            ],
            "Attributes": {
              "Element": "ReservedWord"
            }
          },
          {
            "Type": "Method",
            "Words": [
              "abs",
              "acos",
              "array",
              "array_agg",
              "array_max_cardinality",
              "ascii",
              "asin",
              "atan",
              "atan2",
              "avg",
              "bit_length",
              "ceil",
              "ceiling",
              "char_length",
              "character_length",
              "concat",
              "concat_ws",
              "cos",
              "cot",
              "count",
              "degrees",
              "exp",
              "floor",
              "greatest",
              "lcase",
              "least",
              "left",
              "length",
              "less",
              "log",
              "lower",
              "lpad",
              "ltrim",
              "max",
              "mid",
              "min",
              "mod",
              "octet_length",
              "overlay",
              "pi",
              "position",
              "position_regex",
              "pow",
              "power",
              "quote",
              "radians",
              "regexp",
              "repeat",
              "replace",
              "reverse",
              "right",
              "round",
              "rpad",
              "rtrim",
              "sin",
              "substr",
              "substring",
              "substring_regex",
              "sum",
              "sqrt",
              "tan",
              "trim",
              "ucase",
              "upper"
            ],
            "Attributes": {
              "Element": "Method"
            }
          },
          {
            "Type": "Symbol",
            "Words": [
              ":",
              ";",
              "<",
              ">",
              "=",
              "/",
              "*",
              ".",
              ",",
              "-",
              "+",
              "(",
              ")",
              "[",
              "]",
              "{",
              "}",
              "|"
            ],
            "Attributes": {
              "Element": "Symbol"
            }
          }
        ],
        "Set": [
          {
            "Type": "Numbers",
            "Symbols": ".0123456789",
            "Attributes": {
              "Element": "Number"
            }
          }
        ]
      }
    }
  },
  "CodeFolding": {
    "Ranges": [
      {
        "Options": {
          "HideGuideLineAtFirstColumn": true
        },
        "SkipRegion": [
          {
            "OpenToken": "'",
            "CloseToken": "'",
            "RegionType": "SingleLineString"
          },
          {
            "OpenToken": "\"",
            "CloseToken": "\"",
            "RegionType": "SingleLineString"
          },
          {
            "OpenToken": "--",
            "RegionType": "SingleLine"
          },
          {
            "OpenToken": "/*",
            "CloseToken": "*/",
            "RegionType": "MultiLine"
          }
        ],
        "FoldRegion": [
          {
            "OpenToken": "IF",
            "CloseToken": "END IF"
          },
          {
            "OpenToken": "LOOP",
            "CloseToken": "END LOOP"
          },
          {
            "OpenToken": "WHILE",
            "CloseToken": "END LOOP"
          },
          {
            "OpenToken": "FOR",
            "CloseToken": "END LOOP"
          },
          {
            "OpenToken": "FOREACH",
            "CloseToken": "END LOOP"
          },
          {
            "OpenToken": "CASE",
            "CloseToken": "END"
          },
          {
            "OpenToken": "BEGIN",
            "CloseToken": "END"
          }
        ]
      }
    ]
  },
  "MatchingPair": {
    "Pairs": [
      {
        "OpenToken": "'",
        "CloseToken": "'"
      },
      {
        "OpenToken": "\"",
        "CloseToken": "\""
      },
      {
        "OpenToken": "(",
        "CloseToken": ")"
      },
      {
        "OpenToken": "[",
        "CloseToken": "]"
      }
    ]
  },
  "CompletionProposal": {
    "SkipRegion": [
      {
        "OpenToken": "'",
        "CloseToken": "'",
        "RegionType": "SingleLineString"
      },
      {
        "OpenToken": "\"",
        "CloseToken": "\"",
        "RegionType": "SingleLineString"
      },
      {
        "OpenToken": "--",
        "RegionType": "SingleLine"
      },
      {
        "OpenToken": "/*",
        "CloseToken": "*/",
        "RegionType": "MultiLine"
      }
    ]
  }
}