# Leo colorizer control file for sas mode.
# This file is in the public domain.

# Properties for sas mode.
properties = {}

# Attributes dict for sas_main ruleset.
sas_main_attributes_dict = {
    "default": "null",
    "digit_re": "",
    "escape": "",
    "highlight_digits": "false",
    "ignore_case": "true",
    "no_word_sep": "",
}

# Dictionary of attributes dictionaries for sas mode.
attributesDictDict = {
    "sas_main": sas_main_attributes_dict,
}

# Keywords dict for sas_main ruleset.
sas_main_keywords_dict = {
    "$ascii": "keyword2",
    "$binary": "keyword2",
    "$cb": "keyword2",
    "$char": "keyword2",
    "$charzb": "keyword2",
    "$ebcdic": "keyword2",
    "$hex": "keyword2",
    "$octal": "keyword2",
    "$varying": "keyword2",
    "%bquote": "keyword2",
    "%do": "keyword2",
    "%else": "keyword2",
    "%end": "keyword2",
    "%eval": "keyword2",
    "%global": "keyword2",
    "%goto": "keyword2",
    "%if": "keyword2",
    "%inc": "keyword2",
    "%include": "keyword2",
    "%index": "keyword2",
    "%input": "keyword2",
    "%length": "keyword2",
    "%let": "keyword2",
    "%local": "keyword2",
    "%macro": "keyword2",
    "%mend": "keyword2",
    "%nrbquote": "keyword2",
    "%nrquote": "keyword2",
    "%nrstr": "keyword2",
    "%put": "keyword2",
    "%qscan": "keyword2",
    "%quote": "keyword2",
    "%run": "keyword2",
    "%substr": "keyword2",
    "%sysexec": "keyword2",
    "%then": "keyword2",
    "%until": "keyword2",
    "%while": "keyword2",
    "%window": "keyword2",
    "=data": "keyword2",
    "_all_": "keyword2",
    "_character_": "keyword2",
    "_cmd_": "keyword2",
    "_error_": "keyword2",
    "_i_": "keyword2",
    "_infile_": "keyword2",
    "_last_": "keyword2",
    "_msg_": "keyword2",
    "_n_": "keyword2",
    "_null_": "keyword2",
    "_numeric_": "keyword2",
    "_temporary_": "keyword2",
    "_type_": "keyword2",
    "abort": "keyword2",
    "add": "keyword2",
    "adjrsq": "keyword2",
    "and": "keyword2",
    "array": "keyword2",
    "attrib": "keyword2",
    "backward": "keyword2",
    "binary": "keyword2",
    "blocksize": "keyword2",
    "by": "keyword2",
    "bz": "keyword2",
    "call": "keyword2",
    "cards": "keyword2",
    "cards4": "keyword2",
    "char": "keyword2",
    "class": "keyword2",
    "col": "keyword2",
    "collin": "keyword2",
    "column": "keyword2",
    "comma": "keyword2",
    "commax": "keyword2",
    "create": "keyword2",
    "data": "keyword2",
    "data=": "keyword2",
    "date": "keyword2",
    "datetime": "keyword2",
    "ddmmyy": "keyword2",
    "decending": "keyword2",
    "define": "keyword2",
    "delete": "keyword2",
    "delimiter": "keyword2",
    "display": "keyword2",
    "dlm": "keyword2",
    "do": "keyword2",
    "drop": "keyword2",
    "else": "keyword2",
    "end": "keyword2",
    "endsas": "keyword2",
    "eof": "keyword2",
    "eov": "keyword2",
    "eq": "keyword2",
    "errors": "keyword2",
    "file": "keyword2",
    "filename": "keyword2",
    "filevar": "keyword2",
    "first.": "keyword2",
    "firstobs": "keyword2",
    "footnote": "keyword2",
    "footnote1": "keyword2",
    "footnote2": "keyword2",
    "footnote3": "keyword2",
    "form": "keyword2",
    "format": "keyword2",
    "formchar": "keyword2",
    "formdelim": "keyword2",
    "formdlim": "keyword2",
    "forward": "keyword2",
    "from": "keyword2",
    "go": "keyword2",
    "group": "keyword2",
    "gt": "keyword2",
    "hbar": "keyword2",
    "hex": "keyword2",
    "hpct": "keyword2",
    "hvar": "keyword2",
    "ib": "keyword2",
    "id": "keyword2",
    "ieee": "keyword2",
    "if": "keyword2",
    "in": "keyword2",
    "infile": "keyword2",
    "informat": "keyword2",
    "input": "keyword2",
    "inr": "keyword2",
    "join": "keyword2",
    "julian": "keyword2",
    "keep": "keyword2",
    "label": "keyword2",
    "lag": "keyword2",
    "last.": "keyword2",
    "le": "keyword2",
    "lib": "keyword2",
    "libname": "keyword2",
    "line": "keyword2",
    "linesize": "keyword2",
    "link": "keyword2",
    "list": "keyword2",
    "lostcard": "keyword2",
    "lrecl": "keyword2",
    "ls": "keyword2",
    "macro": "keyword2",
    "macrogen": "keyword2",
    "maxdec": "keyword2",
    "maxr": "keyword2",
    "median": "keyword2",
    "memtype": "keyword2",
    "merge": "keyword2",
    "merror": "keyword2",
    "missove": "keyword2",
    "mlogic": "keyword2",
    "mmddyy": "keyword2",
    "mode": "keyword2",
    "model": "keyword2",
    "monyy": "keyword2",
    "mprint": "keyword2",
    "mrecall": "keyword2",
    "ne": "keyword2",
    "new": "keyword2",
    "no": "keyword2",
    "nobs": "keyword2",
    "nocenter": "keyword2",
    "nocum": "keyword2",
    "nodate": "keyword2",
    "nodup": "keyword2",
    "nodupkey": "keyword2",
    "noint": "keyword2",
    "nonumber": "keyword2",
    "nopad": "keyword2",
    "noprint": "keyword2",
    "norow": "keyword2",
    "not": "keyword2",
    "notitle": "keyword2",
    "notitles": "keyword2",
    "noxsync": "keyword2",
    "noxwait": "keyword2",
    "number": "keyword2",
    "nway": "keyword2",
    "obs": "keyword2",
    "option": "keyword2",
    "options": "keyword2",
    "or": "keyword2",
    "order": "keyword2",
    "otherwise": "keyword2",
    "out": "keyword2",
    "output": "keyword2",
    "over": "keyword2",
    "pad": "keyword2",
    "pad2": "keyword2",
    "pagesize": "keyword2",
    "pd": "keyword2",
    "percent": "keyword2",
    "pib": "keyword2",
    "pk": "keyword2",
    "point": "keyword2",
    "position": "keyword2",
    "printer": "keyword2",
    "proc": "keyword2",
    "ps": "keyword2",
    "put": "keyword2",
    "quit": "keyword2",
    "r": "keyword2",
    "rb": "keyword2",
    "recfm": "keyword2",
    "reg": "keyword2",
    "regr": "keyword2",
    "rename": "keyword2",
    "replace": "keyword2",
    "retain": "keyword2",
    "return": "keyword2",
    "reuse": "keyword2",
    "rsquare": "keyword2",
    "run": "keyword2",
    "sasautos": "keyword2",
    "scan": "keyword2",
    "select": "keyword2",
    "selection": "keyword2",
    "serror": "keyword2",
    "set": "keyword2",
    "simple": "keyword2",
    "sle": "keyword2",
    "sls": "keyword2",
    "start": "keyword2",
    "stdin": "keyword2",
    "stop": "keyword2",
    "stopover": "keyword2",
    "substr": "keyword2",
    "symbol": "keyword2",
    "symbolgen": "keyword2",
    "t": "keyword2",
    "table": "keyword2",
    "tables": "keyword2",
    "then": "keyword2",
    "title": "keyword2",
    "title1": "keyword2",
    "title2": "keyword2",
    "title3": "keyword2",
    "title4": "keyword2",
    "title5": "keyword2",
    "to": "keyword2",
    "tol": "keyword2",
    "unformatted": "keyword2",
    "until": "keyword2",
    "update": "keyword2",
    "value": "keyword2",
    "var": "keyword2",
    "when": "keyword2",
    "where": "keyword2",
    "while": "keyword2",
    "window": "keyword2",
    "work": "keyword2",
    "x": "keyword2",
    "xsync": "keyword2",
    "xwait": "keyword2",
    "yes": "keyword2",
    "yymmdd": "keyword2",
}

