Mercurial > vim
view runtime/syntax/kwt.vim @ 17352:b2616a8be8a6 v8.1.1675
patch 8.1.1675: listener list not correctly updated on listener_remove()
commit https://github.com/vim/vim/commit/7b73f914c4fc5a3f7ad97b678cc8137f964e3d62
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 13 13:03:02 2019 +0200
patch 8.1.1675: listener list not correctly updated on listener_remove()
Problem: Listener list not correctly updated on listener_remove().
Solution: Only set "prev" when not removing a listener. Return one if the
listener was found and removed.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 13 Jul 2019 13:15:05 +0200 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: kimwitu++ " Maintainer: Michael Piefel <entwurf@piefel.de> " Last Change: 2 May 2001 " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " Read the C++ syntax to start with runtime! syntax/cpp.vim unlet b:current_syntax " kimwitu++ extentions " Don't stop at eol, messes around with CPP mode, but gives line spanning " strings in unparse rules syn region cCppString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat syn keyword cType integer real casestring nocasestring voidptr list syn keyword cType uview rview uview_enum rview_enum " avoid unparsing rule sth:view being scanned as label syn clear cUserCont syn match cUserCont "^\s*\I\i*\s*:$" contains=cUserLabel contained syn match cUserCont ";\s*\I\i*\s*:$" contains=cUserLabel contained syn match cUserCont "^\s*\I\i*\s*:[^:]"me=e-1 contains=cUserLabel contained syn match cUserCont ";\s*\I\i*\s*:[^:]"me=e-1 contains=cUserLabel contained " highlight phylum decls syn match kwtPhylum "^\I\i*:$" syn match kwtPhylum "^\I\i*\s*{\s*\(!\|\I\)\i*\s*}\s*:$" syn keyword kwtStatement with foreach afterforeach provided syn match kwtDecl "%\(uviewvar\|rviewvar\)" syn match kwtDecl "^%\(uview\|rview\|ctor\|dtor\|base\|storageclass\|list\|attr\|member\|option\)" syn match kwtOption "no-csgio\|no-unparse\|no-rewrite\|no-printdot\|no-hashtables\|smart-pointer\|weak-pointer" syn match kwtSep "^%}$" syn match kwtSep "^%{\(\s\+\I\i*\)*$" syn match kwtCast "\<phylum_cast\s*<"me=e-1 syn match kwtCast "\<phylum_cast\s*$" " match views, remove paren error in brackets syn clear cErrInBracket syn match cErrInBracket contained ")" syn match kwtViews "\(\[\|<\)\@<=[ [:alnum:]_]\{-}:" " match rule bodies syn region kwtUnpBody transparent keepend extend fold start="->\s*\[" start="^\s*\[" skip="\$\@<!{\_.\{-}\$\@<!}" end="\s]\s\=;\=$" end="^]\s\=;\=$" end="}]\s\=;\=$" syn region kwtRewBody transparent keepend extend fold start="->\s*<" start="^\s*<" end="\s>\s\=;\=$" end="^>\s\=;\=$" " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link kwtStatement cppStatement hi def link kwtDecl cppStatement hi def link kwtCast cppStatement hi def link kwtSep Delimiter hi def link kwtViews Label hi def link kwtPhylum Type hi def link kwtOption PreProc "hi def link cText Comment syn sync lines=300 let b:current_syntax = "kwt" " vim: ts=8