view runtime/syntax/xcompose.vim @ 34420:c5a945f7f3da v9.1.0133

patch 9.1.0133: MS-Windows: ligatures not rendering correctly Commit: https://github.com/vim/vim/commit/8b1e749ca6ca6d09a174c57de6999f69393ee567 Author: Erik S. V. Jansson <caffeineviking@gmail.com> Date: Sat Feb 24 14:26:52 2024 +0100 patch 9.1.0133: MS-Windows: ligatures not rendering correctly Problem: font ligatures don't render correctly in the Win32 GUI-version of gvim even when set rop=type:directx is used. Setting guiligatures also doesn't make any difference. This leads to broken font ligatures when the cursor passes through them. It does not recover from this, and they remain broken until you re-render the whole buffer (e.g. by using Ctrl+L). Solution: the problem is that we only re-draw the current and previous character in gui_undraw_cursor() and only have the special case for GTK when it comes to rendering ligatures. So let's enable gui_adjust_undraw_cursor_for_ligatures() to also happen for Win32 GUI if guiligatures is setup correctly (all this does is expand the range of gui_undraw_cursor() with ligature characters). related: #9181 related: #12901 closes: #14084 Signed-off-by: Erik S. V. Jansson <caffeineviking@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sat, 24 Feb 2024 14:45:03 +0100
parents 4006051bf85d
children
line wrap: on
line source

" Vim syntax file
" Language:	XCompose
" Maintainer:	ObserverOfTime <chronobserver@disroot.org>
" Filenames:	.XCompose, Compose
" Last Change:	2023 Nov 09

" Comments
syn keyword xcomposeTodo contained TODO FIXME XXX
syn match xcomposeComment /#.*/ contains=xcomposeTodo

" Includes
syn keyword xcomposeInclude include nextgroup=xcomposeFile skipwhite
syn match xcomposeFile /"\([^"]\|\\"\)\+"/ contained
syn match xcomposeSubstitution /%[HLS]/ contained containedin=xcomposeFile

" Modifiers
syn keyword xcomposeModifier Ctrl Lock Caps Shift Alt Meta None
syn match xcomposeModifierPrefix /\s*\zs[!~]\ze\s*/

" Keysyms
syn match xcomposeKeysym /<[A-Za-z0-9_]\+>/
syn match xcomposeKeysym /[A-Za-z0-9_]\+/ contained
syn match xcomposeString /"\([^"]\|\\"\)\+"/ contained nextgroup=xcomposeKeysym skipwhite
syn match xcomposeColon /:/ nextgroup=xcomposeKeysym,xcomposeString skipwhite

hi def link xcomposeColon Delimiter
hi def link xcomposeComment Comment
hi def link xcomposeFile String
hi def link xcomposeInclude Include
hi def link xcomposeKeysym Constant
hi def link xcomposeModifier Function
hi def link xcomposeModifierPrefix Operator
hi def link xcomposeString String
hi def link xcomposeSubstitution Special
hi def link xcomposeTodo Todo

let b:current_syntax = 'xcompose'