qx13468 28d94f21ed trunk eingeführt
git-svn-id: https://vimsuite.svn.sourceforge.net/svnroot/vimsuite/trunk@133 eb2d0018-73a3-4aeb-bfe9-1def61c9ec69
2007-04-12 15:34:18 +00:00

50 lines
1.7 KiB
VimL

" special keywords
syntax keyword cType uint8 sint8 uint16 sint16 uint32 sint32 uint64 sint64
syntax keyword cType tuint8 tsint8 tuint16 tsint16 tuint32 tsint32 tuint64 tsint64
syntax keyword cType DfpType SfpType SfpErrorType LWrd LInt
syntax keyword cType TickType
syntax keyword Special ATOMIC BEGIN_ATOMIC END_ATOMIC
"syntax match cTodo "!\s*IST_LIEBL.*[^*/]"
syntax match cTodo "\(!\s*IST_LIEBL.*\>\)\ze\s*\*/"
syntax match cTodo "\(debug\)"
syntax keyword cConstant TRUE FALSE
syntax region myFold start="{" end="}" transparent fold
syntax region if0Fold start="^\s*#\s*if\s\+0\+\>" end="^\s*#\s*endif" fold containedin=cPreCondit
let c_no_if0 = 1
syntax sync fromstart
set foldmethod=syntax
set nofoldenable
" Folds for #ifdef
command! -nargs=0 FoldDefine call FoldDefine(<args>)
function! FoldDefine ()
execute 'normal mx'
let startline = line('.')
" execute 'normal %k'
execute 'normal 0%'
if match(GetLine(), 'endif') < 0
execute 'normal k'
endif
let endline = line('.')
" echo 'start: ' . startline . ' end: ' . endline
let foldname = 'FoldDefine' . startline
let start='"\%' . startline . 'l.*"'
let end='"\%' . endline . 'l.*"'
let command = 'syntax region ' . foldname . ' start=' . start . ' end=' . end . ' fold containedin=cPreCondit'
" echo command
execute command
execute 'highlight def link ' . foldname . ' Comment'
syntax sync fromstart
set foldmethod=syntax
execute 'normal `x'
endfunction
command! -nargs=0 UnFoldDefine call UnFoldDefine(<args>)
function! UnFoldDefine ()
let foldname = 'FoldDefine' . line('.')
execute "syntax clear " . foldname
endfunction