commit 5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58
parent 7db83d47b2bf88bb8d1c5c95407f66cf7807003c
Author: zeertzjq <zeertzjq@outlook.com>
Date: Mon, 29 Jan 2024 10:59:38 +0800
vim-patch:cf8695d48cdd
runtime(vim): Highlight string interpolation
closes: vim/vim#13923
https://github.com/vim/vim/commit/cf8695d48cdded63043430af5a84185e9614e84c
Co-authored-by: thinca <thinca@gmail.com>
Diffstat:
1 file changed, 7 insertions(+), 0 deletions(-)
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
@@ -311,6 +311,12 @@ syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
syn match vimEscape contained "\\."
+syn region vimString start=+$'+ end=+'+ skip=+''+ oneline contains=vimStringInterpolationBrace,vimStringInterpolationExpr
+syn region vimString start=+$"+ end=+"+ oneline contains=@vimStringGroup,vimStringInterpolationBrace,vimStringInterpolationExpr
+syn region vimStringInterpolationExpr matchgroup=vimOperParen start=+{+ end=+}+ oneline contains=vimFunc,vimFuncVar,vimOper,vimNotation,vimOperParen,vimString,vimVar
+syn match vimStringInterpolationBrace "{{"
+syn match vimStringInterpolationBrace "}}"
+
" Substitutions: {{{2
" =============
syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
@@ -991,6 +997,7 @@ if !exists("skip_vim_syntax_inits")
hi def link vimStringCont vimString
hi def link vimString String
hi def link vimStringEnd vimString
+ hi def link vimStringInterpolationBrace vimEscape
hi def link vimSubst1 vimSubst
hi def link vimSubstDelim Delimiter
hi def link vimSubstFlags Special