summaryrefslogtreecommitdiff
path: root/mutt/solarized.muttrc
blob: 3588389b48bec557867608147b6751b48e645ef2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# vim: filetype=muttrc

# Based on https://github.com/altercation/mutt-colors-solarized/
#
# The original by @altercation only works if mutt is linked against slang, but
# on NixOS both mutt and neomutt are linked against ncurses. This color scheme
# has been modified to work with ncurses.

# Highlight my name and other personally relevant strings
color body color136 default "(ben|sima|bsima)"

# Highlight messages which mention my name in the body
color index color136 default "~b \"ben(_g|\!| sima)|bsima\" !~N !~T !~F !~p !~P"
color index color136 color37 "~b \"ben(_g|\!| sima)|bsima\" ~T !~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 color244 default 
color error color160 default 
color tilde color254 default 
color message color37 default 
color markers color160 default 
color attachment default default 
color search color61 default 
color status color244 color254 
color indicator color230 color136 
color tree color136 default # arrow in threads

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

# Index
color index color160 default "~D(!~p|~p)" # deleted
color index color254 default ~F # flagged
color index color166 default ~= # duplicate messages
color index color245 default "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest
color index color160 default "~A" # all messages
color index color166 default "~E" # expired messages
color index color33 default "~N" # new messages
color index color33 default "~O" # old messages
color index color61 default "~Q" # messages that have been replied to
color index color245 default "~R" # read messages
color index color33 default "~U" # unread messages
color index color33 default "~U~$" # unread, unreferenced messages
color index color244 default "~v" # messages part of a collapsed thread
color index color244 default "~P" # messages from me
color index color37 default "~p!~F" # messages to me
color index color37 default "~N~p!~F" # new messages to me
color index color37 default "~U~p!~F" # unread messages to me
color index color245 default "~R~p!~F" # messages to me
color index color160 default "~F" # flagged messages
color index color160 default "~F~p" # flagged messages to me
color index color160 default "~N~F" # new flagged messages
color index color160 default "~N~F~p" # new flagged messages to me
color index color160 default "~U~F~p" # new flagged messages to me
color index color254 color160 "~D" # deleted messages
color index color239 default "~v~(!~N)" # collapsed thread with no unread
color index color136 default "~v~(~N)" # collapsed thread with some unread
color index color64 default "~N~v~(~N)" # collapsed thread with unread parent

# statusbg used to indicated flagged when foreground color shows other status
# for collapsed thread
color index color160 color254 "~v~(~F)!~N" # collapsed thread with flagged, no unread
color index color136 color254 "~v~(~F~N)" # collapsed thread with some unread & flagged
color index color64 color254 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged
color index color64 color254 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged
color index color37 color254 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly
color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial)
color index color136 default "~(~N)" # messages in threads with some unread
color index color64 default "~S" # superseded messages
color index color160 default "~T" # tagged messages
color index color166 color160 "~=" # duplicated messages


# Message headers

color header color245 default "^"
color hdrdefault color245 default 
color header color244 default "^(From)"
color header color33 default "^(Subject)"


# Message body

color quoted color33 default 
color quoted1 color37 default 
color quoted2 color136 default 
color quoted3 color160 default 
color quoted4 color166 default 

color signature color245 default 
color bold color254 default 
color underline color254 default 
color normal color240 default 

color body color239 default "[;:][-o][)/(|]" # emoticons
color body color239 default "[;:][)(|]" # emoticons
color body color239 default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\
 |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\
 |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?"
color body color239 default "[ ][*][^*]*[*][ ]?" # more emoticon?
color body color239 default "[ ]?[*][^*]*[*][ ]" # more emoticon?


## pgp
color body color160 default "(BAD signature)"
color body color37 default "(Good signature)"
color body color230 default "^gpg: Good signature .*"
color body color244 default "^gpg: "
color body color244 color160 "^gpg: BAD signature from.*"
mono body bold "^gpg: Good signature"
mono body bold "^gpg: BAD signature from.*"


# yes, an insane URL regex
color body color160 default "([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 color160 default "((@(([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 default default "<[Gg]>" # <g>
color body default default "<[Bb][Gg]>" # <bg>
color body color136 default " [;:]-*[})>{(<|]" # :-) etc...

# *bold*
color body color33 default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"

# _underline_
color body color33 default "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"

# /italic/ (Sometimes gets directory names)
color body color33 default "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"

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