"add by xujiaxuan
"========================================================
" Highlight All Function
"========================================================
"syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>[^()]*)("me=e-2
"syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>/s*("me=e-1
"hi cFunction gui=NONE guifg=#B5A1FF
syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
hi cFunctions guifg=#7fd02e cterm=bold ctermfg=LightBlue
syn match cClass "\<[a-zA-Z_][a-zA-Z_0-9]*\>::"me=e-2
hi cClass guifg=#7fd02e cterm=bold ctermfg=brown
"========================================================
" Highlight All Math Operator
"========================================================
"hi def link cPointerOperator cOperator
"C math operators
syn match cMathOperator display "[-+\*\%=]"
" C pointer operators
syn match cPointerOperator display "->\|\."
" C logical operators - boolean results
syn match cLogicalOperator display "[!<>]=\="
syn match cLogicalOperator display "=="
" C bit operators
syn match cBinaryOperator display "\(&\||\|\^\|<<\|>>\)=\="
syn match cBinaryOperator display "\~"
"syn match cBinaryOperatorError display "\~="
" More C logical operators - highlight in preference to binary
syn match cLogicalOperator display "&&\|||"
"syn match cLogicalOperatorError display "\(&&\|||\)="
" Math Operator
hi cMathOperator guifg=#7fd02e cterm=bold ctermfg=LightRed
hi cPointerOperator guifg=#7fd02e cterm=bold ctermfg=DarkGreen
hi cLogicalOperator guifg=#7fd02e cterm=bold ctermfg=darkyellow
hi cBinaryOperator guifg=#7fd02e cterm=bold ctermfg=Magenta
"hi cBinaryOperatorError guifg=#7fd02e cterm=bold ctermfg=DarkRed
"hi cLogicalOperatorError guifg=#7fd02e cterm=bold ctermfg=DarkRed
"========================================================
" My Own DataType
"========================================================
"syn keyword cType User Room Game
"========================================================
" Highlight All Function
"========================================================
"syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>[^()]*)("me=e-2
"syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>/s*("me=e-1
"hi cFunction gui=NONE guifg=#B5A1FF
syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
hi cFunctions guifg=#7fd02e cterm=bold ctermfg=LightBlue
syn match cClass "\<[a-zA-Z_][a-zA-Z_0-9]*\>::"me=e-2
hi cClass guifg=#7fd02e cterm=bold ctermfg=brown
"========================================================
" Highlight All Math Operator
"========================================================
"hi def link cPointerOperator cOperator
"C math operators
syn match cMathOperator display "[-+\*\%=]"
" C pointer operators
syn match cPointerOperator display "->\|\."
" C logical operators - boolean results
syn match cLogicalOperator display "[!<>]=\="
syn match cLogicalOperator display "=="
" C bit operators
syn match cBinaryOperator display "\(&\||\|\^\|<<\|>>\)=\="
syn match cBinaryOperator display "\~"
"syn match cBinaryOperatorError display "\~="
" More C logical operators - highlight in preference to binary
syn match cLogicalOperator display "&&\|||"
"syn match cLogicalOperatorError display "\(&&\|||\)="
" Math Operator
hi cMathOperator guifg=#7fd02e cterm=bold ctermfg=LightRed
hi cPointerOperator guifg=#7fd02e cterm=bold ctermfg=DarkGreen
hi cLogicalOperator guifg=#7fd02e cterm=bold ctermfg=darkyellow
hi cBinaryOperator guifg=#7fd02e cterm=bold ctermfg=Magenta
"hi cBinaryOperatorError guifg=#7fd02e cterm=bold ctermfg=DarkRed
"hi cLogicalOperatorError guifg=#7fd02e cterm=bold ctermfg=DarkRed
"========================================================
" My Own DataType
"========================================================
"syn keyword cType User Room Game