Files
neovim/runtime/ftplugin
zeertzjq 53211ade2b vim-patch:9.2.0969: runtime(shaderslang): matchit % breaks on braces (#41371)
Problem:  b:match_words groups "{" with the if/for/while/switch keywords
          and "}" with "break" which breaks % matching on braces
Solution: Drop the brace and bracket groups, matchit appends
          'matchpairs' by itself (Matthias Bruns).

matchit counts every alternative in a group instead of pairing the
alternatives with each other.  Listing `{` alongside the if, for,
while, switch, struct and class keywords therefore makes a line such
as `for (...) {` count as two openers, and listing `break` alongside
`}` lets a brace pair with a break statement.  As a result % on the
opening brace of a function does not move at all, and % on
`switch (x) {` jumps to `break;` instead of the closing brace.

Braces and brackets do not need to be listed: matchit appends
'matchpairs' to b:match_words by itself.  Drop them and leave the
preprocessor group unchanged.

closes: vim/vim#21064

08c74ce09a

Co-authored-by: Matthias Bruns <matthiasbruns35@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 07:47:24 +08:00
..
2021-09-22 06:12:06 -07:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2024-01-15 11:40:44 +01:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2014-07-29 02:12:31 +00:00
2023-08-29 11:32:46 +02:00
2017-11-06 05:26:16 +01:00
2019-07-29 20:50:07 +02:00
2023-11-05 21:52:02 +01:00
2024-04-21 00:09:48 +02:00
2017-11-06 05:26:16 +01:00
2023-06-11 12:40:22 +01:00
2017-11-06 05:26:16 +01:00
2022-09-18 15:20:20 +02:00
2017-11-06 05:26:16 +01:00
2024-05-20 00:13:40 +02:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2024-01-15 11:40:44 +01:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2022-04-27 17:48:35 +02:00
2017-11-06 05:26:16 +01:00
2022-07-02 11:06:03 +02:00
2024-01-15 11:40:44 +01:00
2021-05-01 23:19:58 -04:00
2023-12-29 00:54:09 +01:00
2023-12-29 00:54:09 +01:00
2022-01-11 14:14:17 +01:00
2021-09-22 06:12:06 -07:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2024-01-27 12:02:59 +01:00
2021-12-16 21:46:13 +01:00
2024-01-15 11:40:44 +01:00
2021-04-27 09:21:31 -04:00
2024-01-15 11:40:44 +01:00
2024-01-15 11:40:44 +01:00
2015-10-11 18:07:58 -04:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2023-02-03 09:18:18 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2018-10-29 10:01:44 +01:00
2024-01-15 11:40:44 +01:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2023-08-13 13:25:10 +01:00
2017-11-06 05:26:16 +01:00
2021-09-13 16:33:41 +02:00
2017-04-29 01:01:51 +02:00
2017-04-29 01:01:51 +02:00
2017-11-06 05:26:16 +01:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2017-11-07 23:07:03 +01:00
2023-04-23 15:22:55 +02:00
2023-08-29 11:32:46 +02:00
2024-05-20 14:43:12 +02:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2023-08-29 11:32:46 +02:00
2017-11-06 05:26:16 +01:00
2024-01-15 11:40:44 +01:00
2024-05-20 14:43:12 +02:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2024-03-03 10:38:58 +01:00
2017-11-06 05:26:16 +01:00
2024-01-15 11:40:44 +01:00
2024-03-03 10:38:58 +01:00
2017-11-06 05:26:16 +01:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2023-08-29 11:32:46 +02:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2023-08-24 11:33:06 +09:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2019-07-29 20:50:07 +02:00
2024-01-15 11:40:44 +01:00
2021-10-16 18:03:51 +02:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2023-08-09 22:34:02 +02:00
2017-11-06 05:26:16 +01:00
2023-08-29 11:32:46 +02:00
2024-05-20 14:43:12 +02:00
2024-01-15 11:40:44 +01:00
2024-01-15 11:40:44 +01:00
2014-12-30 13:51:39 +01:00
2024-01-15 11:40:44 +01:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00

The ftplugin directory is for Vim plugin scripts that are only used for a
specific filetype.

All files ending in .vim in this directory and subdirectories will be sourced
by Vim when it detects the filetype that matches the name of the file or
subdirectory.
For example, these are all loaded for the "c" filetype:

	c.vim
	c_extra.vim
	c/settings.vim

Note that the "_" in "c_extra.vim" is required to separate the filetype name
from the following arbitrary name.

The filetype plugins are only loaded when the ":filetype plugin" command has
been used.

The default filetype plugin files contain settings that 95% of the users will
want to use.  They do not contain personal preferences, like the value of
'shiftwidth'.

If you want to do additional settings, or overrule the default filetype
plugin, you can create your own plugin file.  See ":help ftplugin" in Vim.