diff --git a/syntax/Makefile.am b/syntax/Makefile.am index 98f8571a5..f0a8a04ce 100644 --- a/syntax/Makefile.am +++ b/syntax/Makefile.am @@ -11,6 +11,7 @@ SYNTAXFILES = \ debian-sources-list.syntax \ cs.syntax \ css.syntax \ + cxx.syntax \ d.syntax \ diff.syntax \ dos.syntax \ diff --git a/syntax/Syntax b/syntax/Syntax index 58e54fc7b..9874a5287 100644 --- a/syntax/Syntax +++ b/syntax/Syntax @@ -76,9 +76,12 @@ include latex.syntax file ..\*\.(texi|texinfo|TEXI|TEXINFO)$ Texinfo\sDocument include texinfo.syntax -file ..\*\\.([chC]|CC|cxx|cc|cpp|CPP|CXX|hxx|hpp|HPP|h\.in)$ C/C\+\+\sProgram +file ..\*\\.c$ C\sProgram include c.syntax +file ..\*\\.([hC]|CC|cxx|cc|cpp|CPP|CXX|hxx|h\.in)$ C/C\+\+\sProgram +include cxx.syntax + file ..\*\\.d$ D\sProgram include d.syntax diff --git a/syntax/c.syntax b/syntax/c.syntax index 4c50f1c9a..91f070c88 100644 --- a/syntax/c.syntax +++ b/syntax/c.syntax @@ -33,34 +33,7 @@ context default keyword whole volatile yellow keyword whole while yellow keyword whole asm yellow - keyword whole catch yellow - keyword whole class yellow - keyword whole friend yellow - keyword whole delete yellow keyword whole inline yellow - keyword whole new yellow - keyword whole operator yellow - keyword whole private yellow - keyword whole protected yellow - keyword whole public yellow - keyword whole this yellow - keyword whole throw yellow - keyword whole template yellow - keyword whole try yellow - keyword whole virtual yellow - keyword whole bool yellow - keyword whole const_cast yellow - keyword whole dynamic_cast yellow - keyword whole explicit yellow - keyword whole false yellow - keyword whole mutable yellow - keyword whole namespace yellow - keyword whole reinterpret_cast yellow - keyword whole static_cast yellow - keyword whole true yellow - keyword whole typeid yellow - keyword whole typename yellow - keyword whole using yellow keyword whole wchar_t yellow keyword whole ... yellow keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta diff --git a/syntax/cxx.syntax b/syntax/cxx.syntax new file mode 100644 index 000000000..7deef6d70 --- /dev/null +++ b/syntax/cxx.syntax @@ -0,0 +1,128 @@ +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 default 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 catch yellow + keyword whole class yellow + keyword whole friend yellow + keyword whole delete yellow + keyword whole inline yellow + keyword whole new yellow + keyword whole operator yellow + keyword whole private yellow + keyword whole protected yellow + keyword whole public yellow + keyword whole this yellow + keyword whole throw yellow + keyword whole template yellow + keyword whole try yellow + keyword whole virtual yellow + keyword whole bool yellow + keyword whole const_cast yellow + keyword whole dynamic_cast yellow + keyword whole explicit yellow + keyword whole false yellow + keyword whole mutable yellow + keyword whole namespace yellow + keyword whole reinterpret_cast yellow + keyword whole static_cast yellow + keyword whole true yellow + keyword whole typeid yellow + keyword whole typename yellow + keyword whole using yellow + keyword whole wchar_t yellow + keyword whole ... yellow + keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta + + 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{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\}' brightgreen + + keyword > yellow + keyword < yellow + keyword \+ yellow + keyword - yellow + keyword \* yellow + keyword / yellow + keyword % yellow + keyword = yellow + keyword != yellow + keyword == yellow + keyword { brightcyan + keyword } brightcyan + keyword ( brightcyan + keyword ) brightcyan + keyword [ brightcyan + keyword ] brightcyan + keyword , brightcyan + keyword : brightcyan + 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 + +