Mercurial > vim
view runtime/syntax/kwt.vim @ 21606:66618893eb2a v8.2.1353
patch 8.2.1353: crash when drawing double-wide character in terminal window
Commit: https://github.com/vim/vim/commit/8b89614e69b9b2330539d0482e44f4724053e780
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 2 15:05:05 2020 +0200
patch 8.2.1353: crash when drawing double-wide character in terminal window
Problem: Crash when drawing double-wide character in terminal window.
(Masato Nishihata)
Solution: Check getcell() returning NULL. (issue #6141)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 02 Aug 2020 15:15:03 +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