Merge branch 'master' of https://github.com/kremlin-/dotfiles
[dotfiles.git] / nano / syntax.nanorc
CommitLineData
0e3df0c2 1syntax "awk" "\.awk$"
2header "^#!.*bin/(env +)?awk( |$)"
3
4color brightyellow "\$[A-Za-z0-9_!@#$*?-]+"
5color brightyellow "\<(ARGC|ARGIND|ARGV|BINMODE|CONVFMT|ENVIRON|ERRNO|FIELDWIDTHS)\>"
6color brightyellow "\<(FILENAME|FNR|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS)\>"
7color brightyellow "\<(PROCINFO|RS|RT|RSTART|RLENGTH|SUBSEP|TEXTDOMAIN)\>"
8color brightblue "\<(function|extension|BEGIN|END)\>"
9color red "[-+*/%^|!=&<>?;:]|\\|\[|\]"
10color brightblack "\<(for|if|while|do|else|in|delete|exit)\>"
11color brightblack "\<(break|continue|return)\>"
12color brightblue "\<(close|getline|next|nextfile|print|printf|system|fflush)\>"
13color brightblue "\<(atan2|cos|exp|int|log|rand|sin|sqrt|srand)\>"
14color brightblue "\<(asort|asorti|gensub|gsub|index|length|match)\>"
15color brightblue "\<(split|sprintf|strtonum|sub|substr|tolower|toupper)\>"
16color brightblue "\<(mktime|strftime|systime)\>"
17color brightblue "\<(and|compl|lshift|or|rshift|xor)\>"
18color brightblue "\<(bindtextdomain|dcgettext|dcngettext)\>"
19color magenta "/.*[^\]/"
20color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
21color magenta "\\."
22color cyan "(^|[[:space:]])#([^{].*)?$"
23color brightwhite,cyan "TODO:?"
24color ,green "[[:space:]]+$"
25color ,red " + +| + +"
26# +EXTRALINT
27syntax "cmake" "CMakeLists\.txt$|\.cmake$"
28
29color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
30color black "[(]"
31color brightcyan "\<(ON|OFF|TRUE|FALSE|YES|NO)\>"
32color brightyellow "\$\{[A-Za-z0-9_!@#$*?-]+\}"
33color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
34color magenta "\\([()#$^]|\\|\")"
35color cyan "(^|[[:space:]])#([^{].*)?$"
36color ,green "[[:space:]]+$"
37color ,red " + +| + +"
38# +EXTRALINT
39syntax "c" "\.(c(c|pp|xx)?|C)$" "\.(h(h|pp|xx)?|H)$" "\.ii?$"
40
41color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
42color black "[(]"
43color brightyellow "\<[A-Z_][0-9A-Z_]+\>"
44color green "\<(float|double|bool|char|int|short|long|void|(un)?signed)\>"
45color green "\<[a-z0-9_]+_t\>"
46color brightblack "\<(struct|enum|static|const|union|typedef|extern)\>"
47color brightblack "\<(for|if|while|do|else|case|default|switch)\>"
48color brightblack "\<(return|inline|sizeof|auto|register|volatile|restrict)\>"
49color brightblack "\<(try|throw|catch|operator|new|delete)\>"
50color brightred "\<(goto|break|continue)\>"
51color brightcyan "\<(true|false)\>"
52color red "[-+/*=<>?:!~%&|^]"
53color blue "\<([0-9]+|0x[0-9a-fA-F]*)\>|'.'"
54color brightyellow "^[[:space:]]*#[[:space:]]*(define|include(_next)?|(un|ifn?)def|endif|el(if|se)|if|warning|error|pragma)"
55color magenta "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__"
56color yellow ""(\\.|[^"])*"|<[A-Za-z_./-]+>"
57color magenta "\\([\"'abfnrtv\\]|[0-3]?[0-7]{1,2}|x[A-Fa-f0-9]{1,2}|$)"
58color cyan "(^|[[:space:]])//.*"
59color cyan start="/\*" end="\*/"
60color brightwhite,cyan "TODO:?"
61color ,green "[[:space:]]+$"
62color ,red " + +| + +"
63# +EXTRALINT
64syntax "coffeescript" "\.coffee$"
65header "^#!.*/(env +)?coffee"
66
67color red "[!&|=/*+-<>]|\<(and|or|is|isnt|not)\>"
68color brightblue "[A-Za-z_][A-Za-z0-9_]*:[[:space:]]*(->|\()" "->"
69color black "[()]"
70color brightblack "\<(for|of|continue|break|isnt|null|unless|this|else|if|return)\>"
71color brightblack "\<(try|catch|finally|throw|new|delete|typeof|in|instanceof)\>"
72color brightblack "\<(debugger|switch|while|do|class|extends|super)\>"
73color brightblack "\<(undefined|then|unless|until|loop|of|by|when)\>"
74color brightcyan "\<(true|false|yes|no|on|off)\>"
75color brightyellow "@[A-Za-z0-9_]*"
76color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
77color cyan "(^|[[:space:]])#([^{].*)?$"
78color ,green "[[:space:]]+$"
79color ,red " + +| + +"
80# +EXTRALINT
81syntax "colortest" "ColorTest$"
82
83color black "\<PLAIN\>"
84
85color red "\<red\>"
86color green "\<green\>"
87color yellow "\<yellow\>"
88color blue "\<blue\>"
89color magenta "\<magenta\>"
90color cyan "\<cyan\>"
91
92color brightred "\<brightred\>"
93color brightgreen "\<brightgreen\>"
94color brightyellow "\<brightyellow\>"
95color brightblue "\<brightblue\>"
96color brightmagenta "\<brightmagenta\>"
97color brightcyan "\<brightcyan\>"
98syntax "c#" "\.cs$"
99
100# Class
101color brightmagenta "class +[A-Za-z0-9]+ *((:) +[A-Za-z0-9.]+)?"
102
103# Annotation
104color magenta "@[A-Za-z]+"
105
106color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
107color black "[(]"
108color green "\<(bool|byte|sbyte|char|decimal|double|float|IntPtr|int|uint|long|ulong|object|short|ushort|string|base|this|var|void)\>"
109color brightblack "\<(alias|as|case|catch|checked|default|do|dynamic|else|finally|fixed|for|foreach|goto|if|is|lock|new|null|return|switch|throw|try|unchecked|while)\>"
110color brightblack "\<(abstract|async|class|const|delegate|enum|event|explicit|extern|get|implicit|in|internal|interface|namespace|operator|out|override|params|partial|private|protected|public|readonly|ref|sealed|set|sizeof|stackalloc|static|struct|typeof|unsafe|using|value|virtual|volatile|yield)\>"
111# LINQ-only keywords (ones that cannot be used outside of a LINQ query - lots others can)
112color brightblack "\<(from|where|select|group|info|orderby|join|let|in|on|equals|by|ascending|descending)\>"
113color brightred "\<(break|continue)\>"
114color brightcyan "\<(true|false)\>"
115color red "[-+/*=<>?:!~%&|]"
116color blue "\<([0-9._]+|0x[A-Fa-f0-9_]+|0b[0-1_]+)[FL]?\>"
117color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
118color magenta "\\([btnfr]|'|\"|\\)"
119color magenta "\\u[A-Fa-f0-9]{4}"
120color cyan "(^|[[:space:]])//.*"
121color cyan start="/\*" end="\*/"
122color brightwhite,cyan "TODO:?"
123color ,green "[[:space:]]+$"
124color ,red " + +| + +"
125# +EXTRALINT
126syntax "css" "\.s?css$"
127
128# Selectors
129color green "\<(a|abbr|address|area|article|aside|audio|b|base|bdo|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|eventsource|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|mark|map|menu|meta|meter|nav|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|ruby|rp|rt|samp|script|section|select|small|source|span|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|ul|var|video|wbr)\>"
130color red "[>+~*]"
131color brightyellow "[.#][A-Za-z_][A-Za-z0-9_-]*"
132color red ":(active|focus|hover|link|visited|first-child|lang|valid|invalid|not|selection)\>"
133color red ":(after|before|first-line|first-letter|root|target)\>"
134color yellow "\[[^\[]*\]"
135color black start="\{" end="\}"
136
137# Sass
138color brightmagenta "(^|[[:space:]])@(include|mixin)\>"
139color brightyellow "\$[A-Za-z0-9_-]+"
140
141color brightmagenta "(^|[[:space:]])@(charset|font-face|media|page|import)\>"
142color red "[*]"
143color brightcyan "\<(above|absolute|always|armenian|auto|avoid|baseline|behind|below|bidi-override|blink|block|bolder|bold|bottom|capitalize|center-left|center-right|center|circle|cjk-ideographic|close-quote|collapse|compact|condensed|continuous|crop|crosshair|cross|cue-after|cue-before|cursive|dashed|decimal|decimal-leading-zero|default|digits|disc|dotted|double|embed|e-resize|expanded|extra-condensed|extra-expanded|fantasy|far-left|far-right|faster|fast|fixed|fixed|georgian|groove|hebrew|help|hide|higher|high|hiragana-iroha|hiragana|inherit|inline|inline-block|inline-table|inset|inside|invert|italic|justify|katakana-iroha|katakana|landscape|large|larger|left|left-side|leftwards|level|lighter|line-through|list-item|loud|lower-alpha|lowercase|lower-greek|lower-latin|lower-roman|lower|low|ltr|marker|medium|medium|middle|mix|monospace|move|narrower|ne-resize|no-close-quote|none|no-open-quote|no-repeat|normal|nowrap|n-resize|nw-resize|oblique|once|open-quote|outset|outside|overline|pointer|portait|relative|repeat-x|repeat-y|repeat|ridge|right-side|right|rightwards|rlt|run-in|sans-serif|scroll|scroll|semi-condensed|semi-expanded|separate|se-resize|serif|show|silent|slower|slow|small-caps|smaller|small|soft|solid|spell-out|square|s-resize|static|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|text-bottom|text|text-top|thick|thin|top|top|transparent|ultra-condensed|ultra-expanded|underline|upper-alpha|uppercase|upper-latin|upper-roman|visible|wait|wider|w-resize|x-fast|x-high|x-large|x-loud|x-low|x-slow|x-small|x-soft|xx-large|xx-small|pre-wrap|break-word)([[:space:];,]|$)"
144color brightyellow ":[[:space:]]*(code|hidden|table|pre)\>"
145color brightblack "\<(background-attachment|background-clip|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-radius|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|marker-offset|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numerical|speak-punctuation|speak|speech-rate|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|transition|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|word-wrap|z-index)[[:space:]]*:"
146color brightwhite,red "-(ms|moz|apple|khtml|wap|webkit|o|xv)-[a-z][a-z-]+"
147color black "[:;,]"
148color blue "\<(0|[\+-]?[1-9][0-9]*)"
149color blue "[\+-]?([0-9]+|[0-9]*\.[0-9]+)(%|e(m|x)|p(x|t|c)|in|ft|(m|c)m|k?Hz|deg|g?rad|m?s)"
150color blue "#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})\>"
151color red "\!important\>"
152color brightblue "[a-z-]*(-[a-z]+)?\(" "\(|\)"
153color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
154color cyan "(^|[[:space:]])//.*"
155color cyan start="/\*" end="\*/"
156color brightwhite,cyan "TODO:?"
157color ,green "[[:space:]]+$"
158color ,red " + +| + +"
159# +EXTRALINT
160syntax "cython" "\.(pyx|pxd|pyi)$"
161
162color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
163color black "[(]"
164color brightblack "\<(and|as|assert|break|class|continue|def|del|elif|else|except)\>"
165color brightblack "\<(exec|finally|for|from|global|if|import|in|is|lambda|not|or)\>"
166color brightblack "\<(pass|print|raise|return|try|while|with|yield|None)\>"
167color brightblack "\<(DEF|ELIF|ELSE|IF)\>"
168
169color brightblack "\<(cp?def( inline)?|cimport|cppclass|ctypedef|extern|include)\>"
170color brightblack "\<(namespace|property|struct)\>"
171color green "\<(bint|char|double|int|public|void|unsigned)\>"
172
173color red "[.:;,+*|=!\%@<>/&-]"
174color brightyellow "@[A-Za-z0-9_]+"
175color brightmagenta "__[A-Za-z0-9_]+__"
176color brightcyan "\<(True|False)\>"
177color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
178color yellow "['][^']*[^\\][']" "[']{3}.*[^\\][']{3}"
179color yellow "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}"
180color yellow start=""""[^"]" end="""""
181color yellow start="'''[^']" end="'''"
182color magenta "\\.?"
183color cyan "(^|[[:space:]])#([^{].*)?$"
184color brightwhite,cyan "TODO:?"
185color ,green "[[:space:]]+$"
186color ,red " + +| + +"
187# +EXTRALINT
188syntax "default"
189color ,green "[[:space:]]+$"
190color ,red " + +| + +"
191# +EXTRALINT
192syntax "dot" "\.(dot|gv)$"
193
194color brightblack "\<(digraph|edge|graph|node|subgraph)\>"
195color magenta "\<(arrowhead|arrowsize|arrowtail|bgcolor|center|color|constraint|decorateP|dir|distortion|fillcolor|fontcolor|fontname|fontsize|headclip|headlabel|height|labelangle|labeldistance|labelfontcolor|labelfontname|labelfontsize|label|layers|layer|margin|mclimit|minlen|name|nodesep|nslimit|ordering|orientation|pagedir|page|peripheries|port_label_distance|rankdir|ranksep|rank|ratio|regular|rotate|samehead|sametail|shapefile|shape|sides|size|skew|style|tailclip|taillabel|URL|weight|width)\>"
196color red "=|->|--"
197color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
198color cyan "(^|[[:space:]])//.*"
199color cyan start="/\*" end="\*/"
200syntax "email"
201
202color magenta "^>([^>].*|$)"
203color blue "^>>([^>].*|$)"
204color green "^>>>.*"
205syntax "gitconfig" "git(config|modules)$|\.git/config$"
206
207color brightcyan "\<(true|false)\>"
208color brightblack "^[[:space:]]*[^=]*="
209color brightmagenta "^[[:space:]]*\[.*\]$"
210color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
211color cyan "(^|[[:space:]])#([^{].*)?$"
212color ,green "[[:space:]]+$"
213color ,red " + +| + +"
214# +EXTRALINT
215
216syntax "git-editmsg" "(COMMIT|TAG)_EDITMSG$"
217
218color cyan "^#.*$"
219color ,red "[[:space:]]+$"
220
221syntax "git-rebase" "git-rebase-todo$"
222
223color brightblack "^(edit|fixup|pick|reword|squash|exec|[efprsx])\>"
224color blue "\<[0-9a-f]{7,40}\>"
225color cyan "^#.*"
226syntax "glsl" "\.(frag|vert|fp|vp|glsl)$"
227
228color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
229color black "[(]"
230color green "\<(void|bool|bvec2|bvec3|bvec4|int|ivec2|ivec3|ivec4|float|vec2|vec3|vec4|mat2|mat3|mat4|struct|sampler1D|sampler2D|sampler3D|samplerCUBE|sampler1DShadow|sampler2DShadow)\>"
231color green "\<gl_(DepthRangeParameters|PointParameters|MaterialParameters|LightSourceParameters|LightModelParameters|LightModelProducts|LightProducts|FogParameters)\>"
232color brightblack "\<(const|attribute|varying|uniform|in|out|inout|if|else|return|discard|while|for|do)\>"
233color brightred "\<(break|continue)\>"
234color brightcyan "\<(true|false)\>"
235color red "[-+/*=<>?:!~%&|^]"
236color blue "\<([0-9]+|0x[0-9a-fA-F]*)\>"
237color cyan "(^|[[:space:]])//.*"
238color cyan start="/\*" end="\*/"
239color brightwhite,cyan "TODO:?"
240color ,green "[[:space:]]+$"
241color ,red " + +| + +"
242# +EXTRALINT
243syntax "go" "\.go$"
244
245color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
246color black "[(]"
247color brightblue "\<(append|cap|close|complex|copy|delete|imag|len)\>"
248color brightblue "\<(make|new|panic|print|println|protect|real|recover)\>"
249color green "\<(u?int(8|16|32|64)?|float(32|64)|complex(64|128))\>"
250color green "\<(uintptr|byte|rune|string|interface|bool|map|chan|error)\>"
251color brightblack "\<(package|import|const|var|type|struct|func|go|defer|nil|iota)\>"
252color brightblack "\<(for|range|if|else|case|default|switch|return)\>"
253color brightred "\<(go|goto|break|continue)\>"
254color brightcyan "\<(true|false)\>"
255color red "[-+/*=<>!~%&|^]|:="
256color blue "\<([0-9]+|0x[0-9a-fA-F]*)\>|'.'"
257color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
258color magenta "\\[abfnrtv'\"\\]"
259color magenta "\\([0-7]{3}|x[A-Fa-f0-9]{2}|u[A-Fa-f0-9]{4}|U[A-Fa-f0-9]{8})"
260color yellow "`[^`]*`"
261color cyan "(^|[[:space:]])//.*"
262color cyan start="/\*" end="\*/"
263color brightwhite,cyan "TODO:?"
264color ,green "[[:space:]]+$"
265color ,red " + +| + +"
266# +EXTRALINT
267syntax "html" "\.html?$"
268header "<!doctype html"
269
270color magenta "\<(accept|accept-charset|accesskey|action|alt|async|autocomplete|autofocus|autoplay|border|challenge|charset|checked|cite|class|cols|colspan|content|contenteditable|contextmenu|controls|coords|crossorigin|data-[a-z-]+|datetime|default|defer|dir|dirname|disabled|draggable|dropzone|enctype|for|form|formaction|formenctype|formmethod|formnovalidate|formtarget|headers|height|hidden|high|href|hreflang|http-equiv|icon|id|ismap|keytype|kind|label|lang|list|loop|low|manifest|max|maxlength|media|mediagroup|method|min|multiple|muted|name|novalidate|open|optimum|pattern|placeholder|poster|preload|pubdate|radiogroup|readonly|rel|required|reversed|rows|rowspan|sandbox|spellcheck|scope|scoped|seamless|selected|shape|size|sizes|span|src|srcdoc|srclang|start|step|style|tabindex|target|title|type|typemustmatch|usemap|value|width|wrap)\>"
271color brightwhite,red "</?[A-Za-z0-9_]+[ >]"
272color brightmagenta "</?(a|abbr|address|area|article|aside|audio|b|base|bdo|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|eventsource|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|mark|map|menu|meta|meter|nav|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|ruby|rp|rt|samp|script|section|select|small|source|span|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|ul|var|video|wbr)[ >]"
273color yellow "=([A-Za-z0-9!$%*\^(){}#|:;_~@+,.?/\\-]|\[|\])+"
274color red "="
275color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
276color black start=">" end="<"
277color brightmagenta "[<>]"
278
279# Embedded template languages
280color brightyellow "\{\{[^}]*\}\}|<%=.*%>"
281color brightblue start="<\?" end="\?>"
282color brightblue start="<%[^=]" end="%>"
283color brightblue start="\{%" end="%\}"
284
285color magenta "&(#[0-9]+|#x[0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);"
286color cyan start="<!--" end="-->"
287color cyan "<!(doctype|DOCTYPE)[^>]*>"
288color ,green "[[:space:]]+$"
289color ,red " + +| + +"
290# +EXTRALINT
291syntax "ini" "\.(ini|desktop|lfl|override)$" "(mimeapps\.list|pinforc|setup\.cfg)$" "weechat/.+\.conf$"
292header "^\[[A-Za-z]+\]$"
293
294color brightcyan "\<(true|false)\>"
295color brightblack "^[[:space:]]*[^=]*="
296color brightmagenta "^[[:space:]]*\[.*\]$"
297color red "[=;]"
298color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
299color cyan "(^|[[:space:]])#([^{].*)?$"
300color ,green "[[:space:]]+$"
301color ,red " + +| + +"
302# +EXTRALINT
303syntax "inputrc" "inputrc$"
304
305color red "\<(off|none)\>"
306color green "\<on\>"
307color brightblue "\<set|\$include\>"
308color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
309color magenta "\\.?"
310color cyan "(^|[[:space:]])#([^{].*)?$"
311color ,green "[[:space:]]+$"
312color ,red " + +| + +"
313# +EXTRALINT
314syntax "java" "\.java$"
315
316# Class
317color brightmagenta "class +[A-Za-z0-9]+ *((implements|extends) +[A-Za-z0-9.]+)?"
318
319# Annotation
320color magenta "@[A-Za-z]+"
321
322color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
323color black "[(]"
324color green "\<(boolean|byte|char|double|float|int|long|short|String|void)\>"
325color brightblack "\<(case|catch|default|do|else|finally|for|if)\>"
326color brightblack "\<(new|return|switch|this|throw|transient|try|while)\>"
327color brightblack "\<(abstract|class|extends|final|implements|import|instanceof)\>"
328color brightblack "\<(interface|native|package|private|protected|public|static)\>"
329color brightblack "\<(strictfp|super|synchronized|throws|volatile|null)\>"
330color brightred "\<(break|continue)\>"
331color brightcyan "\<(true|false)\>"
332color red "[-+/*=<>?:!~%&|]"
333color blue "\<([0-9._]+|0x[A-Fa-f0-9_]+|0b[0-1_]+)[FL]?\>"
334color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
335color magenta "\\([btnfr]|'|\"|\\)"
336color magenta "\\u[A-Fa-f0-9]{4}"
337color cyan "(^|[[:space:]])//.*"
338color cyan start="/\*" end="\*/"
339color brightwhite,cyan "TODO:?"
340color ,green "[[:space:]]+$"
341color ,red " + +| + +"
342# +EXTRALINT
343syntax "JavaScript" "\.js$"
344
345color blue "\<[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\>"
346color blue "\<[-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?"
347color blue "\<[-+]?([0-9]+[EePp][+-]?[0-9]+)[fFlL]?"
348color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
349color black "[(]"
350color brightblack "\<(break|case|catch|continue|default|delete|do|else|finally)\>"
351color brightblack "\<(for|function|get|if|in|instanceof|new|return|set|switch)\>"
352color brightblack "\<(switch|this|throw|try|typeof|var|void|while|with)\>"
353color brightblack "\<(null|undefined|NaN)\>"
354color brightcyan "\<(true|false)\>"
355color green "\<(Array|Boolean|Date|Enumerator|Error|Function|Math)\>"
356color green "\<(Number|Object|RegExp|String)\>"
357color red "[-+/*=<>!~%?:&|]"
358color magenta "/[^*]([^/]|(\\/))*[^\\]/[gim]*"
359color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
360color magenta "\\[0-7][0-7]?[0-7]?|\\x[0-9a-fA-F]+|\\[bfnrt'"\?\\]"
361color cyan "(^|[[:space:]])//.*"
362color cyan start="/\*" end="\*/"
363color brightwhite,cyan "TODO:?"
364color ,green "[[:space:]]+$"
365color ,red " + +| + +"
366# +EXTRALINT
367syntax "json" "\.json$"
368header "^\{$"
369
370color blue "\<[-]?[1-9][0-9]*([Ee][+-]?[0-9]+)?\>" "\<[-]?[0](\.[0-9]+)?\>"
371color brightblack "\<null\>"
372color brightcyan "\<(true|false)\>"
373color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
374color brightyellow "\"(\\"|[^"])*\"[[:space:]]*:" "'(\'|[^'])*'[[:space:]]*:"
375color magenta "\\u[0-9a-fA-F]{4}|\\[bfnrt'"/\\]"
376color ,green "[[:space:]]+$"
377color ,red " + +| + +"
378# +EXTRALINT
379syntax "keymap" "\.(k|key)?map$|Xmodmap$"
380
381color brightblack "\<(add|clear|compose|keycode|keymaps|keysym|remove|string)\>"
382color brightblack "\<(control|alt|shift)\>"
383color blue "\<[0-9]+\>"
384color red "="
385color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
386color cyan "^!.*$"
387color ,green "[[:space:]]+$"
388color ,red " + +| + +"
389# +EXTRALINT
390syntax "KickStart" "\.ks$" "\.kickstart$"
391
392color brightmagenta "%[a-z]+"
393color brightblack "^[[:space:]]*(install|cdrom|text|graphical|volgroup|logvol|reboot|timezone|lang|keyboard|authconfig|firstboot|rootpw|user|firewall|selinux|repo|part|partition|clearpart|bootloader)"
394color brightblack "--(name|mirrorlist|baseurl|utc)(=|\>)"
395color brightyellow "\$(releasever|basearch)\>"
396
397# Packages and groups
398color brightblack "^@[A-Za-z][A-Za-z-]*"
399color brightred "^-@[a-zA-Z0-9*-]+"
400color red "^-[a-zA-Z0-9*-]+"
401
402color cyan "(^|[[:space:]])#([^{].*)?$"
403color ,green "[[:space:]]+$"
404color ,red " + +| + +"
405# +EXTRALINT
406syntax "ledger" "(^|\.|/)ledger$"
407
408color brightmagenta "^([0-9]{4}/[0-9]{2}/[0-9]{2}|[=~]) .*"
409color blue "^[0-9]{4}/[0-9]{2}/[0-9]{2}"
410color brightyellow "^~ .*"
411color brightblue "^= .*"
412color brightblack "^[[:space:]]+\(?[A-Za-z ]+(:[A-Za-z ]+)*\)?"
413color red "[*]"
414color cyan "^[[:space:]]*;.*"
415syntax "lisp" "(emacs|zile)$" "\.(el|li?sp|scm|ss)$"
416
417color brightblue "\([a-z-]+"
418color red "\(([-+*/<>]|<=|>=)|'"
419color black "\("
420color blue "\<[0-9]+\>"
421icolor brightblack "\<nil\>"
422color brightcyan "\<[tT]\>"
423color yellow "\"(\\.|[^"])*\""
424color magenta "'[A-Za-z][A-Za-z0-9_-]+"
425color magenta "\\.?"
426color cyan "(^|[[:space:]]);.*"
427color ,green "[[:space:]]+$"
428color ,red " + +| + +"
429# +EXTRALINT
430syntax "lua" "\.lua$"
431header "^#!.*lua(jit)?$"
432
433color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*([({'"]|\[=*\[)"
434color brightblack "\<(do|end|while|repeat|until|if|elseif|then|else)\>"
435color brightblack "\<(for|in|function|local|return|nil)\>"
436color brightred "\<(goto|break)\>"
437color brightcyan "\<(true|false)\>"
438color red "[-+:*/%^=#<>]|~=|\.\.|\[|\]|\<(not|and|or)\>"
439color brightwhite,red "[`!@$&|?]|!="
440color black "\.{3,}|[({'"]"
441color blue "\<([0-9]+)(\.[0-9]+)?([Ee][+-]?[0-9]+)?\>|0x[0-9a-fA-F]*"
442color brightmagenta "::[A-Za-z_][A-Za-z0-9_]*::"
443color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
444color magenta "\\([0-9]{1,3}|x[A-Fa-f0-9]{2}|[abefntrv'"\\]|\[|\])"
445color yellow start="\[\[" end="\]\]"
446color yellow start="\[=\[" end="\]=\]"
447color yellow start="\[==\[" end="\]==\]"
448color cyan "^#!.*" "(^|[[:space:]])\-\-.*$"
449color cyan start="\-\-\[\[" end="\]\]"
450color brightwhite,cyan "TODO:?"
451color ,green "[[:space:]]+$"
452color ,red " + +| + +"
453# +EXTRALINT
454syntax "makefile" "([Mm]akefile|\.ma?k)$"
455header "^#!.*/(env +)?[bg]?make( |$)"
456
457color brightblack "\<(ifeq|ifdef|ifneq|ifndef|else|endif)\>"
458color brightblack "^(export|include|override)\>"
459color brightmagenta "^[^:= ]+:"
460color red "[=,%]" "\+=|\?=|:=|&&|\|\|"
461color brightblue "\$\((abspath|addprefix|addsuffix|and|basename|call|dir)[[:space:]]"
462color brightblue "\$\((error|eval|filter|filter-out|findstring|firstword)[[:space:]]"
463color brightblue "\$\((flavor|foreach|if|info|join|lastword|notdir|or)[[:space:]]"
464color brightblue "\$\((origin|patsubst|realpath|shell|sort|strip|suffix)[[:space:]]"
465color brightblue "\$\((value|warning|wildcard|word|wordlist|words)[[:space:]]"
466color black "[()$]"
467color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
468color brightyellow "\$+(\{[^} ]+\}|\([^) ]+\))"
469color brightyellow "\$[@^<*?%|+]|\$\([@^<*?%+-][DF]\)"
470color magenta "\$\$|\\.?"
471color cyan "(^|[[:space:]])#([^{].*)?$"
472color cyan "^ @#.*"
473
474# Show trailing whitespace
475color ,green "[[:space:]]+$"
476syntax "man" "\.[1-9]x?$"
477
478color brightmagenta "\.(S|T)H.*$"
479color brightblack "\.(BR?|I[PR]?).*$"
480color brightyellow "\.(S|T)H|\.TP|\.(BR?|I[PR]?|PP)|\\f[BIPR]"
481color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
482color yellow "\.(br|DS|RS|RE|PD)"
483color ,green "[[:space:]]+$"
484color ,red " + +| + +"
485# +EXTRALINT
486syntax "markdown" "\.(md|mkd|mkdn|markdown)$"
487
488# Emphasis
489color green "(^|[[:space:]])(_[^ ][^_]*_|\*[^ ][^*]*\*)"
490
491# Strong emphasis
492color brightgreen "(^|[[:space:]])(__[^ ][^_]*__|\*\*[^ ][^*]*\*\*)"
493
494color brightmagenta "^=====*$|^-----*$|^#{1,6}.*"
495color blue "^[[:space:]]*[\*+-] |^[[:space:]]*[0-9]+\. "
496color black "^[[:space:]]+"
497color magenta "\(([CcRr]|[Tt][Mm])\)" "\.{3}" "(^|[[:space:]])\-\-($|[[:space:]])"
498color brightyellow "\!?\[[^]]*\]([[:space:]]*\[[^]]*\]|\(.*\))?"
499color brightyellow "^\[.*\]:[[:space:]]*[^"]*"
500color yellow "`[^`]*`|^ {4}[^-+*].*"
501color cyan "^>.*"
502color ,green "[[:space:]]+$"
503color ,red " + +| + +"
504# +EXTRALINT
505syntax "mpdconf" "mpd\.conf$"
506
507color brightblack "\<(user|group|bind_to_address|host|port|plugin|name|type)\>"
508color brightblack "\<((music|playlist)_directory|(db|log|state|pid|sticker)_file)\>"
509color brightmagenta "^(input|audio_output|decoder)[[:space:]]*\{|\}"
510color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
511color cyan "(^|[[:space:]])#([^{].*)?$"
512color ,green "[[:space:]]+$"
513color ,red " + +| + +"
514# +EXTRALINT
515syntax "nanorc" "nanorc$"
516header "^syntax +\""
517
518color green "^i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
519color brightblack "^(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|poslog|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds)\>"
520color brightblack "^(bind|i?color|set|unset|syntax|header|magic)\>"
521color red "^unbind\>"
522color brightblack "^i?color\>" "\<(start|end)="
523color brightyellow "^include\>"
524
525color brightblack "^(PLAIN|TYPE|STRING|MACRO|NUMBER|VARIABLE|OPERATOR|~?KEYWORD):"
526color brightblack "^(BOOLEAN|SECTION|REGEXP|FUNCTION|ESCAPE|COMMENT|WARNING|JUMP):"
527color brightblack "^(TAG|ATTRIBUTE):"
528color brightyellow "^\+(TODO|LINT|STRING|BOOLEAN|FUNCTION|INI|(C|HASH)COMMENT)$"
529
530color magenta "\\.?"
531color cyan "(^|[[:space:]])#([^{].*)?$"
532color ,green "[[:space:]]+$"
533color ,red " + +| + +"
534# +EXTRALINT
535syntax "nginx" "nginx.*\.conf$" "\.nginx$"
536header "^(server|upstream)[a-z ]*\{$"
537
538color brightmagenta "\<(events|server|http|location|upstream)[[:space:]]*\{"
539color brightblack "(^|[[:space:]{;])(access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth_basic|auth_basic_user_file|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|default_type|deny|directio|directio_alignment|disable_symlinks|empty_gif|env|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|log_format|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|port_in_redirect|postpone_output|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_header|proxy_read_timeout|proxy_redirect|proxy_send_timeout|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|working_directory|xml_entities|xslt_stylesheet|xslt_types)([[:space:]]|$)"
540color black "[{}]"
541color brightcyan "\<(on|off)\>"
542color brightyellow "\$[A-Za-z][A-Za-z0-9_]*"
543color red "[*]"
544color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
545color yellow start="'$" end="';$"
546color cyan "(^|[[:space:]])#([^{].*)?$"
547color ,green "[[:space:]]+$"
548color ,red " + +| + +"
549# +EXTRALINT
550syntax "patch" "\.(patch|diff)$"
551
552color brightgreen "^\+.*"
553color green "^\+\+\+.*"
554color brightred "^-.*"
555color red "^---.*"
556color blue "^@@.*"
557color magenta "^diff.*"
558
559syntax "peg" "\.l?peg$"
560
561color brightblack "^[[:space:]]*[A-Za-z][A-Za-z0-9_]*[[:space:]]*<-"
562color blue "\^[+-]?[0-9]+"
563color red "[-+*?^/!&]|->|<-|=>"
564color brightyellow "%[A-Za-z][A-Za-z0-9_]*"
565color magenta "\[[^]]*\]"
566color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
567color cyan "(^|[[:space:]])\-\-.*$"
568color brightwhite,cyan "TODO:?"
569color ,green "[[:space:]]+$"
570color ,red " + +| + +"
571# +EXTRALINT
572syntax "php" "\.php[2345s~]?$"
573header "^(//|/\*).*[Pp][Hh][Pp]|<\?php\>"
574
575color red "[-+/*=<>?:!~%&|]"
576color brightmagenta "(<\?(php)?|\?>)"
577color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
578color black "[(]"
579color green "\<(float|global|double|bool|char|int|enum|const)\>"
580color brightblack "\<(class|new|private|public|function|for|foreach|if|while|do|var)\>"
581color brightblack "\<(return|else|elseif|case|default|switch)\>"
582color brightred "\<(goto|break|continue)\>"
583color brightcyan "\<(true|false)\>"
584color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
585color brightyellow "\$[A-Za-z_][A-Za-z0-9_]*"
586color cyan "(^|[[:space:]])//.*"
587color cyan start="/\*" end="\*/"
588color brightwhite,cyan "TODO:?"
589color ,green "[[:space:]]+$"
590color ,red " + +| + +"
591# +EXTRALINT
592syntax "pkgbuild" "PKGBUILD$" "\.install$"
593
594color brightblue "^[A-Za-z0-9_+-]+[[:space:]]*\(\)"
595color brightblack "\<(case|do|done|elif|else|esac|fi|for|function|if)\>"
596color brightblack "\<(in|select|then|time|until|while)\>"
597color brightblue "\<(echo|exit|export|let|local|read|return|set|shift|umask|unset)\>"
598color green "\<(pkgname|pkgver|pkgrel|epoch|pkgdesc|arch|url|license)\>"
599color green "\<(groups|depends|makedepends|checkdepends|optdepends)\>"
600color green "\<(provides|conflicts|replaces|backup|options|^install)\>"
601color green "\<(changelog|source|noextract)\>"
602color green "\<(md5sums|sha1sums|sha256sums|sha384sums|sha512sums)\>"
603color green "\<(srcdir|pkgdir)\>"
604color brightyellow "\<(strip|docs|libtool|emptydirs|zipman|purge|upx)\>"
605color brightyellow "\<(ccache|distcc|buildflags|makeflags)\>"
606color red "[{}()<>!=&|;`$]|\\|\[|\]|-(eq|ne|gt|lt|ge|le|s|n|z)\>"
607color yellow ""(\\.|[^"])*""
608color brightyellow "\$\{?[A-Za-z0-9_!@#$*?-]+\}?|`[^`]*`"
609color yellow "'(\\.|[^'])*'"
610color magenta "\\.?"
611color cyan "(^|[[:space:]])#([^{].*)?$"
612color ,green "[[:space:]]+$"
613color ,red " + +| + +"
614# +EXTRALINT
615syntax "pkg-config" "\.pc$"
616
617color brightblack "^(Name|Description|URL|Version|Conflicts|Cflags):"
618color brightblack "^(Requires|Libs)(\.private)?:"
619color red "="
620color brightyellow "\$\{[A-Za-z_][A-Za-z0-9_]*\}"
621color ,green "[[:space:]]+$"
622color ,red " + +| + +"
623# +EXTRALINT
624syntax "po" "\.pot?$"
625
626color brightblack "\<(msgid|msgstr)\>"
627color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
628color magenta "\\.?"
629color cyan "(^|[[:space:]])#([^{].*)?$"
630color ,green "[[:space:]]+$"
631color ,red " + +| + +"
632# +EXTRALINT
633syntax "privoxy-config" "privoxy/config$"
634
635color brightblack "(accept-intercepted-requests|actionsfile|admin-address|allow-cgi-request-crunching|buffer-limit|compression-level|confdir|connection-sharing|debug|default-server-timeout|deny-access|enable-compression|enable-edit-actions|enable-remote-http-toggle|enable-remote-toggle|enforce-blocks|filterfile|forward|forwarded-connect-retries|forward-socks4|forward-socks4a|forward-socks5|handle-as-empty-doc-returns-ok|hostname|keep-alive-timeout|listen-address|logdir|logfile|max-client-connections|permit-access|proxy-info-url|single-threaded|socket-timeout|split-large-forms|templdir|toggle|tolerate-pipelining|trustfile|trust-info-url|user-manual)[[:space:]]"
636color cyan "(^|[[:space:]])#([^{].*)?$"
637color ,green "[[:space:]]+$"
638color ,red " + +| + +"
639# +EXTRALINT
640
641syntax "privoxy-action" "\.action$"
642
643color brightred "[{[:space:]]\-block([[:space:]{}]|$)"
644color brightgreen "[{[:space:]]\+block([[:space:]{}]|$)"
645
646color brightred "-(add-header|change-x-forwarded-for|client-header-filter|client-header-tagger|content-type-overwrite|crunch-client-header|crunch-if-none-match|crunch-incoming-cookies|crunch-outgoing-cookies|crunch-server-header|deanimate-gifs|downgrade-http-version|fast-redirects|filter|force-text-mode|forward-override|handle-as-empty-document|handle-as-image|hide-accept-language|hide-content-disposition|hide-from-header|hide-if-modified-since|hide-referrer|hide-user-agent|limit-connect|overwrite-last-modified|prevent-compression|redirect|server-header-filter|server-header-tagger|session-cookies-only|set-image-blocker)"
647color brightgreen "\+(add-header|change-x-forwarded-for|client-header-filter|client-header-tagger|content-type-overwrite|crunch-client-header|crunch-if-none-match|crunch-incoming-cookies|crunch-outgoing-cookies|crunch-server-header|deanimate-gifs|downgrade-http-version|fast-redirects|filter|force-text-mode|forward-override|handle-as-empty-document|handle-as-image|hide-accept-language|hide-content-disposition|hide-from-header|hide-if-modified-since|hide-referrer|hide-user-agent|limit-connect|overwrite-last-modified|prevent-compression|redirect|server-header-filter|server-header-tagger|session-cookies-only|set-image-blocker)"
648color black "[{}]"
649color magenta "\\.?"
650color cyan "(^|[[:space:]])#([^{].*)?$"
651color ,green "[[:space:]]+$"
652color ,red " + +| + +"
653# +EXTRALINT
654
655syntax "privoxy-filter" "\.filter$"
656
657color brightblack "^(FILTER|CLIENT-HEADER-FILTER|CLIENT-HEADER-TAGGER|SERVER-HEADER-FILTER|SERVER-HEADER-TAGGER): [a-z-]+"
658color brightblue "^(FILTER|CLIENT-HEADER-FILTER|CLIENT-HEADER-TAGGER|SERVER-HEADER-FILTER|SERVER-HEADER-TAGGER):"
659color magenta "\\.?"
660color cyan "(^|[[:space:]])#([^{].*)?$"
661color ,green "[[:space:]]+$"
662color ,red " + +| + +"
663# +EXTRALINT
664
665syntax "python" "\.py$" "jhbuildrc$"
666header "^#!.*/(env +)?python[-0-9._]*( |$)"
667
668color brightblack "\<(as|assert|break|class|continue|def|del|elif|else|except)\>"
669color brightblack "\<(exec|finally|for|from|global|if|import|lambda)\>"
670color brightblack "\<(pass|print|raise|return|try|while|with|yield|None)\>"
671color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
672color black "[(]"
673color red "[-+*/|=%<>&~^]|\<(and|not|or|is|in)\>"
674color brightyellow "@[A-Za-z0-9_]+"
675color brightmagenta "__[A-Za-z0-9_]+__"
676color brightcyan "\<(True|False)\>"
677color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
678color yellow "['][^']*[^\\][']" "[']{3}.*[^\\][']{3}"
679color yellow "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}"
680color yellow start=""""[^"]" end="""""
681color yellow start="'''[^']" end="'''"
682color magenta "\\.?"
683color cyan "(^|[[:space:]])#([^{].*)?$"
684color brightwhite,cyan "TODO:?"
685color ,green "[[:space:]]+$"
686color ,red " + +| + +"
687# +EXTRALINT
688syntax "rpmspec" "\.spec$" "\.rpmspec$"
689
690color brightblack "\<(Icon|ExclusiveOs|ExcludeOs):"
691color brightblack "\<(BuildArch|BuildArchitectures|ExclusiveArch|ExcludeArch):"
692color brightblack "\<(Conflicts|Obsoletes|Provides|Requires|Requires\(.*\)|Enhances|Suggests|BuildConflicts|BuildRequires|Recommends|PreReq|Supplements):"
693color brightblack "\<(Epoch|Serial|Nosource|Nopatch):"
694color brightblack "\<(AutoReq|AutoProv|AutoReqProv):"
695color brightblack "\<(Copyright|License|Summary|Summary\(.*\)|Distribution|Vendor|Packager|Group|Source[0-9]*|Patch[0-9]*|BuildRoot|Prefix):"
696color brightblack "\<(Name|Version|Release|Url|URL):"
697color brightblack start="^(Source|Patch)" end=":"
698color brightblack "(i386|i486|i586|i686|athlon|ia64|alpha|alphaev5|alphaev56|alphapca56|alphaev6|alphaev67|sparc|sparcv9|sparc64armv3l|armv4b|armv4lm|ips|mipsel|ppc|ppc|iseries|ppcpseries|ppc64|m68k|m68kmint|Sgi|rs6000|i370|s390x|s390|noarch)"
699color brightblack "(ifarch|ifnarch|ifos|ifnos)"
700color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
701color brightyellow "%(if|else|endif|define|global|undefine)"
702color brightyellow "%_?([A-Z_a-z_0-9_]*)"
703color brightyellow start="%\{" end="\}"
704color brightyellow start="%\{__" end="\}"
705color brightyellow "\$(RPM_BUILD_ROOT)\>"
706color brightmagenta "^%(build$|changelog|check$|clean$|description)"
707color brightmagenta "^%(files|install$|package|prep$)"
708color brightmagenta "^%(pre|preun|pretrans|post|postun|posttrans)"
709color brightmagenta "^%(trigger|triggerin|triggerpostun|triggerun|verifyscript)"
710color cyan "(^|[[:space:]])#([^{].*)?$"
711color blue "^\*.*$"
712color ,green "[[:space:]]+$"
713color ,red " + +| + +"
714# +EXTRALINT
715color brightwhite,cyan "TODO:?"
716syntax "ruby" "\.rb$|Rakefile$"
717
718color brightblack "\<(BEGIN|END|alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|false|for|if|in|module|next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\>"
719color yellow "(^|[[:space:]]):[A-Za-z0-9_]+\>"
720color magenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*"
721color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
722color cyan "(^|[[:space:]])#([^{].*)?$"
723color cyan start="^=begin$" end="^=end$"
724color brightwhite,cyan "TODO:?"
725color ,green "[[:space:]]+$"
726color ,red " + +| + +"
727# +EXTRALINT
728syntax "sed" "\.sed$"
729header "^#!.*bin/(env +)?sed( |$)"
730
731color red "[|^$.*+]"
732color brightyellow "\{[0-9]+,?[0-9]*\}"
733color magenta "\\."
734color cyan "(^|[[:space:]])#([^{].*)?$"
735color ,green "[[:space:]]+$"
736color ,red " + +| + +"
737# +EXTRALINT
738syntax "sh" "\.sh$" "\.bash$" "bashrc$" "bash_profile$"
739header "^#!.*/(env +)?(ba|k|pdk)?sh[-0-9_]*( |$)"
740
741color brightblue "^[A-Za-z0-9_+-]+[[:space:]]*\(\)"
742color brightblack "\<(case|do|done|elif|else|esac|fi|for|function|if)\>"
743color brightblack "\<(in|select|then|time|until|while)\>"
744color brightblue "\<(echo|exit|export|let|local|read|return|set|shift|umask|unset)\>"
745color brightblue "\<(source)\>"
746color red "[{}()<>!=&|;`$]|\\|\[|\]|-(eq|ne|gt|lt|ge|le|s|n|z)\>"
747color yellow ""(\\.|[^"])*""
748color brightyellow "\$\{?[A-Za-z0-9_!@#$*?-]+\}?|`[^`]*`"
749color yellow "'(\\.|[^'])*'"
750color magenta "\\.?"
751color cyan "(^|[[:space:]])#([^{].*)?$"
752color brightwhite,cyan "TODO:?"
753color ,green "[[:space:]]+$"
754color ,red " + +| + +"
755# +EXTRALINT
756syntax "sql" "\.sql$" "sqliterc$"
757
758icolor brightblack "\<(ALL|ASC|AS|ALTER|AND|ADD|AUTO_INCREMENT)\>"
759icolor brightblack "\<(BETWEEN|BINARY|BOTH|BY|BOOLEAN)\>"
760icolor brightblack "\<(CHANGE|CHECK|COLUMNS|COLUMN|CROSS|CREATE)\>"
761icolor brightblack "\<(DATABASES|DATABASE|DATA|DELAYED|DESCRIBE|DESC|DISTINCT|DELETE|DROP|DEFAULT)\>"
762icolor brightblack "\<(ENCLOSED|ESCAPED|EXISTS|EXPLAIN)\>"
763icolor brightblack "\<(FIELDS|FIELD|FLUSH|FOR|FOREIGN|FUNCTION|FROM)\>"
764icolor brightblack "\<(GROUP|GRANT|HAVING)\>"
765icolor brightblack "\<(IGNORE|INDEX|INFILE|INSERT|INNER|INTO|IDENTIFIED|IN|IS|IF)\>"
766icolor brightblack "\<(JOIN|KEYS|KILL|KEY)\>"
767icolor brightblack "\<(LEADING|LIKE|LIMIT|LINES|LOAD|LOCAL|LOCK|LOW_PRIORITY|LEFT|LANGUAGE)\>"
768icolor brightblack "\<(MODIFY|NATURAL|NOT|NULL|NEXTVAL)\>"
769icolor brightblack "\<(OPTIMIZE|OPTION|OPTIONALLY|ORDER|OUTFILE|OR|OUTER|ON)\>"
770icolor brightblack "\<(PROCEDURE|PROCEDURAL|PRIMARY)\>"
771icolor brightblack "\<(READ|REFERENCES|REGEXP|RENAME|REPLACE|RETURN|REVOKE|RLIKE|RIGHT)\>"
772icolor brightblack "\<(SHOW|SONAME|STATUS|STRAIGHT_JOIN|SELECT|SETVAL|SET)\>"
773icolor brightblack "\<(TABLES|TERMINATED|TO|TRAILING|TRUNCATE|TABLE|TEMPORARY|TRIGGER|TRUSTED)\>"
774icolor brightblack "\<(UNIQUE|UNLOCK|USE|USING|UPDATE|VALUES|VARIABLES|VIEW)\>"
775icolor brightblack "\<(WITH|WRITE|WHERE|ZEROFILL|TYPE|XOR)\>"
776color green "\<(VARCHAR|TINYINT|TEXT|DATE|SMALLINT|MEDIUMINT|INT|INTEGER|BIGINT|FLOAT|DOUBLE|DECIMAL|DATETIME|TIMESTAMP|TIME|YEAR|UNSIGNED|CHAR|TINYBLOB|TINYTEXT|BLOB|MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT|ENUM|BOOL|BINARY|VARBINARY)\>"
777
778# SQLite meta commands
779icolor brightblack "\.\<(databases|dump|echo|exit|explain|header(s)?|help)\>"
780icolor brightblack "\.\<(import|indices|mode|nullvalue|output|prompt|quit|read)\>"
781icolor brightblack "\.\<(schema|separator|show|tables|timeout|width)\>"
782color brightcyan "\<(ON|OFF)\>"
783
784color blue "\<([0-9]+)\>"
785color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
786color yellow "`(\\.|[^\\`])*`"
787color cyan "\-\-.*$"
788color ,green "[[:space:]]+$"
789color ,red " + +| + +"
790# +EXTRALINT
791syntax "systemd" "\.(service|socket)$"
792header "^\[Unit\]$"
793
794color brightblack "^(Accept|After|Alias|AllowIsolate|Also|ANSI_COLOR|_AUDIT_LOGINUID|_AUDIT_SESSION|Backlog|Before|BindIPv6Only|BindsTo|BindToDevice|BlockIOReadBandwidth|BlockIOWeight|BlockIOWriteBandwidth|_BOOT_ID|Broadcast|BUG_REPORT_URL|BusName|Capabilities|CapabilityBoundingSet|CHASSIS|cipher|class|_CMDLINE|CODE_FILE|CODE_FUNC|CODE_LINE|_COMM|Compress|ConditionACPower|ConditionCapability|ConditionDirectoryNotEmpty|ConditionFileIsExecutable|ConditionFileNotEmpty|ConditionHost|ConditionKernelCommandLine|ConditionNull|ConditionPathExists|ConditionPathExistsGlob|ConditionPathIsDirectory|ConditionPathIsMountPoint|ConditionPathIsReadWrite|ConditionPathIsSymbolicLink|ConditionSecurity|ConditionVirtualization|Conflicts|ControlGroup|ControlGroupAttribute|ControlGroupModify|ControlGroupPersistent|controllers|Controllers|CPE_NAME|CPUAffinity|CPUSchedulingPolicy|CPUSchedulingPriority|CPUSchedulingResetOnFork|CPUShares|CrashChVT|CrashShell|__CURSOR|debug|DefaultControllers|DefaultDependencies|DefaultLimitAS|DefaultLimitCORE|DefaultLimitCPU|DefaultLimitDATA|DefaultLimitFSIZE|DefaultLimitLOCKS|DefaultLimitMEMLOCK|DefaultLimitMSGQUEUE|DefaultLimitNICE|DefaultLimitNOFILE|DefaultLimitNPROC|DefaultLimitRSS|DefaultLimitRTPRIO|DefaultLimitRTTIME|DefaultLimitSIGPENDING|DefaultLimitSTACK|DefaultStandardError|DefaultStandardOutput|Description|DeviceAllow|DeviceDeny|DirectoryMode|DirectoryNotEmpty|Documentation|DumpCore|entropy|Environment|EnvironmentFile|ERRNO|event_timeout|_EXE|ExecReload|ExecStart|ExecStartPost|ExecStartPre|ExecStop|ExecStopPost|ExecStopPre|filter|FONT|FONT_MAP|FONT_UNIMAP|ForwardToConsole|ForwardToKMsg|ForwardToSyslog|FreeBind|freq|FsckPassNo|fstab|_GID|Group|GuessMainPID|HandleHibernateKey|HandleLidSwitch|HandlePowerKey|HandleSuspendKey|hash|HibernateKeyIgnoreInhibited|HOME_URL|_HOSTNAME|ICON_NAME|ID|IdleAction|IdleActionSec|ID_LIKE|ID_MODEL|ID_MODEL_FROM_DATABASE|IgnoreOnIsolate|IgnoreOnSnapshot|IgnoreSIGPIPE|InaccessibleDirectories|InhibitDelayMaxSec|init|IOSchedulingClass|IOSchedulingPriority|IPTOS|IPTTL|JobTimeoutSec|JoinControllers|KeepAlive|KEYMAP|KEYMAP_TOGGLE|KillExcludeUsers|KillMode|KillOnlyUsers|KillSignal|KillUserProcesses|LidSwitchIgnoreInhibited|LimitAS|LimitCORE|LimitCPU|LimitDATA|LimitFSIZE|LimitLOCKS|LimitMEMLOCK|LimitMSGQUEUE|LimitNICE|LimitNOFILE|LimitNPROC|LimitRSS|LimitRTPRIO|LimitRTTIME|LimitSIGPENDING|LimitSTACK|link_priority|valueListenDatagram|ListenFIFO|ListenMessageQueue|ListenNetlink|ListenSequentialPacket|ListenSpecial|ListenStream|LogColor|LogLevel|LogLocation|LogTarget|luks|_MACHINE_ID|MakeDirectory|Mark|MaxConnections|MaxFileSec|MaxLevelConsole|MaxLevelKMsg|MaxLevelStore|MaxLevelSyslog|MaxRetentionSec|MemoryLimit|MemorySoftLimit|MESSAGE|MESSAGE_ID|MessageQueueMaxMessages|MessageQueueMessageSize|__MONOTONIC_TIMESTAMP|MountFlags|NAME|NAutoVTs|Nice|NonBlocking|NoNewPrivileges|NotifyAccess|OnActiveSec|OnBootSec|OnCalendar|OnFailure|OnFailureIsolate|OnStartupSec|OnUnitActiveSec|OnUnitInactiveSec|OOMScoreAdjust|Options|output|PAMName|PartOf|PassCredentials|PassSecurity|PathChanged|PathExists|PathExistsGlob|PathModified|PermissionsStartOnly|_PID|PIDFile|PipeSize|PowerKeyIgnoreInhibited|PRETTY_HOSTNAME|PRETTY_NAME|Priority|PRIORITY|PrivateNetwork|PrivateTmp|PropagatesReloadTo|pss|RateLimitBurst|RateLimitInterval|ReadOnlyDirectories|ReadWriteDirectories|__REALTIME_TIMESTAMP|ReceiveBuffer|RefuseManualStart|RefuseManualStop|rel|ReloadPropagatedFrom|RemainAfterExit|RequiredBy|Requires|RequiresMountsFor|RequiresOverridable|Requisite|RequisiteOverridable|ReserveVT|ResetControllers|Restart|RestartPreventExitStatus|RestartSec|RootDirectory|RootDirectoryStartOnly|RuntimeKeepFree|RuntimeMaxFileSize|RuntimeMaxUse|RuntimeWatchdogSec|samples|scale_x|scale_y|Seal|SecureBits|_SELINUX_CONTEXT|SendBuffer|SendSIGKILL|Service|ShowStatus|ShutdownWatchdogSec|size|SmackLabel|SmackLabelIPIn|SmackLabelIPOut|SocketMode|Sockets|SourcePath|_SOURCE_REALTIME_TIMESTAMP|SplitMode|StandardError|StandardInput|StandardOutput|StartLimitAction|StartLimitBurst|StartLimitInterval|static_node|StopWhenUnneeded|Storage|string_escape|none|replaceSuccessExitStatus|SupplementaryGroups|SUPPORT_URL|SuspendKeyIgnoreInhibited|SyslogFacility|SYSLOG_FACILITY|SyslogIdentifier|SYSLOG_IDENTIFIER|SyslogLevel|SyslogLevelPrefix|SYSLOG_PID|SystemCallFilter|SYSTEMD_ALIAS|_SYSTEMD_CGROUP|_SYSTEMD_OWNER_UID|SYSTEMD_READY|_SYSTEMD_SESSION|_SYSTEMD_UNIT|_SYSTEMD_USER_UNIT|SYSTEMD_WANTS|SystemKeepFree|SystemMaxFileSize|SystemMaxUse|SysVStartPriority|TCPCongestion|TCPWrapName|timeout|TimeoutSec|TimeoutStartSec|TimeoutStopSec|TimerSlackNSec|Transparent|_TRANSPORT|tries|TTYPath|TTYReset|TTYVHangup|TTYVTDisallocate|Type|_UID|UMask|Unit|User|UtmpIdentifier|VERSION|VERSION_ID|WantedBy|Wants|WatchdogSec|What|Where|WorkingDirectory)="
795color brightblue "^\.include\>"
796color red "="
797color brightmagenta "^\[(Unit|Install|Service|Socket)\]"
798color brightyellow "\$MAINPID"
799color brightcyan "\<(true|false)\>"
800color cyan "(^|[[:space:]])#([^{].*)?$"
801color ,green "[[:space:]]+$"
802color ,red " + +| + +"
803# +EXTRALINT
804syntax "tex" "\.(tex|cls|ltx|sty|dtx|ins|bbl)$"
805
806color brightyellow "\\[A-Za-z]+"
807color brightmagenta "\\section"
808color cyan "%.*"
809color ,green "[[:space:]]+$"
810color ,red " + +| + +"
811# +EXTRALINT
812syntax "vala" "\.vala$"
813
814color green "\<(float|double|bool|char|int|uint|short|long|void|(un)?signed)\>"
815color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
816color black "[(]"
817color brightblack "\<(for|if|while|do|else|case|default|switch|try|throw|catch)\>"
818color brightblack "\<(inline|typedef|struct|enum|union|extern|static|const)\>"
819color brightblack "\<(operator|new|delete|return|null|using)\>"
820color brightblack "\<(class|override|private|public|signal|this|weak)\>"
821color brightred "\<(goto|break|continue)\>"
822color brightcyan "\<(true|false)\>"
823color blue "\<([0-9]+)\>"
824color red "[-+/*=<>?:!~%&|]" "->"
825color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
826color cyan "(^|[[:space:]])//.*"
827color cyan start="/\*" end="\*/"
828color brightwhite,cyan "TODO:?"
829color ,green "[[:space:]]+$"
830color ,red " + +| + +"
831# +EXTRALINT
832syntax "vi" "(^|/|\.)(ex|vim)rc$|\.vim"
833
834color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
835color black "[(]"
836color brightblack "\<([nvxsoilc]?(nore|un)?map|[nvlx]n|[ico]?no|[cilovx][um]|s?unm)\>"
837color brightblack "\<(snor|nun|nm|set|if|endif|let|unlet)\>"
838color red "[!&=]"
839color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
840color cyan "(^|[[:space:]])\"[^"]*$"
841color ,green "[[:space:]]+$"
842color ,red " + +| + +"
843# +EXTRALINT
844syntax "xml" "\.([jrs]html?|sgml?|xml|opml|xslt?|plist)$"
845header "<\?xml"
846
847color brightmagenta start="<" end=">"
848color brightblack " [a-z_-]+="
849color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
850color brightwhite,red "&"
851color magenta "&(#[0-9]+|#x[0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);"
852color cyan start="<!--" end="-->"
853color cyan start="<!DOCTYPE" end=">"
854color ,green "[[:space:]]+$"
855color ,red " + +| + +"
856# +EXTRALINT
857syntax "xresources" "X(defaults|resources)$"
858
859color green "^[[:alnum:]]+\*"
860color brightyellow "\*[[:alnum:]]+\:"
861color blue "\<[0-9]+\>"
862color red "[*:=]"
863color brightcyan "\<(true|false)\>"
864color cyan "(^|[[:space:]])#([^{].*)?$"
865color ,green "[[:space:]]+$"
866color ,red " + +| + +"
867# +EXTRALINT
868syntax "yaml" "\.ya?ml$"
869header "^---" "%YAML"
870
871color green "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) "
872color brightcyan "\<(YES|yes|Y|y|ON|on|NO|no|N|n|OFF|off)\>"
873color brightcyan "\<(true|false)\>"
874color red ":[[:space:]]" "\[" "\]" ":[[:space:]]+[|>]" "^[[:space:]]*- "
875color brightyellow "[[:space:]][\*&][A-Za-z0-9]+"
876color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
877color cyan "(^|[[:space:]])#([^{].*)?$"
878color brightmagenta "^---" "^\.\.\." "^%YAML" "^%TAG"
879color ,green "[[:space:]]+$"
880color ,red " + +| + +"
881# +EXTRALINT
882syntax "yum" "\.repo$|yum.*\.conf$"
883
884color brightblack "^[[:space:]]*[^=]*="
885color brightmagenta "^[[:space:]]*\[.*\]$"
886color brightyellow "\$(releasever|arch|basearch|uuid|YUM[0-9])"
887color cyan "(^|[[:space:]])#([^{].*)?$"
888color ,green "[[:space:]]+$"
889color ,red " + +| + +"
890# +EXTRALINT