aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-01-29 10:59:38 +0800
committerzeertzjq <zeertzjq@outlook.com>2024-01-29 11:25:35 +0800
commit5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58 (patch)
treec1e71819cc0d29bd21018fcf1ae679803abe9b9d
parent7db83d47b2bf88bb8d1c5c95407f66cf7807003c (diff)
downloadrneovim-5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58.tar.gz
rneovim-5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58.tar.bz2
rneovim-5e5b004da44c7075ed1e20ae9d05ab09c6f2ac58.zip
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>
-rw-r--r--runtime/syntax/vim.vim7
1 files changed, 7 insertions, 0 deletions
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 327790fe92..298215b880 100644
--- 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