" Language: C " Description: Additional C syntax file. if !exists('c_no_function') && !exists('cpp_no_function') " Match function expressions: expr() " ^^^^ syn match cFunction '\h\w*\ze\s*(' display hi default link cFunction Function endif if !exists('c_no_delimiters') && !exists('cpp_no_delimiters') " Match delimiter expressions: (expr) {expr} ; " ^ ^ ^ ^ ^ syn match cDelimiter '[()\[\];:]' display " Match curly braces with cDelimiter highlight group syn region cBlock matchgroup=cDelimiter start="{" end="}" transparent fold hi link cUserCont Delimiter hi default link cDelimiter cUserCont endif if !exists('c_no_operators') && !exists('cpp_no_operators') " Match: * - . ^ ~ + - , & | ! % ? < > order is important " ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ syn match cOperator '[\*=\.\^\~+\-,&|!%?><]' display " Match: / don't override // or /* or */ " ^ syn match cOperator '[\*\/]\@<!\/[\*\/]\@!' display " Match: (expr) ? true : false; " ^ ^ syn region cOperatorTernary matchgroup=cOperator start='?' end='::\@!' transparent display endif let g:c_doxygen = get(g:, 'c_doxygen', 1) if exists('g:c_doxygen') && g:c_doxygen " Match: comment leader syn match cDoxygenLeader '^\s*\/\/\/' contained display " Match: @param name description. " ^^^^ syn region cDoxygenSpecial matchgroup=cDoxygenComment start='@param\(\[\(\|in\|out\|in,out\)\]\)\=\s\+' end='\(\s\|$\)' contained display " Match: @tparam name description. " ^^^^ syn region cDoxygenSpecial matchgroup=cDoxygenComment start='@tparam\s\+' end='\(\s\|$\)' contained display " Match: `markdown monospace` " ^^^^^^^^^^^^^^^^^^^^ syn region cDoxygenSpecial start='`' end='`' contained contains=@NoSpell,cDoxygenLeader " Match: @brief Description. @return Description. " ^^^^^^^^^^^^ ^^^^^^^^^^^^ syn region cDoxygenSpecial matchgroup=cDoxygenComment start='@\(brief\|return[s]\?\|attention\)' end='\(^\s*\/\/\/\s*$\|^\(\s*\/\/\/\)\@!\|^\s*\/\/\/\s*\ze@\)' contained contains=@Spell,cDoxygenLeader,cDoxygenSpecial display " Match: @def MACRO " ^^^^^ syn region cDoxygenSpecial matchgroup=cDoxygenComment start='@def' end='$' contained display " Match: something ///< description. " ^^^^^^^^^^^^ syn region cDoxygenSpecial matchgroup=cDoxygenComment oneline start='\/\/\/<' end='$' display " Match: @todo description. " ^^^^ syn match cDoxygenTodo '@\zstodo' contained display " Match: http://some.url " ^^^^^^^^^^^^^^^ syn match cDoxygenUrl /https\?:\/\/\(\w\+\(:\w\+\)\?@\)\?\([A-Za-z][-_0-9A-Za-z]*\.\)\{1,}\(\w\{2,}\.\?\)\{1,}\(:[0-9]\{1,5}\)\?\S*/ contained display " Match: /// Description. " ^^^^^^^^^^^^^^^^ syn region cDoxygenComment fold start='^\s*\/\/\/' end='^\(\s*\/\/\/\)\@!' contains=@Spell,cDoxygenSpecial,cDoxygenTodo,cDoxygenUrl hi default link cDoxygenComment cComment hi default link cDoxygenLeader cDoxygenComment hi default link cDoxygenSpecial SpecialComment hi default link cDoxygenTodo Todo hi default link cDoxygenUrl Underlined endif