Re: [vim/vim] runtime(vim): Update syntax, contain Ex commands (PR #19331)

12 views
Skip to first unread message

dkearns

unread,
Feb 4, 2026, 1:44:40 PMFeb 4
to vim/vim, Push

@dkearns pushed 1 commit.

  • f796619 runtime(vim): Update syntax, contain Ex commands


View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/13cdba5a8d84ba9f271cab1a1a4a58b9ef9be465/after/f796619bd6a04efe729596b9bd0f143fa07ac8e8@github.com>

dkearns

unread,
Feb 4, 2026, 1:50:14 PMFeb 4
to vim/vim, Push

@dkearns pushed 1 commit.

  • 6a9c94d runtime(vim): Update syntax, contain Ex commands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/e53d8246d72f6d86cf53e0f3eb8ade7c500ad99b/after/6a9c94d28b43f49bd398c04c9ba7eeedc3da6641@github.com>

dkearns

unread,
Feb 4, 2026, 1:56:32 PMFeb 4
to vim/vim, Push

@dkearns pushed 1 commit.

  • 1f16bf0 runtime(vim): Update syntax, contain Ex commands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/6a9c94d28b43f49bd398c04c9ba7eeedc3da6641/after/1f16bf0caf3aafb94a58bd049041680f7416affa@github.com>

dkearns

unread,
Feb 4, 2026, 1:56:58 PMFeb 4
to vim/vim, Subscribed
  • Contain Ex commands to valid syntactic contexts, start of line, after : or | and subcommand contexts.
  • Add full :range matching.

Fixes:

  • #16937 (do not highlight vim commands after packadd)
  • #14895 (Incorrect highlighting of Vim syntax)
  • #17543 (do not highlight vim commands within :runtime)

You can view, comment on, or merge this pull request online at:

  https://github.com/vim/vim/pull/19331

Commit Summary

  • 7f22036 runtime(vim): Update syntax, contain Ex commands
  • dd13ebc Fix Test_statusline() failures

File Changes

(300 files)

Patch Links:


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331@github.com>

dkearns

unread,
Feb 4, 2026, 1:57:53 PMFeb 4
to vim/vim, Push

@dkearns pushed 1 commit.

  • 530da4a runtime(vim): Update syntax, contain Ex commands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/e053126ace2b769484bac5a559a6d4027957ca92/after/530da4aff9aa80b3381925450f99f091b51b20f8@github.com>

dkearns

unread,
Feb 4, 2026, 2:00:10 PMFeb 4
to vim/vim, Push

@dkearns pushed 1 commit.

  • 0723e84 runtime(vim): Update syntax, contain Ex commands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/530da4aff9aa80b3381925450f99f091b51b20f8/after/0723e844162ef491d51bee382c4ed3224a1a0cef@github.com>

dkearns

unread,
Feb 4, 2026, 2:21:19 PMFeb 4
to vim/vim, Push

@dkearns pushed 1 commit.

  • 13cdba5 runtime(vim): Update syntax, contain Ex commands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/1f16bf0caf3aafb94a58bd049041680f7416affa/after/13cdba5a8d84ba9f271cab1a1a4a58b9ef9be465@github.com>

dkearns

unread,
Feb 4, 2026, 2:33:37 PMFeb 4
to vim/vim, Push

@dkearns pushed 1 commit.

  • 7f22036 runtime(vim): Update syntax, contain Ex commands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/f796619bd6a04efe729596b9bd0f143fa07ac8e8/after/7f2203600983ded4cf9ec70884e0c75ca5227088@github.com>

dkearns

unread,
Feb 4, 2026, 2:43:33 PMFeb 4
to vim/vim, Push

@dkearns pushed 1 commit.

  • dd13ebc Fix Test_statusline() failures

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/7f2203600983ded4cf9ec70884e0c75ca5227088/after/dd13ebc122f58368b6ecf59ca82a105a60463450@github.com>

dkearns

unread,
Feb 4, 2026, 3:31:56 PMFeb 4
to vim/vim, Push

@dkearns pushed 1 commit.

  • ebac8ca Remove irrelevant dump files.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/dd13ebc122f58368b6ecf59ca82a105a60463450/after/ebac8ca9b1c0aab3e40ff26c0e76f1f22b6e15da@github.com>

Mao-Yining

unread,
Feb 6, 2026, 5:53:23 AMFeb 6
to vim/vim, Subscribed
mao-yining left a comment (vim/vim#19331)

Can this pr fix this problem?
In vim9 call and let are not necessary, but everything behind silent and silent! are highlight as command, even function or g:thing, while exe and echo 's highlight are well.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/c3859676973@github.com>

dkearns

unread,
Feb 7, 2026, 6:42:33 AMFeb 7
to vim/vim, Push

@dkearns pushed 1 commit.

  • 3e475b0 Allow :range before :autocmd-{cmd}

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/ebac8ca9b1c0aab3e40ff26c0e76f1f22b6e15da/after/3e475b0bb0732c8a839705424de375751faa77fa@github.com>

dkearns

unread,
Feb 7, 2026, 6:54:58 AMFeb 7
to vim/vim, Push

@dkearns pushed 1 commit.

  • 5a7def7 Contains straggler commmands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/3e475b0bb0732c8a839705424de375751faa77fa/after/5a7def7e4f1de36322196b11aa36fdbb9f15f9c9@github.com>

dkearns

unread,
Feb 7, 2026, 7:08:09 AMFeb 7
to vim/vim, Push

@dkearns pushed 1 commit.

  • 4c0eba6 Contains straggler commmands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/5a7def7e4f1de36322196b11aa36fdbb9f15f9c9/after/4c0eba6247c2d04dd7e2786727429eb90abddac6@github.com>

dkearns

unread,
Mar 1, 2026, 12:08:43 PMMar 1
to vim/vim, Push

@dkearns pushed 1 commit.

  • 000a492 runtime(vim): Update syntax, contain Ex commands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/4c0eba6247c2d04dd7e2786727429eb90abddac6/after/000a492f1b0c6babcb032a56f25887bd3f1c853d@github.com>

dkearns

unread,
Mar 1, 2026, 12:11:36 PMMar 1
to vim/vim, Push

@dkearns pushed 1 commit.

  • 29d0fa6 runtime(vim): Update syntax, contain Ex commands

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/000a492f1b0c6babcb032a56f25887bd3f1c853d/after/29d0fa632bbb559168f92cdb445590a89b52cd4f@github.com>

dkearns

unread,
Mar 11, 2026, 12:10:02 PMMar 11
to vim/vim, Push

@dkearns pushed 2 commits.

  • 27f1e55 runtime(vim): Update syntax, contain Ex commands
  • 9cadc0a Generate range accepting command modifiers.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/29d0fa632bbb559168f92cdb445590a89b52cd4f/after/9cadc0aa4af04a526c69ca0221a975eab8b10078@github.com>

dkearns

unread,
Mar 16, 2026, 12:01:03 AMMar 16
to vim/vim, Subscribed
dkearns left a comment (vim/vim#19331)

Sorry @mao-yining, I missed your query.

Yes, it should fix that issue but that part is still on my machine. I'll update this PR soon.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/c4064899864@github.com>

dkearns

unread,
Mar 17, 2026, 5:53:29 AMMar 17
to vim/vim, Push

@dkearns pushed 2 commits.

  • 3a4f828 runtime(vim): Update syntax, contain Ex commands
  • 0ae7944 Generate range accepting command modifiers.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/9cadc0aa4af04a526c69ca0221a975eab8b10078/after/0ae794494bd4044af431d89a8be1b2d7baba3a64@github.com>

dkearns

unread,
Mar 19, 2026, 8:25:09 PMMar 19
to vim/vim, Push

@dkearns pushed 2 commits.

  • e787a09 Rename vimRange* and similar groups to vimAddress*
  • cc0245b Range command cleanup and :delete special handling


View it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/0ae794494bd4044af431d89a8be1b2d7baba3a64/after/cc0245bb54c8c054c3917230928e9a9219909124@github.com>

dkearns

unread,
Mar 19, 2026, 9:27:55 PMMar 19
to vim/vim, Push

@dkearns pushed 2 commits.

  • 82a7a69 Rename vimRange* and similar groups to vimAddress*
  • 01577a9 Range command cleanup and :delete special handling


View it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/cc0245bb54c8c054c3917230928e9a9219909124/after/01577a93bcaa6f24091f3295099f66d670eda53c@github.com>

dkearns

unread,
Mar 20, 2026, 12:56:16 AMMar 20
to vim/vim, Push

@dkearns pushed 1 commit.

  • 80cad4a runtime(vim): Update syntax, contain Ex commands


View it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/01577a93bcaa6f24091f3295099f66d670eda53c/after/80cad4a0e5d0e8e632cc602c76a078d99e68c670@github.com>

dkearns

unread,
Mar 22, 2026, 9:25:05 PMMar 22
to vim/vim, Push

@dkearns pushed 1 commit.

  • 26b6f68 runtime(vim): Update syntax, contain Ex commands


View it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/80cad4a0e5d0e8e632cc602c76a078d99e68c670/after/26b6f68cf977258b9fdd3c22afb8a73ec1fe7be7@github.com>

dkearns

unread,
Apr 24, 2026, 11:55:11 AMApr 24
to vim/vim, Push

@dkearns pushed 1 commit.

  • a6b2138 runtime(vim): Update syntax, contain Ex commands

Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/26b6f68cf977258b9fdd3c22afb8a73ec1fe7be7/after/a6b2138c6cf9427970ae448e5be231db0628f68e@github.com>

dkearns

unread,
May 11, 2026, 2:05:39 PM (7 days ago) May 11
to vim/vim, Push

@dkearns pushed 1 commit.

  • 8833a2c runtime(vim): Update syntax, contain Ex commands

Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/4e08d9ad7de48886da951c320f0447a24a1e3c52/after/8833a2c130637c7b2982b4a4e334e508a8da3496@github.com>

dkearns

unread,
May 13, 2026, 11:48:36 AM (6 days ago) May 13
to vim/vim, Push

@dkearns pushed 1 commit.

  • d6714e2 runtime(vim): Update syntax, contain Ex commands


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/8833a2c130637c7b2982b4a4e334e508a8da3496/after/d6714e2dbfeb1c79ffce365be5743a7ad1f9870d@github.com>

Peter Kenny

unread,
May 15, 2026, 4:55:21 PM (3 days ago) May 15
to vim/vim, Subscribed

@kennypete commented on this pull request.


In runtime/syntax/generator/vim.vim.base:

>  
-" Highlight: clear {{{2
-syn keyword	vimHiClear	contained	clear	skipwhite nextgroup=vimGroup,vimHLGroup,vimHiGroup
-
-" Highlight: link {{{2
-" see tst24 (hi def vs hi) (Jul 06, 2018)
-"syn region	vimHiLink	contained oneline matchgroup=vimCommand start="\(\<hi\%[ghlight]\s\+\)\@<=\(\(def\%[ault]\s\+\)\=link\>\|\<def\>\)" end="$"	contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
-" TODO: simplify and allow line continuations --djk
-syn region	vimHiLink	contained matchgroup=Type start="\%(\<hi\%[ghlight]!\=\s\+\)\@<=\%(\%(def\%[ault]\s\+\)\=link\>\|\<def\%[ault]\>\)" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimHiCluster
+" Additional IsCommand: here by reasons of precedence {{{2
+" ===================+syn match	vimIsCommand	"<Bar>\s*\a\+"	transparent contains=vimCommand,vimNotation

Is this too restrictive? See my comment in #20191 (comment)


Reply to this email directly, view it on GitHub, or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/review/4301324569@github.com>

dkearns

unread,
May 17, 2026, 10:23:07 AM (2 days ago) May 17
to vim/vim, Push

@dkearns pushed 1 commit.

  • 9387c13 runtime(vim): Update syntax, contain Ex commands


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/d6714e2dbfeb1c79ffce365be5743a7ad1f9870d/after/9387c13859dfed03a7630c9906fa0aac688c49c6@github.com>

dkearns

unread,
May 17, 2026, 11:16:11 AM (2 days ago) May 17
to vim/vim, Subscribed

@dkearns commented on this pull request.


In runtime/syntax/generator/vim.vim.base:

>  
-" Highlight: clear {{{2
-syn keyword	vimHiClear	contained	clear	skipwhite nextgroup=vimGroup,vimHLGroup,vimHiGroup
-
-" Highlight: link {{{2
-" see tst24 (hi def vs hi) (Jul 06, 2018)
-"syn region	vimHiLink	contained oneline matchgroup=vimCommand start="\(\<hi\%[ghlight]\s\+\)\@<=\(\(def\%[ault]\s\+\)\=link\>\|\<def\>\)" end="$"	contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
-" TODO: simplify and allow line continuations --djk
-syn region	vimHiLink	contained matchgroup=Type start="\%(\<hi\%[ghlight]!\=\s\+\)\@<=\%(\%(def\%[ault]\s\+\)\=link\>\|\<def\%[ault]\>\)" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimHiCluster
+" Additional IsCommand: here by reasons of precedence {{{2
+" ===================+syn match	vimIsCommand	"<Bar>\s*\a\+"	transparent contains=vimCommand,vimNotation

It is but it's a very old group that's no longer intended for use and scheduled for removal. I don't believe it matches anywhere valid but I need to test that.


Reply to this email directly, view it on GitHub, or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/review/4305636229@github.com>

dkearns

unread,
May 18, 2026, 2:29:54 AM (23 hours ago) May 18
to vim/vim, Push

@dkearns pushed 1 commit.

  • f059011 runtime(vim): Update syntax, contain Ex commands


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/9387c13859dfed03a7630c9906fa0aac688c49c6/after/f059011f7a11887b27b00bce0624f5ffd6f96ff7@github.com>

dkearns

unread,
May 18, 2026, 5:43:50 AM (20 hours ago) May 18
to vim/vim, Push

@dkearns pushed 1 commit.

  • 05dd6de runtime(vim): Update syntax, contain Ex commands


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/before/f059011f7a11887b27b00bce0624f5ffd6f96ff7/after/05dd6de7d6a67284308b1edacdd1e99357e926dd@github.com>

Peter Kenny

unread,
May 18, 2026, 6:34:05 PM (7 hours ago) May 18
to vim/vim, Subscribed

@kennypete commented on this pull request.


In runtime/syntax/generator/vim.vim.base:

>  
-syn region	vimSyncArgs	contained	start="\S" skip=+\\\\\|\\|\|\n\s*\%(\\\|"\\ \)+ matchgroup=vimCmdSep end="|\|$" contains=vimSyncLines,vimSyncLinebreak,vimSyncLinecont,vimSyncFromstart,vimSyncCcomment
+" User Command Highlighting: {{{2
+" syn match vimUsrCmd	'^\s*\zs\u\%(\w*\)\@>\%([<.(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'
+" syn match vimUsrCmd	contained	'\u\%(\w*\)\@>\%([<.(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' nextgroup=vimBang
+syn match vimUsrCmd	contained	'\%#=1\<\u\w\+\>\%([![:space:]]\|$\)\@=' nextgroup=vimBang
  • \u\w\+ will match invalid patterns like :My_Invalid_Command. It needs to be [:alnum:].
  • It would be easier to read with very magic to reduce the \ overload.
  • POSIX character classes throughout would be better too.
  • Characters (like vertical tab and line-end) in [:space:], if used after a command, give errors. A tab or space only is allowed, so [:blank:] should replace [:space:]:
syn match vimUsrCmd	contained	'\v<[[:upper:]][[:alnum:]]+>%([[:blank:]!]|$)@=' nextgroup=vimBang

Illustrating with /\v<[[:upper:]][[:alnum:]]+>%([[:space:]!]|$)@= why it should be [:blank:]:
image.png (view on web)


Reply to this email directly, view it on GitHub, or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19331/review/4314439545@github.com>

Reply all
Reply to author
Forward
0 new messages