Ticket #16: differntiate_between_c_cpp.patch

File differntiate_between_c_cpp.patch, 6.1 KB (added by winnie, 11 years ago)

This patch would fix this issue.

  • syntax/Makefile.am

    diff --git a/syntax/Makefile.am b/syntax/Makefile.am
    index d99dc3a..19d5904 100644
    a b SYNTAXFILES = \ 
    77        changelog.syntax        \ 
    88        cs.syntax               \ 
    99        css.syntax              \ 
     10  cxx.syntax      \ 
    1011        d.syntax                \ 
    1112        diff.syntax             \ 
    1213        dos.syntax              \ 
  • syntax/Syntax

    diff --git a/syntax/Syntax b/syntax/Syntax
    index efdd50e..6ae2d73 100644
    a b include latex.syntax 
    7676file ..\*\.(texi|texinfo|TEXI|TEXINFO)$ Texinfo\sDocument 
    7777include texinfo.syntax 
    7878 
    79 file ..\*\\.([chC]|CC|cxx|cc|cpp|CPP|CXX|hxx|hpp|HPP|h\.in)$ C/C\+\+\sProgram 
     79file ..\*\\.c$ C\sProgram 
    8080include c.syntax 
    8181 
     82file ..\*\\.([hC]|CC|cxx|cc|cpp|CPP|CXX|hxx|h\.in)$ C/C\+\+\sProgram 
     83include cxx.syntax 
     84 
    8285file ..\*\\.d$ D\sProgram 
    8386include d.syntax 
    8487 
  • syntax/c.syntax

    diff --git a/syntax/c.syntax b/syntax/c.syntax
    index 4c50f1c..91f070c 100644
    a b context default 
    3333    keyword whole volatile yellow 
    3434    keyword whole while yellow 
    3535    keyword whole asm yellow 
    36     keyword whole catch yellow 
    37     keyword whole class yellow 
    38     keyword whole friend yellow 
    39     keyword whole delete yellow 
    4036    keyword whole inline yellow 
    41     keyword whole new yellow 
    42     keyword whole operator yellow 
    43     keyword whole private yellow 
    44     keyword whole protected yellow 
    45     keyword whole public yellow 
    46     keyword whole this yellow 
    47     keyword whole throw yellow 
    48     keyword whole template yellow 
    49     keyword whole try yellow 
    50     keyword whole virtual yellow 
    51     keyword whole bool yellow 
    52     keyword whole const_cast yellow 
    53     keyword whole dynamic_cast yellow 
    54     keyword whole explicit yellow 
    55     keyword whole false yellow 
    56     keyword whole mutable yellow 
    57     keyword whole namespace yellow 
    58     keyword whole reinterpret_cast yellow 
    59     keyword whole static_cast yellow 
    60     keyword whole true yellow 
    61     keyword whole typeid yellow 
    62     keyword whole typename yellow 
    63     keyword whole using yellow 
    6437    keyword whole wchar_t yellow 
    6538    keyword whole ... yellow 
    6639    keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta 
  • new file syntax/cxx.syntax

    diff --git a/syntax/cxx.syntax b/syntax/cxx.syntax
    new file mode 100644
    index 0000000..7deef6d
    - +  
     1context default 
     2    keyword whole auto yellow 
     3    keyword whole break yellow 
     4    keyword whole case yellow 
     5    keyword whole char yellow 
     6    keyword whole const yellow 
     7    keyword whole continue yellow 
     8    keyword whole default yellow 
     9    keyword whole do yellow 
     10    keyword whole double yellow 
     11    keyword whole else yellow 
     12    keyword whole enum yellow 
     13    keyword whole extern yellow 
     14    keyword whole float yellow 
     15    keyword whole for yellow 
     16    keyword whole goto yellow 
     17    keyword whole if yellow 
     18    keyword whole int yellow 
     19    keyword whole long yellow 
     20    keyword whole register yellow 
     21    keyword whole return yellow 
     22    keyword whole short yellow 
     23    keyword whole signed yellow 
     24    keyword whole sizeof yellow 
     25    keyword whole static yellow 
     26    keyword whole struct yellow 
     27    keyword whole switch yellow 
     28    keyword whole typedef yellow 
     29    keyword whole union yellow 
     30    keyword whole unsigned yellow 
     31    keyword whole void yellow 
     32    keyword whole volatile yellow 
     33    keyword whole while yellow 
     34    keyword whole asm yellow 
     35    keyword whole catch yellow 
     36    keyword whole class yellow 
     37    keyword whole friend yellow 
     38    keyword whole delete yellow 
     39    keyword whole inline yellow 
     40    keyword whole new yellow 
     41    keyword whole operator yellow 
     42    keyword whole private yellow 
     43    keyword whole protected yellow 
     44    keyword whole public yellow 
     45    keyword whole this yellow 
     46    keyword whole throw yellow 
     47    keyword whole template yellow 
     48    keyword whole try yellow 
     49    keyword whole virtual yellow 
     50    keyword whole bool yellow 
     51    keyword whole const_cast yellow 
     52    keyword whole dynamic_cast yellow 
     53    keyword whole explicit yellow 
     54    keyword whole false yellow 
     55    keyword whole mutable yellow 
     56    keyword whole namespace yellow 
     57    keyword whole reinterpret_cast yellow 
     58    keyword whole static_cast yellow 
     59    keyword whole true yellow 
     60    keyword whole typeid yellow 
     61    keyword whole typename yellow 
     62    keyword whole using yellow 
     63    keyword whole wchar_t yellow 
     64    keyword whole ... yellow 
     65    keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta 
     66 
     67    keyword /\* brown 
     68    keyword \*/ brown 
     69    keyword // brown 
     70 
     71    keyword '\\\{"abtnvfr\}' brightgreen 
     72    keyword '\\\{0123\}\{01234567\}\{01234567\}' brightgreen 
     73    keyword '\\'' brightgreen 
     74    keyword '\\\\' brightgreen 
     75    keyword '\\0' brightgreen 
     76    keyword '\{\s!"#$%&()\*\+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\}' brightgreen 
     77 
     78    keyword > yellow 
     79    keyword < yellow 
     80    keyword \+ yellow 
     81    keyword - yellow 
     82    keyword \* yellow 
     83    keyword / yellow 
     84    keyword % yellow 
     85    keyword = yellow 
     86    keyword != yellow 
     87    keyword == yellow 
     88    keyword { brightcyan 
     89    keyword } brightcyan 
     90    keyword ( brightcyan 
     91    keyword ) brightcyan 
     92    keyword [ brightcyan 
     93    keyword ] brightcyan 
     94    keyword , brightcyan 
     95    keyword : brightcyan 
     96    keyword ? brightcyan 
     97    keyword ; brightmagenta 
     98 
     99context exclusive /\* \*/ brown 
     100    spellcheck 
     101 
     102context exclusive // \n brown 
     103    spellcheck 
     104 
     105context linestart # \n brightred 
     106    keyword \\\n yellow 
     107    keyword /\**\*/ brown 
     108    keyword //*\n brown 
     109    keyword "+" red 
     110    keyword <+> red 
     111 
     112context " " green 
     113    spellcheck 
     114    keyword \\" brightgreen 
     115    keyword %% brightgreen 
     116    keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} brightgreen 
     117    keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} brightgreen 
     118    keyword %\[hl\]n brightgreen 
     119    keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s brightgreen 
     120    keyword %[*] brightgreen 
     121    keyword %c brightgreen 
     122    keyword %p brightgreen 
     123    keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen 
     124    keyword \\\\ brightgreen 
     125    keyword \\' brightgreen 
     126    keyword \\\{abtnvfr\} brightgreen 
     127 
     128