# vim: filetype=muttrc

#
#
# make sure that you are using mutt linked against slang, not ncurses, or
# suffer the consequences of weird color issues. use "mutt -v" to check this.

# custom body highlights -----------------------------------------------
# highlight my name and other personally relevant strings
#color body          J_yellow        J_bg            "(ethan|schoonover)"
# custom index highlights ----------------------------------------------
# messages which mention my name in the body
#color index         J_yellow        J_bg            "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P"
#color index         J_cream         J_base3         "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P"
#color index         J_yellow        J_cyan          "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P"
#color index         J_yellow        J_magent        "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P"
## messages which are in reference to my mails
#color index         J_magent        J_bg            "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P"
#color index         J_magent        J_base3         "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P"
#color index         J_magent        J_cyan          "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P"
#color index         J_magent        J_red           "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P"

# for background in 16 color terminal, valid background colors include:
# base03, bg, black, any of the non brights

# basic colors ---------------------------------------------------------
color normal        J_base00        J_bg            
color error         J_red           J_bg            
color tilde         J_base02        J_bg            
color message       J_cyan          J_bg            
color markers       J_red           J_base2         
color attachment    J_base2         J_bg            
color search        J_violet        J_bg            
#color status        J_black         J_status        
color status        J_statusfg      J_statusbg      
color indicator     J_base03        J_yellow        
color tree          J_yellow        J_bg                                        # arrow in threads

# basic monocolor screen
mono  bold          bold
mono  underline     underline
mono  indicator     reverse
mono  error         bold

# index ----------------------------------------------------------------

#color index         J_red           J_bg            "~D(!~p|~p)"               # deleted
#color index         J_base02        J_bg            ~F                         # flagged
#color index         J_orange        J_bg            ~=                         # duplicate messages
#color index         J_base01        J_bg            "~A!~N!~T!~p!~Q!~F!~D!~P"  # the rest
#color index         J_base          J_bg            "~A~N!~T!~p!~Q!~F!~D"      # the rest, new
color index         J_red           J_bg            "~A"                        # all messages
color index         J_orange        J_bg            "~E"                        # expired messages
color index         J_blue          J_bg            "~N"                        # new messages
color index         J_blue          J_bg            "~O"                        # old messages
color index         J_violet        J_bg            "~Q"                        # messages that have been replied to
color index         J_base01        J_bg            "~R"                        # read messages
color index         J_blue          J_bg            "~U"                        # unread messages
color index         J_blue          J_bg            "~U~$"                      # unread, unreferenced messages
color index         J_base00        J_bg            "~v"                        # messages part of a collapsed thread
color index         J_base00        J_bg            "~P"                        # messages from me
color index         J_cyan          J_bg            "~p!~F"                     # messages to me
color index         J_cyan          J_bg            "~N~p!~F"                   # new messages to me
color index         J_cyan          J_bg            "~U~p!~F"                   # unread messages to me
color index         J_base01        J_bg            "~R~p!~F"                   # messages to me
color index         J_red           J_bg            "~F"                        # flagged messages
color index         J_red           J_bg            "~F~p"                      # flagged messages to me
color index         J_red           J_bg            "~N~F"                      # new flagged messages
color index         J_red           J_bg            "~N~F~p"                    # new flagged messages to me
color index         J_red           J_bg            "~U~F~p"                    # new flagged messages to me
color index         J_base02        J_red           "~D"                        # deleted messages
color index         J_base1         J_bg            "~v~(!~N)"                  # collapsed thread with no unread
color index         J_yellow        J_bg            "~v~(~N)"                   # collapsed thread with some unread
color index         J_green         J_bg            "~N~v~(~N)"                 # collapsed thread with unread parent
# statusbg used to indicated flagged when foreground color shows other status
# for collapsed thread
color index         J_red           J_statusbg      "~v~(~F)!~N"                # collapsed thread with flagged, no unread
color index         J_yellow        J_statusbg      "~v~(~F~N)"                 # collapsed thread with some unread & flagged
color index         J_green         J_statusbg      "~N~v~(~F~N)"               # collapsed thread with unread parent & flagged
color index         J_green         J_statusbg      "~N~v~(~F)"                 # collapsed thread with unread parent, no unread inside, but some flagged
color index         J_cyan          J_statusbg      "~v~(~p)"                   # collapsed thread with unread parent, no unread inside, some to me directly
color index         J_yellow        J_red           "~v~(~D)"                   # thread with deleted (doesn't differentiate between all or partial)
#color index         J_yellow        J_bg            "~(~N)"                    # messages in threads with some unread
#color index         J_green         J_bg            "~S"                       # superseded messages
#color index         J_red           J_bg            "~T"                       # tagged messages
#color index         J_orange        J_red           "~="                       # duplicated messages

# message headers ------------------------------------------------------

#color header        J_base01        J_bg            "^"
color hdrdefault    J_base01        J_bg            
color header        J_base00        J_bg            "^(From)"
color header        J_blue          J_bg            "^(Subject)"

# body -----------------------------------------------------------------

color quoted        J_blue          J_bg            
color quoted1       J_cyan          J_bg            
color quoted2       J_yellow        J_bg            
color quoted3       J_red           J_bg            
color quoted4       J_orange        J_bg            

color signature     J_base01        J_bg            
color bold          J_base02        J_bg            
color underline     J_base02        J_bg            
color normal        J_fg            J_bg            
#
color body          J_base1         J_bg            "[;:][-o][)/(|]"    # emoticons
color body          J_base1         J_bg            "[;:][)(|]"         # emoticons
color body          J_base1         J_bg            "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\
                                                     |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\
                                                     |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?"
color body          J_base1         J_bg            "[ ][*][^*]*[*][ ]?" # more emoticon?
color body          J_base1         J_bg            "[ ]?[*][^*]*[*][ ]" # more emoticon?

## pgp

color body          J_red           J_bg            "(BAD signature)"
color body          J_cyan          J_bg            "(Good signature)"
color body          J_base03        J_bg            "^gpg: Good signature .*"
color body          J_base00        J_bg            "^gpg: "
color body          J_base00        J_red           "^gpg: BAD signature from.*"
mono  body          bold                            "^gpg: Good signature"
mono  body          bold                            "^gpg: BAD signature from.*"

# yes, an insance URL regex
color body          J_red           J_bg            "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
# and a heavy handed email regex
#color body          J_magent        J_bg            "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])"

# Various smilies and the like
#color body          J_base3         J_bg            "<[Gg]>"                            # <g>
#color body          J_base3         J_bg            "<[Bb][Gg]>"                        # <bg>
#color body          J_yellow        J_bg            " [;:]-*[})>{(<|]"                  # :-) etc...
# *bold*
#color body          J_blue          J_bg            "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
#mono  body          bold                            "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
# _underline_
#color body          J_blue          J_bg            "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
#mono  body          underline                       "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
# /italic/  (Sometimes gets directory names)
#color body         J_blue          J_bg            "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
#mono body          underline                       "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"

# Border lines.
#color body          J_blue          J_bg            "( *[-+=#*~_]){6,}"

#folder-hook .                  "color status        J_black         J_status        "
#folder-hook gmail/inbox        "color status        J_black         J_yellow        "
#folder-hook gmail/important    "color status        J_black         J_yellow        "

