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

# Properties for nsis2 mode.
properties = {
	"indentNextLine": "\\s*(.*:|(function\\s+.*)|(section\\s+.*)|(subsection\\s+.*))",
	"lineComment": ";",
}

# Attributes dict for nsis2_main ruleset.
nsis2_main_attributes_dict = {
	"default": "NULL",
	"digit_re": "",
	"escape": "$\\",
	"highlight_digits": "true",
	"ignore_case": "true",
	"no_word_sep": "",
}

# Attributes dict for nsis2_nsis_literal ruleset.
nsis2_nsis_literal_attributes_dict = {
	"default": "LITERAL1",
	"digit_re": "",
	"escape": "$\\",
	"highlight_digits": "true",
	"ignore_case": "true",
	"no_word_sep": "-{}_",
}

# Dictionary of attributes dictionaries for nsis2 mode.
attributesDictDict = {
	"nsis2_main": nsis2_main_attributes_dict,
	"nsis2_nsis_literal": nsis2_nsis_literal_attributes_dict,
}

# Keywords dict for nsis2_main ruleset.
nsis2_main_keywords_dict = {
	"!addincludedir": "keyword2",
	"!addplugindir": "keyword2",
	"!cd": "keyword2",
	"!define": "keyword2",
	"!echo": "keyword2",
	"!else": "keyword1",
	"!endif": "keyword1",
	"!error": "keyword2",
	"!ifdef": "keyword1",
	"!ifndef": "keyword1",
	"!include": "keyword2",
	"!insertmacro": "keyword2",
	"!macro": "keyword1",
	"!macroend": "keyword1",
	"!packhdr": "keyword2",
	"!system": "keyword2",
	"!undef": "keyword2",
	"!verbose": "keyword2",
	"!warning": "keyword2",
	"$$": "literal3",
	"$0": "keyword3",
	"$1": "keyword3",
	"$2": "keyword3",
	"$3": "keyword3",
	"$4": "keyword3",
	"$5": "keyword3",
	"$6": "keyword3",
	"$7": "keyword3",
	"$8": "keyword3",
	"$9": "keyword3",
	"$\\n": "literal3",
	"$\\r": "literal3",
	"$cmdline": "keyword3",
	"$desktop": "literal3",
	"$exedir": "literal3",
	"$hwndparent": "literal3",
	"$instdir": "keyword3",
	"$language": "keyword3",
	"$outdir": "keyword3",
	"$pluginsdir": "literal3",
	"$programfiles": "literal3",
	"$quicklaunch": "literal3",
	"$r0": "keyword3",
	"$r1": "keyword3",
	"$r2": "keyword3",
	"$r3": "keyword3",
	"$r4": "keyword3",
	"$r5": "keyword3",
	"$r6": "keyword3",
	"$r7": "keyword3",
	"$r8": "keyword3",
	"$r9": "keyword3",
	"$smprograms": "literal3",
	"$smstartup": "literal3",
	"$startmenu": "literal3",
	"$sysdir": "literal3",
	"$temp": "literal3",
	"$windir": "literal3",
	"${nsisdir}": "literal3",
	".onguiinit": "keyword3",
	".oninit": "keyword3",
	".oninstfailed": "keyword3",
	".oninstsuccess": "keyword3",
	".onmouseoversection": "keyword3",
	".onselchange": "keyword3",
	".onuserabort": "keyword3",
	".onverifyinstdir": "keyword3",
	"/0": "keyword4",
	"/a": "keyword4",
	"/componentsonlyoncustom": "keyword4",
	"/customstring": "keyword4",
	"/e": "keyword4",
	"/filesonly": "keyword4",
	"/ifempty": "keyword4",
	"/imgid": "keyword4",
	"/italic": "keyword4",
	"/lang": "keyword4",
	"/nocustom": "keyword4",
	"/nonfatal": "keyword4",
	"/nounload": "keyword4",
	"/oname": "keyword4",
	"/r": "keyword4",
	"/rebootok": "keyword4",
	"/resizetofit": "keyword4",
	"/rtl": "keyword4",
	"/short": "keyword4",
	"/silent": "keyword4",
	"/strike": "keyword4",
	"/timeout": "keyword4",
	"/trim": "keyword4",
	"/underline": "keyword4",
	"/windows": "keyword4",
	"a": "literal3",
	"abort": "keyword1",
	"addbrandingimage": "keyword2",
	"addsize": "keyword2",
	"all": "literal3",
	"allowrootdirinstall": "keyword2",
	"allowskipfiles": "keyword2",
	"alt": "literal3",
	"alwaysoff": "literal3",
	"archive": "literal3",
	"auto": "literal3",
	"autoclosewindow": "keyword2",
	"bggradient": "keyword2",
	"both": "literal3",
	"bottom": "literal3",
	"brandingtext": "keyword2",
	"bringtofront": "keyword2",
	"bzip2": "literal3",
	"call": "keyword1",
	"callinstdll": "keyword2",
	"caption": "keyword2",
	"center": "literal3",
	"changeui": "keyword2",
	"checkbitmap": "keyword2",
	"checkbox": "literal3",
	"clearerrors": "keyword1",
	"colored": "literal3",
	"completedtext": "keyword2",
	"components": "literal3",
	"componenttext": "keyword2",
	"control": "literal3",
	"copyfiles": "keyword2",
	"crccheck": "keyword2",
	"createdirectory": "keyword2",
	"createfont": "keyword2",
	"createshortcut": "keyword2",
	"cur": "literal3",
	"current": "literal3",
	"custom": "literal3",
	"delete": "keyword2",
	"deleteinisec": "keyword2",
	"deleteinistr": "keyword2",
	"deleteregkey": "keyword2",
	"deleteregvalue": "keyword2",
	"detailprint": "keyword2",
	"detailsbuttontext": "keyword2",
	"dim": "invalid",
	"directory": "literal3",
	"dirshow": "keyword2",
	"dirtext": "keyword2",
	"end": "literal3",
	"enumregkey": "keyword2",
	"enumregvalue": "keyword2",
	"exch": "keyword2",
	"exec": "keyword2",
	"execshell": "keyword2",
	"execwait": "keyword2",
	"expandenvstrings": "keyword2",
	"ext": "literal3",
	"f1": "literal3",
	"f10": "literal3",
	"f11": "literal3",
	"f12": "literal3",
	"f13": "literal3",
	"f14": "literal3",
	"f15": "literal3",
	"f16": "literal3",
	"f17": "literal3",
	"f18": "literal3",
	"f19": "literal3",
	"f2": "literal3",
	"f20": "literal3",
	"f21": "literal3",
	"f22": "literal3",
	"f23": "literal3",
	"f24": "literal3",
	"f3": "literal3",
	"f4": "literal3",
	"f5": "literal3",
	"f6": "literal3",
	"f7": "literal3",
	"f8": "literal3",
	"f9": "literal3",
	"false": "literal3",
	"file": "keyword2",
	"file_attribute_archive": "literal3",
	"file_attribute_hidden": "literal3",
	"file_attribute_normal": "literal3",
	"file_attribute_offline": "literal3",
	"file_attribute_readonly": "literal3",
	"file_attribute_system": "literal3",
	"file_attribute_temporary": "literal3",
	"fileclose": "keyword2",
	"fileerrortext": "keyword2",
	"fileopen": "keyword2",
	"fileread": "keyword2",
	"filereadbyte": "keyword2",
	"fileseek": "keyword2",
	"filewrite": "keyword2",
	"filewritebyte": "keyword2",
	"findclose": "keyword2",
	"findfirst": "keyword2",
	"findnext": "keyword2",
	"findwindow": "keyword2",
	"flushini": "keyword2",
	"force": "literal3",
	"function": "keyword1",
	"functionend": "keyword1",
	"getcurinsttype": "keyword2",
	"getcurrentaddress": "keyword2",
	"getdlgitem": "keyword2",
	"getdllversion": "keyword2",
	"getdllversionlocal": "keyword2",
	"getfiletime": "keyword2",
	"getfiletimelocal": "keyword2",
	"getfullpathname": "keyword2",
	"getfunctionaddress": "keyword2",
	"getlabeladdress": "keyword2",
	"gettempfilename": "keyword2",
	"getwindowtext": "keyword2",
	"goto": "keyword1",
	"hidden": "literal3",
	"hide": "literal3",
	"hidewindow": "keyword2",
	"hkcc": "literal3",
	"hkcr": "literal3",
	"hkcu": "literal3",
	"hkdd": "literal3",
	"hklm": "literal3",
	"hkpd": "literal3",
	"hku": "literal3",
	"icon": "keyword2",
	"idabort": "literal3",
	"idcancel": "literal3",
	"idignore": "literal3",
	"idno": "literal3",
	"idok": "literal3",
	"idretry": "literal3",
	"idyes": "literal3",
	"ifabort": "keyword1",
	"iferrors": "keyword1",
	"iffileexists": "keyword1",
	"ifnewer": "literal3",
	"ifrebootflag": "keyword1",
	"initpluginsdir": "keyword2",
	"installbuttontext": "keyword2",
	"installcolors": "keyword2",
	"installdir": "keyword2",
	"installdirregkey": "keyword2",
	"instfiles": "literal3",
	"instprogressflags": "keyword2",
	"insttype": "keyword2",
	"insttypegettext": "keyword2",
	"insttypesettext": "keyword2",
	"intcmp": "keyword1",
	"intcmpu": "keyword1",
	"intfmt": "keyword2",
	"intop": "keyword2",
	"iswindow": "keyword1",
	"langstring": "keyword2",
	"langstringup": "keyword2",
	"left": "literal3",
	"license": "literal3",
	"licensebkcolor": "keyword2",
	"licensedata": "keyword2",
	"licenseforceselection": "keyword2",
	"licensetext": "keyword2",
	"listonly": "literal3",
	"loadlanguagefile": "keyword2",
	"logset": "keyword2",
	"logtext": "keyword2",
	"manual": "literal3",
	"mb_abortretryignore": "literal3",
	"mb_defbutton1": "literal3",
	"mb_defbutton2": "literal3",
	"mb_defbutton3": "literal3",
	"mb_defbutton4": "literal3",
	"mb_iconexclamation": "literal3",
	"mb_iconinformation": "literal3",
	"mb_iconquestion": "literal3",
	"mb_iconstop": "literal3",
	"mb_ok": "literal3",
	"mb_okcancel": "literal3",
	"mb_retrycancel": "literal3",
	"mb_right": "literal3",
	"mb_setforeground": "literal3",
	"mb_topmost": "literal3",
	"mb_yesno": "literal3",
	"mb_yesnocancel": "literal3",
	"messagebox": "keyword1",
	"miscbuttontext": "keyword2",
	"name": "keyword2",
	"nevershow": "literal3",
	"none": "literal3",
	"nop": "keyword2",
	"normal": "literal3",
	"off": "literal3",
	"offline": "literal3",
	"on": "literal3",
	"outfile": "keyword2",
	"page": "keyword2",
	"plugindir": "keyword2",
	"pop": "keyword2",
	"push": "keyword2",
	"quit": "keyword1",
	"r": "literal3",
	"radiobuttons": "literal3",
	"readenvstr": "keyword2",
	"readinistr": "keyword2",
	"readonly": "literal3",
	"readregdword": "keyword2",
	"readregstr": "keyword2",
	"reboot": "keyword1",
	"regdll": "keyword2",
	"rename": "keyword2",
	"reservefile": "keyword2",
	"return": "keyword1",
	"right": "literal3",
	"rmdir": "keyword2",
	"ro": "literal3",
	"searchpath": "keyword2",
	"section": "keyword1",
	"sectionend": "keyword1",
	"sectiongetflags": "keyword2",
	"sectiongetinsttypes": "keyword2",
	"sectiongetsize": "keyword2",
	"sectiongettext": "keyword2",
	"sectionin": "keyword2",
	"sectionsetflags": "keyword2",
	"sectionsetinsttypes": "keyword2",
	"sectionsetsize": "keyword2",
	"sectionsettext": "keyword2",
	"sendmessage": "keyword2",
	"set": "literal3",
	"setautoclose": "keyword2",
	"setbkcolor": "keyword2",
	"setbrandingimage": "keyword2",
	"setcompress": "keyword2",
	"setcompressor": "keyword2",
	"setcurinsttype": "keyword2",
	"setdatablockoptimize": "keyword2",
	"setdatesave": "keyword2",
	"setdetailsprint": "keyword2",
	"setdetailsview": "keyword2",
	"seterrors": "keyword1",
	"setfileattributes": "keyword2",
	"setfont": "keyword2",
	"setoutpath": "keyword2",
	"setoverwrite": "keyword2",
	"setpluginunload": "keyword2",
	"setrebootflag": "keyword2",
	"setshellvarcontext": "keyword2",
	"setstaticbkcolor": "keyword2",
	"setwindowlong": "keyword2",
	"shift": "literal3",
	"show": "literal3",
	"showinstdetails": "keyword2",
	"showuninstdetails": "keyword2",
	"showwindow": "keyword2",
	"silent": "literal3",
	"silentinstall": "keyword2",
	"silentlog": "literal3",
	"silentuninstall": "keyword2",
	"sleep": "keyword2",
	"smooth": "literal3",
	"spacetexts": "keyword2",
	"strcmp": "keyword1",
	"strcpy": "keyword2",
	"strlen": "keyword2",
	"subcaption": "keyword2",
	"subsection": "keyword1",
	"subsectionend": "keyword1",
	"sw_showmaximized": "literal3",
	"sw_showminimized": "literal3",
	"sw_shownormal": "literal3",
	"system": "literal3",
	"temporary": "literal3",
	"textonly": "literal3",
	"top": "literal3",
	"true": "literal3",
	"try": "literal3",
	"un.onguiinit": "keyword3",
	"un.oninit": "keyword3",
	"un.onuninstfailed": "keyword3",
	"un.onuninstsuccess": "keyword3",
	"un.onuserabort": "keyword3",
	"uninstallbuttontext": "keyword2",
	"uninstallcaption": "keyword2",
	"uninstallexename": "invalid",
	"uninstallicon": "keyword2",
	"uninstallsubcaption": "keyword2",
	"uninstalltext": "keyword2",
	"uninstconfirm": "literal3",
	"uninstpage": "keyword2",
	"unregdll": "keyword2",
	"var": "keyword2",
	"viaddversionkey": "keyword2",
	"vicomments": "keyword2",
	"vicompanyname": "keyword2",
	"videscription": "keyword2",
	"vilegalcopyrights": "keyword2",
	"vilegaltrademarks": "keyword2",
	"viproductname": "keyword2",
	"viproductversion": "keyword2",
	"w": "literal3",
	"windowicon": "keyword2",
	"writeinistr": "keyword2",
	"writeregbin": "keyword2",
	"writeregdword": "keyword2",
	"writeregexpandstr": "keyword2",
	"writeregstr": "keyword2",
	"writeuninstaller": "keyword2",
	"xpstyle": "keyword2",
	"zlib": "literal3",
}

