neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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