mc/misc/syntax/c.syntax
Sergii Pylypenko deceefab74 mcedit: fixed syntax highlighting bug in .c and .cxx syntax scripts
To reproduce, open this .c file in mcedit (remove backslashes):

/* this preprocessor macro is not colorized,
   when there is whitespace before '#' and the next line is not empty */
\  #if not_colorized
int code;

/* this preprocessor macro is colorized properly, the next line is empty */
\  #if colorized

int code2;

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-02-09 10:40:43 +03:00

109 lines
3.3 KiB
YAML
Raw Blame History

# Syntax rules for the C and the C++ programming languages
context default
keyword whole auto yellow
keyword whole break yellow
keyword whole case yellow
keyword whole char yellow
keyword whole const yellow
keyword whole continue yellow
keyword whole do yellow
keyword whole double yellow
keyword whole else yellow
keyword whole enum yellow
keyword whole extern yellow
keyword whole float yellow
keyword whole for yellow
keyword whole goto yellow
keyword whole if yellow
keyword whole int yellow
keyword whole long yellow
keyword whole register yellow
keyword whole return yellow
keyword whole short yellow
keyword whole signed yellow
keyword whole sizeof yellow
keyword whole static yellow
keyword whole struct yellow
keyword whole switch yellow
keyword whole typedef yellow
keyword whole union yellow
keyword whole unsigned yellow
keyword whole void yellow
keyword whole volatile yellow
keyword whole while yellow
keyword whole asm yellow
keyword whole inline yellow
keyword whole wchar_t yellow
keyword whole ... yellow
keyword linestart \{\s\t\}\[\s\t\]#*\n brightmagenta
keyword whole \[\s\t\]default yellow
keyword whole linestart \[\s\t\]\{ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]: cyan
keyword /\* brown
keyword \*/ brown
keyword // brown
keyword '\\\{"abtnvfr\}' brightgreen
keyword '\\\{0123\}\{01234567\}\{01234567\}' brightgreen
keyword '\\'' brightgreen
keyword '\\\\' brightgreen
keyword '\\0' brightgreen
keyword '\{\s!"#$%&()\*\+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~嵗╯丰戍貝物洎悖停眾斯須號獄播噶擱藏霰匸<E99CB0>帊昅恘倳眑婭笫崷窙嗲睧颬睼麧緗鴇膹擨闀貘覷鏷禴矙𡜍𦶠<F0A19C8D>\}' brightgreen
# punctuation characters, sorted by ASCII code
keyword ! yellow
keyword % yellow
keyword && yellow
keyword & brightmagenta
keyword ( brightcyan
keyword ) brightcyan
keyword \* yellow
keyword \+ yellow
keyword , brightcyan
keyword - yellow
keyword / yellow
keyword : brightcyan
keyword ; brightmagenta
keyword < yellow
keyword = yellow
keyword > yellow
keyword ? brightcyan
keyword [ brightcyan
keyword ] brightcyan
keyword ^ brightmagenta
keyword { brightcyan
keyword || yellow
keyword | brightmagenta
keyword } brightcyan
keyword ~ brightmagenta
context exclusive /\* \*/ brown
spellcheck
context exclusive // \n brown
spellcheck
context linestart # \n brightred
keyword \\\n yellow
keyword /\**\*/ brown
keyword //*\n brown
keyword "+" red
keyword <+> red
context " " green
spellcheck
keyword \\" brightgreen
keyword %% brightgreen
keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} brightgreen
keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} brightgreen
keyword %\[hl\]n brightgreen
keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s brightgreen
keyword %[*] brightgreen
keyword %c brightgreen
keyword %p brightgreen
keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
keyword \\\\ brightgreen
keyword \\' brightgreen
keyword \\\{abtnvfr\} brightgreen