runtime(yaml): fix wrong order of undo_ftplugin suboptions
This commit fixes the following error message:
```
Compiler not supported: make inc< sw< sts<
```
1. orginal value: `setl com< cms< et< fo<| compiler make inc< sw< sts<`
2. correct value: `setl com< cms< et< fo< inc< sw< sts< | compiler make`
While at it, let's also document the g:yaml_recommended_style variable.
closes: #17179
Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Vincent Law <vlaw@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 77bf5f3..018dbca 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt* For Vim version 9.1. Last change: 2025 Apr 19
+*filetype.txt* For Vim version 9.1. Last change: 2025 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1043,6 +1043,13 @@
The mappings can be disabled with: >
let g:no_vim_maps = 1
+YAML *ft-yaml-plugin*
+By default, the YAML filetype plugin enables the following options: >
+ setlocal shiftwidth=2 softtabstop=2
+
+To disable this, set the following variable: >
+ let g:yaml_recommended_style = 0
+
ZIG *ft-zig-plugin*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index d51afbf..6369770 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -7531,6 +7531,7 @@
ft-xml-syntax syntax.txt /*ft-xml-syntax*
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
ft-yaml-indent indent.txt /*ft-yaml-indent*
+ft-yaml-plugin filetype.txt /*ft-yaml-plugin*
ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
ft-zig-plugin filetype.txt /*ft-zig-plugin*
ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin*
diff --git a/runtime/ftplugin/yaml.vim b/runtime/ftplugin/yaml.vim
index 4e12350..12036a8 100644
--- a/runtime/ftplugin/yaml.vim
+++ b/runtime/ftplugin/yaml.vim
@@ -1,7 +1,8 @@
" Vim filetype plugin file
" Language: YAML (YAML Ain't Markup Language)
" Previous Maintainer: Nikolai Weibull <now@bitwi.se> (inactive)
-" Last Change: 2024 Oct 04
+" Last Change: 2024 Oct 04
+" 2025 Apr 22 by Vim project re-order b:undo_ftplugin (#17179)
if exists("b:did_ftplugin")
finish
@@ -16,20 +17,25 @@
setlocal comments=:# commentstring=#\ %s expandtab
setlocal formatoptions-=t formatoptions+=croql
-" rime input method engine uses `*.custom.yaml` as its config files
-if expand('%:r:e') ==# 'custom'
- if !exists('current_compiler')
- compiler rime_deployer
- let b:undo_ftplugin ..= "| compiler make"
- endif
- setlocal include=__include:\\s*
- let b:undo_ftplugin ..= " inc<"
-endif
-
-if !exists("g:yaml_recommended_style") || g:yaml_recommended_style != 0
+if get(g:, "yaml_recommended_style",1)
let b:undo_ftplugin ..= " sw< sts<"
setlocal shiftwidth=2 softtabstop=2
endif
+" rime input method engine(https://rime.im/)
+" uses `*.custom.yaml` as its config files
+if expand('%:r:e') ==# 'custom'
+ " `__include` command in `*.custom.yaml`
+ " see: https://github.com/rime/home/wiki/Configuration#%E5%8C%85%E5%90%AB
+ setlocal include=__include:\\s*
+ let b:undo_ftplugin ..= " inc<"
+
+ if !exists('current_compiler')
+ compiler rime_deployer
+ let b:undo_ftplugin ..= " | compiler make"
+ endif
+endif
+
+
let &cpo = s:cpo_save
unlet s:cpo_save