Merge branch '4549_subshell_execl_argv0'
[midnight-commander.git] / misc / syntax / c.syntax
blobc5e2bc171d6ad5f911e5833b9dc4bf2c98a679e8
1 # Syntax rules for the C and the C++ programming languages
3 context default
4     keyword whole alignas yellow
5     keyword whole alignof yellow
6     keyword whole asm yellow
7     keyword whole auto yellow
8     keyword whole break yellow
9     keyword whole case yellow
10     keyword whole char yellow
11     keyword whole constexpr yellow
12     keyword whole const yellow
13     keyword whole continue yellow
14     keyword whole default yellow
15     keyword whole double yellow
16     keyword whole do yellow
17     keyword whole else yellow
18     keyword whole enum yellow
19     keyword whole extern yellow
20     keyword whole false yellow
21     keyword whole float yellow
22     keyword whole for yellow
23     keyword whole goto yellow
24     keyword whole if yellow
25     keyword whole inline yellow
26     keyword whole int yellow
27     keyword whole long yellow
28     keyword whole nullptr yellow
29     keyword whole register yellow
30     keyword whole restrict yellow
31     keyword whole return yellow
32     keyword whole short yellow
33     keyword whole signed yellow
34     keyword whole sizeof yellow
35     keyword whole static yellow
36     keyword whole static_assert yellow
37     keyword whole struct yellow
38     keyword whole switch yellow
39     keyword whole thread_local yellow
40     keyword whole true yellow
41     keyword whole typedef yellow
42     keyword whole typeof yellow
43     keyword whole typeof_unqual yellow
44     keyword whole union yellow
45     keyword whole unsigned yellow
46     keyword whole void yellow
47     keyword whole volatile yellow
48     keyword whole wchar_t yellow
49     keyword whole while yellow
50     keyword whole _Alignas yellow
51     keyword whole _Alignof yellow
52     keyword whole _Atomic yellow
53     keyword whole _Bool yellow
54     keyword whole _Complex yellow
55     keyword whole _Decimal32 yellow
56     keyword whole _Decimal64 yellow
57     keyword whole _Decimal128 yellow
58     keyword whole _Generic yellow
59     keyword whole _Imaginary yellow
60     keyword whole _Noreturn yellow
61     keyword whole _Static_assert yellow
62     keyword whole _Thread_local yellow
63     keyword whole ... yellow
64     keyword linestart \{\s\t\}\[\s\t\]#*\n brightmagenta
65     keyword whole \[\s\t\]default yellow
66     keyword whole linestart \[\s\t\]\{ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]: cyan
68     keyword /\* brown
69     keyword \*/ brown
70     keyword // brown
72     keyword '\\\{"abtnvfr\}' brightgreen
73     keyword '\\\{0123\}\{01234567\}\{01234567\}' brightgreen
74     keyword '\\'' brightgreen
75     keyword '\\\\' brightgreen
76     keyword '\\0' brightgreen
77     keyword '\{\s!"#$%&()\*\+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\}' brightgreen
79 # punctuation characters, sorted by ASCII code
80     keyword ! yellow
81     keyword % yellow
82     keyword && yellow
83     keyword & brightmagenta
84     keyword ( brightcyan
85     keyword ) brightcyan
86     keyword \* yellow
87     keyword \+ yellow
88     keyword , brightcyan
89     keyword - yellow
90     keyword / yellow
91     keyword : brightcyan
92     keyword ; brightmagenta
93     keyword < yellow
94     keyword = yellow
95     keyword > yellow
96     keyword ? brightcyan
97     keyword [ brightcyan
98     keyword ] brightcyan
99     keyword ^ brightmagenta
100     keyword { brightcyan
101     keyword || yellow
102     keyword | brightmagenta
103     keyword } brightcyan
104     keyword ~ brightmagenta
106 context exclusive /\* \*/ brown
107     spellcheck
109 context exclusive // \n brown
110     spellcheck
112 context linestart # \n brightred
113     keyword \\\n yellow
114     keyword /\**\*/ brown
115     keyword //*\n brown
116     keyword "+" red
117     keyword <+> red
119 context " " green
120     spellcheck
121     keyword \\" brightgreen
122     keyword %% brightgreen
123     keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} brightgreen
124     keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} brightgreen
125     keyword %\[hl\]n brightgreen
126     keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s brightgreen
127     keyword %[*] brightgreen
128     keyword %c brightgreen
129     keyword %p brightgreen
130     keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
131     keyword \\\\ brightgreen
132     keyword \\' brightgreen
133     keyword \\\{abtnvfr\} brightgreen