# Dictionary of keywords dictionaries for sas mode.
keywordsDictDict = {
    "sas_main": sas_main_keywords_dict,
}

# Rules for sas_main ruleset.

def sas_rule0(colorer, s, i):
    return colorer.match_span(s, i, kind="comment1", begin="/*", end="*/")

def sas_rule1(colorer, s, i):
    return colorer.match_span(s, i, kind="literal1", begin="'", end="'")

def sas_rule2(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="=")

def sas_rule3(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="<")

def sas_rule4(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq=">")

def sas_rule5(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="_")

def sas_rule6(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="|")

def sas_rule7(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="~")

def sas_rule8(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="^")

def sas_rule9(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="@")

def sas_rule10(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="?")

def sas_rule11(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="/")

def sas_rule12(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq=".")

def sas_rule13(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="-")

def sas_rule14(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="+")

def sas_rule15(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="*")

def sas_rule16(colorer, s, i):
    return colorer.match_plain_seq(s, i, kind="operator", seq="!")

def sas_rule17(colorer, s, i):
    return colorer.match_keywords(s, i)

# Rules dict for sas_main ruleset.
rulesDict1 = {
    "!": [sas_rule16,],
    "$": [sas_rule17,],
    "%": [sas_rule17,],
    "'": [sas_rule1,],
    "*": [sas_rule15,],
    "+": [sas_rule14,],
    "-": [sas_rule13,],
    ".": [sas_rule12, sas_rule17,],
    "/": [sas_rule0, sas_rule11,],
    "0": [sas_rule17,],
    "1": [sas_rule17,],
    "2": [sas_rule17,],
    "3": [sas_rule17,],
    "4": [sas_rule17,],
    "5": [sas_rule17,],
    "6": [sas_rule17,],
    "7": [sas_rule17,],
    "8": [sas_rule17,],
    "9": [sas_rule17,],
    "<": [sas_rule3,],
    "=": [sas_rule2, sas_rule17,],
    ">": [sas_rule4,],
    "?": [sas_rule10,],
    "@": [sas_rule9, sas_rule17,],
    "A": [sas_rule17,],
    "B": [sas_rule17,],
    "C": [sas_rule17,],
    "D": [sas_rule17,],
    "E": [sas_rule17,],
    "F": [sas_rule17,],
    "G": [sas_rule17,],
    "H": [sas_rule17,],
    "I": [sas_rule17,],
    "J": [sas_rule17,],
    "K": [sas_rule17,],
    "L": [sas_rule17,],
    "M": [sas_rule17,],
    "N": [sas_rule17,],
    "O": [sas_rule17,],
    "P": [sas_rule17,],
    "Q": [sas_rule17,],
    "R": [sas_rule17,],
    "S": [sas_rule17,],
    "T": [sas_rule17,],
    "U": [sas_rule17,],
    "V": [sas_rule17,],
    "W": [sas_rule17,],
    "X": [sas_rule17,],
    "Y": [sas_rule17,],
    "Z": [sas_rule17,],
    "^": [sas_rule8,],
    "_": [sas_rule5, sas_rule17,],
    "a": [sas_rule17,],
    "b": [sas_rule17,],
    "c": [sas_rule17,],
    "d": [sas_rule17,],
    "e": [sas_rule17,],
    "f": [sas_rule17,],
    "g": [sas_rule17,],
    "h": [sas_rule17,],
    "i": [sas_rule17,],
    "j": [sas_rule17,],
    "k": [sas_rule17,],
    "l": [sas_rule17,],
    "m": [sas_rule17,],
    "n": [sas_rule17,],
    "o": [sas_rule17,],
    "p": [sas_rule17,],
    "q": [sas_rule17,],
    "r": [sas_rule17,],
    "s": [sas_rule17,],
    "t": [sas_rule17,],
    "u": [sas_rule17,],
    "v": [sas_rule17,],
    "w": [sas_rule17,],
    "x": [sas_rule17,],
    "y": [sas_rule17,],
    "z": [sas_rule17,],
    "|": [sas_rule6,],
    "~": [sas_rule7,],
}

# x.rulesDictDict for sas mode.
rulesDictDict = {
    "sas_main": rulesDict1,
}

# Import dict for sas mode.
importDict = {}
