runtime(help): Update syntax, add vim9 example language
Commit:
https://github.com/vim/vim/commit/3a5613939809f456c29942a95f0b636c57749774
Author: Doug Kearns <[email protected]>
Date: Sun Sep 28 18:06:04 2025 +0000
runtime(help): Update syntax, add vim9 example language
"vim9" is Vim9 script and "vim" is legacy script.
See: https://github.com/vim/vim/pull/18350#discussion_r2372462539
closes: #18407
Signed-off-by: Doug Kearns <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index ef70be770..ac57264b8 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt* For Vim version 9.1. Last change: 2025 Sep 15
+*helphelp.txt* For Vim version 9.1. Last change: 2025 Sep 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -463,12 +463,14 @@ To quote a block of ex-commands verbatim, place a greater
than (>) character
at the end of the line before the block and a less than (<) character as the
first non-blank on a line following the block. Any line starting in column 1
also implicitly stops the block of ex-commands before it. E.g. >
+
function Example_Func()
echo "Example"
endfunction
<
To enable syntax highlighting for a block of code, place a language name
annotation (e.g. "vim") after a greater than (>) character. E.g. >vim
+
function Example_Func()
echo "Example"
endfunction
@@ -476,7 +478,8 @@ annotation (e.g. "vim") after a greater than (>) character.
E.g. >vim
*g:help_example_languages*
By default, help files only support Vim script highlighting. If you need
syntax highlighting for other languages, add to your |vimrc|: >
- :let g:help_example_languages = { "vim": "vim", "sh": "bash" }
+ :let g:help_example_languages = {
+ \ "vim": "vim", "vim9": "vim", "bash": "sh" }
The key represents the annotation marker name, and the value is the 'syntax'
name.
diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt
index fea6cddd1..5b52bc654 100644
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt* For Vim version 9.1. Last change: 2025 Apr 10
+*usr_05.txt* For Vim version 9.1. Last change: 2025 Sep 27
VIM USER MANUAL - by Bram Moolenaar
@@ -308,6 +308,7 @@ This switches on three very clever mechanisms:
*restore-cursor* *last-position-jump* >vim
+
augroup RestoreCursor
autocmd!
autocmd BufReadPost *
diff --git a/runtime/doc/usr_52.txt b/runtime/doc/usr_52.txt
index 19a37dca5..906683811 100644
--- a/runtime/doc/usr_52.txt
+++ b/runtime/doc/usr_52.txt
@@ -1,4 +1,4 @@
-*usr_52.txt* For Vim version 9.1. Last change: 2025 Mar 17
+*usr_52.txt* For Vim version 9.1. Last change: 2025 Sep 27
VIM USER MANUAL - by Bram Moolenaar
@@ -347,7 +347,7 @@ Have a look at the package located at
$VIMRUNTIME/pack/dist/opt/comment/
HIGHLIGHT YANK PLUGIN
Vim comes with the highlight-yank plugin, written in Vim9 script
-|hlyank-install|, here is a simplified implementation: >vim
+|hlyank-install|, here is a simplified implementation: >vim9
vim9script
diff --git a/runtime/syntax/generator/vim.vim.base
b/runtime/syntax/generator/vim.vim.base
index 461eafb11..fbca93451 100644
--- a/runtime/syntax/generator/vim.vim.base
+++ b/runtime/syntax/generator/vim.vim.base
@@ -18,7 +18,8 @@ set cpo&vim
" Feature testing {{{1
-let s:vim9script = "
" .. getline(1, 32)->join("
") =~# '
\s*vim9\%[script]\>'
+" NOTE: vimsyn_force_vim9 for internal use only
+let s:vim9script = get(b:, "vimsyn_force_vim9", v:false) || "
" .. getline(1, 32)->join("
") =~# '
\s*vim9\%[script]\>'
function s:has(feature)
return has(a:feature) || index(get(g:, "vimsyn_vim_features", []),
a:feature) != -1
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index c53c0cb90..35b4572bf 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Doug Kearns <[email protected]>
-" Last Change: 2025 Jul 20
+" Last Change: 2025 Sep 27
" Former Maintainer: Bram Moolenaar <[email protected]>
" Quit when a (custom) syntax file was already loaded
@@ -15,7 +15,7 @@ set cpo&vim
syn iskeyword @,48-57,_,192-255
if !exists('g:help_example_languages')
- let g:help_example_languages = #{ vim: 'vim' }
+ let g:help_example_languages = #{ vim: 'vim', vim9: 'vim' }
endif
syn match helpHeadline "^[A-Z.][-A-Z0-9 .,()_']*?\=\ze\(\s\+\*\|$\)"
@@ -32,10 +32,19 @@ endif
for [s:lang, s:syntax] in g:help_example_languages->items()
unlet! b:current_syntax
+
+ if s:lang == "vim9"
+ let b:vimsyn_force_vim9 = v:true
+ endif
+
" silent! to prevent E403
execute 'silent! syn include' $'@helpExampleHighlight_{s:lang}'
\ $'syntax/{s:syntax}.vim'
+ if s:lang == "vim9"
+ unlet b:vimsyn_force_vim9
+ endif
+
execute $'syn region helpExampleHighlight_{s:lang} matchgroup=helpIgnore'
\ $'start=/\%(^\| \)>{s:lang}$/'
\ 'end=/^[^ ]/me=e-1 end=/^</'
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 06949222b..426674e97 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -18,7 +18,8 @@ set cpo&vim
" Feature testing {{{1
-let s:vim9script = "
" .. getline(1, 32)->join("
") =~# '
\s*vim9\%[script]\>'
+" NOTE: vimsyn_force_vim9 for internal use only
+let s:vim9script = get(b:, "vimsyn_force_vim9", v:false) || "
" .. getline(1, 32)->join("
") =~# '
\s*vim9\%[script]\>'
function s:has(feature)
return has(a:feature) || index(get(g:, "vimsyn_vim_features", []),
a:feature) != -1
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/vim_dev/E1v2vvS-00HEGp-Dl%40256bit.org.