# Keywords dict for nsis2_nsis_literal ruleset.
nsis2_nsis_literal_keywords_dict = {}

# Dictionary of keywords dictionaries for nsis2 mode.
keywordsDictDict = {
	"nsis2_main": nsis2_main_keywords_dict,
	"nsis2_nsis_literal": nsis2_nsis_literal_keywords_dict,
}

# Rules for nsis2_main ruleset.

def nsis2_rule0(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="comment1", seq=";",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="", exclude_match=False)

def nsis2_rule1(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="comment2", seq="#",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="", exclude_match=False)

def nsis2_rule2(colorer, s, i):
    return colorer.match_mark_following(s, i, kind="keyword3", pattern="$",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, exclude_match=False)

def nsis2_rule3(colorer, s, i):
    return colorer.match_mark_previous(s, i, kind="function", pattern="::",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, exclude_match=True)

def nsis2_rule4(colorer, s, i):
    return colorer.match_mark_previous(s, i, kind="label", pattern=":",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, exclude_match=True)

def nsis2_rule5(colorer, s, i):
    return colorer.match_span(s, i, kind="literal1", begin="\"", end="\"",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="nsis2::nsis_literal",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

def nsis2_rule6(colorer, s, i):
    return colorer.match_span(s, i, kind="literal1", begin="'", end="'",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="nsis2::nsis_literal",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

def nsis2_rule7(colorer, s, i):
    return colorer.match_span(s, i, kind="literal1", begin="`", end="`",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="nsis2::nsis_literal",exclude_match=False,
        no_escape=False, no_line_break=False, no_word_break=False)

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

# Rules dict for nsis2_main ruleset.
rulesDict1 = {
	"!": [nsis2_rule8,],
	"\"": [nsis2_rule5,],
	"#": [nsis2_rule1,],
	"$": [nsis2_rule2,nsis2_rule8,],
	"'": [nsis2_rule6,],
	".": [nsis2_rule8,],
	"/": [nsis2_rule8,],
	"0": [nsis2_rule8,],
	"1": [nsis2_rule8,],
	"2": [nsis2_rule8,],
	"3": [nsis2_rule8,],
	"4": [nsis2_rule8,],
	"5": [nsis2_rule8,],
	"6": [nsis2_rule8,],
	"7": [nsis2_rule8,],
	"8": [nsis2_rule8,],
	"9": [nsis2_rule8,],
	":": [nsis2_rule3,nsis2_rule4,],
	";": [nsis2_rule0,],
	"@": [nsis2_rule8,],
	"A": [nsis2_rule8,],
	"B": [nsis2_rule8,],
	"C": [nsis2_rule8,],
	"D": [nsis2_rule8,],
	"E": [nsis2_rule8,],
	"F": [nsis2_rule8,],
	"G": [nsis2_rule8,],
	"H": [nsis2_rule8,],
	"I": [nsis2_rule8,],
	"J": [nsis2_rule8,],
	"K": [nsis2_rule8,],
	"L": [nsis2_rule8,],
	"M": [nsis2_rule8,],
	"N": [nsis2_rule8,],
	"O": [nsis2_rule8,],
	"P": [nsis2_rule8,],
	"Q": [nsis2_rule8,],
	"R": [nsis2_rule8,],
	"S": [nsis2_rule8,],
	"T": [nsis2_rule8,],
	"U": [nsis2_rule8,],
	"V": [nsis2_rule8,],
	"W": [nsis2_rule8,],
	"X": [nsis2_rule8,],
	"Y": [nsis2_rule8,],
	"Z": [nsis2_rule8,],
	"\\": [nsis2_rule8,],
	"_": [nsis2_rule8,],
	"`": [nsis2_rule7,],
	"a": [nsis2_rule8,],
	"b": [nsis2_rule8,],
	"c": [nsis2_rule8,],
	"d": [nsis2_rule8,],
	"e": [nsis2_rule8,],
	"f": [nsis2_rule8,],
	"g": [nsis2_rule8,],
	"h": [nsis2_rule8,],
	"i": [nsis2_rule8,],
	"j": [nsis2_rule8,],
	"k": [nsis2_rule8,],
	"l": [nsis2_rule8,],
	"m": [nsis2_rule8,],
	"n": [nsis2_rule8,],
	"o": [nsis2_rule8,],
	"p": [nsis2_rule8,],
	"q": [nsis2_rule8,],
	"r": [nsis2_rule8,],
	"s": [nsis2_rule8,],
	"t": [nsis2_rule8,],
	"u": [nsis2_rule8,],
	"v": [nsis2_rule8,],
	"w": [nsis2_rule8,],
	"x": [nsis2_rule8,],
	"y": [nsis2_rule8,],
	"z": [nsis2_rule8,],
	"{": [nsis2_rule8,],
	"}": [nsis2_rule8,],
}

# Rules for nsis2_nsis_literal ruleset.

def nsis2_rule9(colorer, s, i):
    return colorer.match_mark_following(s, i, kind="keyword3", pattern="$",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, exclude_match=False)

# Rules dict for nsis2_nsis_literal ruleset.
rulesDict2 = {
	"$": [nsis2_rule9,],
}

# x.rulesDictDict for nsis2 mode.
rulesDictDict = {
	"nsis2_main": rulesDict1,
	"nsis2_nsis_literal": rulesDict2,
}

# Import dict for nsis2 mode.
importDict = {}

