diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-06-12 11:06:57 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-12 11:06:57 +0800 |
commit | af8001d10085479b5b7d9ac6d7505a030e620974 (patch) | |
tree | 35c3a5b74d18b2001fb572e1938064a76af96430 | |
parent | 66a1e028e6edfc26e9546f1c68f3e4bdf159511e (diff) | |
parent | bbe69b4022b577a801653991a8b7f7f2ab869e97 (diff) | |
download | rneovim-af8001d10085479b5b7d9ac6d7505a030e620974.tar.gz rneovim-af8001d10085479b5b7d9ac6d7505a030e620974.tar.bz2 rneovim-af8001d10085479b5b7d9ac6d7505a030e620974.zip |
Merge pull request #29292 from zeertzjq/vim-059cbe893355
vim-patch:059cbe8,959c3c8
-rw-r--r-- | runtime/doc/syntax.txt | 21 | ||||
-rw-r--r-- | runtime/syntax/vim.vim | 15 |
2 files changed, 21 insertions, 15 deletions
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 61028c791d..ded5e46d07 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -3327,28 +3327,31 @@ The g:vimsyn_embed option allows users to select what, if any, types of embedded script highlighting they wish to have. > g:vimsyn_embed == 0 : disable (don't embed any scripts) - g:vimsyn_embed == 'lpPr' : support embedded lua, perl, python and ruby + g:vimsyn_embed == 'lpPr' : support embedded Lua, Perl, Python and Ruby < This option is disabled by default. *g:vimsyn_folding* - Some folding is now supported with when 'foldmethod' is set to "syntax": > g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding g:vimsyn_folding =~ 'a' : augroups g:vimsyn_folding =~ 'f' : fold functions g:vimsyn_folding =~ 'h' : fold heredocs - g:vimsyn_folding =~ 'l' : fold lua script - g:vimsyn_folding =~ 'p' : fold perl script - g:vimsyn_folding =~ 'P' : fold python script - g:vimsyn_folding =~ 'r' : fold ruby script + g:vimsyn_folding =~ 'l' : fold Lua script + g:vimsyn_folding =~ 'p' : fold Perl script + g:vimsyn_folding =~ 'P' : fold Python script + g:vimsyn_folding =~ 'r' : fold Ruby script < By default, g:vimsyn_folding is unset. Concatenate the indicated characters -to support folding of multiple syntax constructs; i.e. -g:vimsyn_folding = "fh" will enable folding of both functions and heredocs. +to support folding of multiple syntax constructs (e.g., +g:vimsyn_folding = "fh" will enable folding of both functions and heredocs). + + *g:vimsyn_comment_strings* +By default, strings are highlighted inside comments. This may be disabled by +setting g:vimsyn_comment_strings to false. - *g:vimsyn_noerror* + *g:vimsyn_noerror* Not all error highlighting that syntax/vim.vim does may be correct; Vim script is a difficult language to highlight correctly. A way to suppress error highlighting is to put the following line in your |vimrc|: > diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 6cb75f3af4..d16d62dc4a 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -359,7 +359,9 @@ syn region vimUserCmdBlock contained matchgroup=vimSep start="{" end="}" contain " Lower Priority Comments: after some vim commands... {{{2 " ======================= -syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"' +if get(g:, "vimsyn_comment_strings", 1) + syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"' +endif if s:vim9script syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString contained @@ -806,16 +808,17 @@ syn match vimCtrlChar "[--]" " Beginners - Patterns that involve ^ {{{2 " ========= if s:vim9script - syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle contained - syn match vim9LineComment +^[ \t:]*#.*$+ contains=@vimCommentGroup,vimCommentString,vim9CommentTitle + syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle + syn region vimLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle contained else - syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle - syn match vim9LineComment +^[ \t:]*#.*$+ contains=@vimCommentGroup,vimCommentString,vim9CommentTitle contained + syn region vimLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle + syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle contained endif syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup syn match vim9CommentTitle '#\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vim9CommentTitleLeader,vimTodo,@vimCommentGroup + syn match vimContinue "^\s*\zs\\" -syn match vimContinueComment '^\s*\zs["#]\\ .*' contained +syn match vimContinueComment '^\s*\zs["#]\\ .*' syn cluster vimContinue contains=vimContinue,vimContinueComment syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained |