Files
neovim/runtime/ftplugin
zeertzjq e2ab5e1db7 vim-patch:81ca991: runtime(html): guard against an existing b:undo_ftplugin var (#35763)
Filetype plugins should not assume they are the only file to execute on
behalf of a buffer's filetype: other filetypes may use them, and
dotted filetypes may cause multiple to run. When this occurs, they
should _build_ on their respective b:undo_ftplugin settings, not
overwrite each other.

For example, when using a dotted filetype wiki.markdown, the wiki
filetype plugins go first. Then, during the markdown filetype plugins,
the HTML plugin's unconditional assignment to b:undo_ftplugin trashes
any data previously stored there by the wiki filetype.

Follow the pattern elsewhere of assigning or appending conditionally.

closes: vim/vim#18267

81ca9916d2

Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
2025-09-15 08:27:55 +08:00
..
2021-09-22 06:12:06 -07: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
2023-08-29 11:32:46 +02: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
2023-08-23 20:36:16 +01:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2024-04-19 16:09:30 +02:00
2014-07-29 02:12:31 +00:00
2023-08-13 13:25:10 +01: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
2014-07-29 02:12:31 +00:00
2023-11-05 21:52:02 +01:00
2022-09-28 12:48:36 +02:00
2024-11-21 06:50:30 +08:00
2024-01-15 11:40:44 +01:00
2024-04-21 00:09:48 +02: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
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-04-28 21:13:55 +02:00
2017-11-06 05:26:16 +01:00
2024-05-20 00:13:40 +02:00
2023-10-27 10:06:52 +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
2023-12-28 10:42:09 +01:00
2022-04-27 17:48:35 +02: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
2022-07-02 11:06:03 +02:00
2024-01-15 11:40:44 +01:00
2024-01-15 11:40:44 +01:00
2021-05-01 23:19:58 -04:00
2024-01-15 11:40:44 +01:00
2023-12-29 00:54:09 +01:00
2023-12-29 00:54:09 +01:00
2022-09-10 14:54:13 +02: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
2022-09-28 12:48:36 +02:00
2024-01-15 11:40:44 +01:00
2016-05-03 20:59:26 +02: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
2024-01-15 11:40:44 +01:00
2021-04-27 09:21:31 -04:00
2024-01-15 11:40:44 +01:00
2022-09-10 14:54:13 +02:00
2024-01-15 11:40:44 +01:00
2021-08-15 11:02:19 +02: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-04-23 15:22:55 +02: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
2023-12-16 15:57:22 +01:00
2018-10-29 10:01:44 +01:00
2023-05-15 09:38:32 +02:00
2024-01-15 11:40: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
2024-01-15 11:40:44 +01: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
2025-08-02 15:00:42 +03:00
2023-08-13 13:25:10 +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
2023-08-29 11:32:46 +02:00
2017-11-06 05:26:16 +01:00
2024-01-15 11:40:44 +01:00
2022-10-17 08:19:48 +02: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
2023-08-13 11:53:51 +02:00
2024-01-15 11:40:44 +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-03-03 10:38:58 +01:00
2024-01-15 11:40:44 +01:00
2023-08-24 11:33:06 +09:00
2024-01-15 11:40:44 +01:00
2023-12-29 00:54:09 +01:00
2023-12-15 10:30:13 +01:00
2023-08-29 11:32:46 +02:00
2017-11-06 05:26:16 +01:00
2017-04-28 21:13:55 +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
2017-11-06 05:26:16 +01:00
2023-08-29 11:32:46 +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
2017-11-06 05:26:16 +01:00
2023-08-24 11:33:06 +09:00
2024-01-15 11:40:44 +01:00
2022-10-17 08:19:48 +02:00
2024-05-18 08:57:07 +02:00
2024-01-15 11:40:44 +01:00
2022-07-30 15:48:32 +02:00
2021-05-01 23:19:57 -04:00
2021-04-27 09:21:34 -04:00
2017-11-06 05:26:16 +01:00
2022-06-15 09:20:32 +02:00
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2024-10-15 20:50:21 +02: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
2023-08-11 22:06:37 +02:00
2017-11-06 05:26:16 +01:00
2022-06-15 09:20:32 +02: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
2022-09-18 15:20:20 +02:00
2024-05-20 22:58:05 +02: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
2024-01-15 11:40:44 +01:00
2017-11-06 05:26:16 +01:00
2017-11-06 05:26:16 +01:00
2022-06-15 09:20:32 +02:00
2024-01-15 11:40:44 +01:00
2024-01-15 11:40:44 +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.