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

# Properties for mail mode.
properties = {
	"lineComment": ">",
	"noWordSep": "-_",
}

# Attributes dict for mail_main ruleset.
mail_main_attributes_dict = {
	"default": "null",
	"digit_re": "",
	"escape": "",
	"highlight_digits": "false",
	"ignore_case": "true",
	"no_word_sep": "-_:)",
}

# Attributes dict for mail_signature ruleset.
mail_signature_attributes_dict = {
	"default": "COMMENT2",
	"digit_re": "",
	"escape": "",
	"highlight_digits": "false",
	"ignore_case": "true",
	"no_word_sep": "-_:)",
}

# Attributes dict for mail_header ruleset.
mail_header_attributes_dict = {
	"default": "MARKUP",
	"digit_re": "",
	"escape": "",
	"highlight_digits": "false",
	"ignore_case": "true",
	"no_word_sep": "-_:)",
}

# Dictionary of attributes dictionaries for mail mode.
attributesDictDict = {
	"mail_header": mail_header_attributes_dict,
	"mail_main": mail_main_attributes_dict,
	"mail_signature": mail_signature_attributes_dict,
}

# Keywords dict for mail_main ruleset.
mail_main_keywords_dict = {}

# Keywords dict for mail_signature ruleset.
mail_signature_keywords_dict = {}

# Keywords dict for mail_header ruleset.
mail_header_keywords_dict = {}

# Dictionary of keywords dictionaries for mail mode.
keywordsDictDict = {
	"mail_header": mail_header_keywords_dict,
	"mail_main": mail_main_keywords_dict,
	"mail_signature": mail_signature_keywords_dict,
}

# Rules for mail_main ruleset.

def mail_rule0(colorer, s, i):
    return colorer.match_eol_span(s, i, kind="comment3", seq=">>>",
        at_line_start=True, at_whitespace_end=False, at_word_start=False,
        delegate="", exclude_match=False)

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

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

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

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

def mail_rule5(colorer, s, i):
    return colorer.match_seq(s, i, kind="comment2", seq="--",
        at_line_start=True, at_whitespace_end=False, at_word_start=False, delegate="mail::signature")

def mail_rule6(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword1", seq=":-)",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def mail_rule7(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword1", seq=":-(",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def mail_rule8(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword1", seq=":)",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def mail_rule9(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword1", seq=":(",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def mail_rule10(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword1", seq=";-)",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def mail_rule11(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword1", seq=";-(",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def mail_rule12(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword1", seq=";)",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

def mail_rule13(colorer, s, i):
    return colorer.match_seq(s, i, kind="keyword1", seq=";(",
        at_line_start=False, at_whitespace_end=False, at_word_start=False, delegate="")

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

# Rules dict for mail_main ruleset.
rulesDict1 = {
	"-": [mail_rule5,],
	":": [mail_rule4,mail_rule6,mail_rule7,mail_rule8,mail_rule9,mail_rule14,],
	";": [mail_rule10,mail_rule11,mail_rule12,mail_rule13,],
	">": [mail_rule0,mail_rule1,mail_rule2,],
	"|": [mail_rule3,],
}

# Rules for mail_signature ruleset.

# Rules dict for mail_signature ruleset.
rulesDict2 = {}

# Rules for mail_header ruleset.

def mail_rule15(colorer, s, i):
    return colorer.match_span(s, i, kind="keyword2", begin="<", end=">",
        at_line_start=False, at_whitespace_end=False, at_word_start=False,
        delegate="",exclude_match=False,
        no_escape=False, no_line_break=True, no_word_break=False)

# Rules dict for mail_header ruleset.
rulesDict3 = {
	"<": [mail_rule15,],
}

# x.rulesDictDict for mail mode.
rulesDictDict = {
	"mail_header": rulesDict3,
	"mail_main": rulesDict1,
	"mail_signature": rulesDict2,
}

# Import dict for mail mode.
importDict = {}

