kwt.vim (2454B)
1 " Vim syntax file 2 " Language: kimwitu++ 3 " Maintainer: Michael Piefel <entwurf@piefel.de> 4 " Last Change: 2 May 2001 5 6 " quit when a syntax file was already loaded 7 if exists("b:current_syntax") 8 finish 9 endif 10 11 " Read the C++ syntax to start with 12 runtime! syntax/cpp.vim 13 unlet b:current_syntax 14 15 " kimwitu++ extentions 16 17 " Don't stop at eol, messes around with CPP mode, but gives line spanning 18 " strings in unparse rules 19 syn region cCppString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat 20 syn keyword cType integer real casestring nocasestring voidptr list 21 syn keyword cType uview rview uview_enum rview_enum 22 23 " avoid unparsing rule sth:view being scanned as label 24 syn clear cUserCont 25 syn match cUserCont "^\s*\I\i*\s*:$" contains=cUserLabel contained 26 syn match cUserCont ";\s*\I\i*\s*:$" contains=cUserLabel contained 27 syn match cUserCont "^\s*\I\i*\s*:[^:]"me=e-1 contains=cUserLabel contained 28 syn match cUserCont ";\s*\I\i*\s*:[^:]"me=e-1 contains=cUserLabel contained 29 30 " highlight phylum decls 31 syn match kwtPhylum "^\I\i*:$" 32 syn match kwtPhylum "^\I\i*\s*{\s*\(!\|\I\)\i*\s*}\s*:$" 33 34 syn keyword kwtStatement with foreach afterforeach provided 35 syn match kwtDecl "%\(uviewvar\|rviewvar\)" 36 syn match kwtDecl "^%\(uview\|rview\|ctor\|dtor\|base\|storageclass\|list\|attr\|member\|option\)" 37 syn match kwtOption "no-csgio\|no-unparse\|no-rewrite\|no-printdot\|no-hashtables\|smart-pointer\|weak-pointer" 38 syn match kwtSep "^%}$" 39 syn match kwtSep "^%{\(\s\+\I\i*\)*$" 40 syn match kwtCast "\<phylum_cast\s*<"me=e-1 41 syn match kwtCast "\<phylum_cast\s*$" 42 43 44 " match views, remove paren error in brackets 45 syn clear cErrInBracket 46 syn match cErrInBracket contained ")" 47 syn match kwtViews "\(\[\|<\)\@<=[ [:alnum:]_]\{-}:" 48 49 " match rule bodies 50 syn region kwtUnpBody transparent keepend extend fold start="->\s*\[" start="^\s*\[" skip="\$\@<!{\_.\{-}\$\@<!}" end="\s]\s\=;\=$" end="^]\s\=;\=$" end="}]\s\=;\=$" 51 syn region kwtRewBody transparent keepend extend fold start="->\s*<" start="^\s*<" end="\s>\s\=;\=$" end="^>\s\=;\=$" 52 53 " Define the default highlighting. 54 " Only when an item doesn't have highlighting yet 55 56 hi def link kwtStatement cppStatement 57 hi def link kwtDecl cppStatement 58 hi def link kwtCast cppStatement 59 hi def link kwtSep Delimiter 60 hi def link kwtViews Label 61 hi def link kwtPhylum Type 62 hi def link kwtOption PreProc 63 "hi def link cText Comment 64 65 66 syn sync lines=300 67 68 let b:current_syntax = "kwt" 69 70 " vim: ts=8