changeset 34456:e3d2ba1fd1a3

runtime(yaml): disable multiline_scalar detection by default Commit: https://github.com/vim/vim/commit/b4eb3f1e44896b12fdfa3885a78c6eaa181eaeff Author: Christian Brabandt <cb@256bit.org> Date: Thu Feb 29 17:23:51 2024 +0100 runtime(yaml): disable multiline_scalar detection by default There have been many complaints about Yaml indenting too much, because it considers values to be multi-line by default, which leads to unintended indenting for (apparently most) users. So let's hide this feature behind the new feature flag, keep it simple and prefer single line value key pairs by default. If you want the old behaviour, set the following value: > :let g:yaml_indent_multiline_scalar = 1 If not set, it will indent the same as the previous line. closes #13845 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 29 Feb 2024 17:30:10 +0100
parents fd945ac2083b
children 125dcecbfa09
files runtime/doc/indent.txt runtime/doc/tags runtime/indent/yaml.vim
diffstat 3 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1255,5 +1255,11 @@ Example of configuration: >
 This variable is equivalent to `g:vim_indent.line_continuation`.
 It's supported for backward compatibility.
 
+YAML							*ft-yaml-indent*
+
+By default, the yaml indent script does not try to detect multiline scalars. 
+If you want to enable this, set the following variable: >
+
+  let g:yaml_indent_multiline_scalar = 1
 
  vim:tw=78:ts=8:noet:ft=help:norl:
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -7364,6 +7364,7 @@ ft-xhtml-omni	insert.txt	/*ft-xhtml-omni
 ft-xml-omni	insert.txt	/*ft-xml-omni*
 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-syntax	syntax.txt	/*ft-yaml-syntax*
 ft-zimbu-plugin	filetype.txt	/*ft-zimbu-plugin*
 ft-zsh-syntax	syntax.txt	/*ft-zsh-syntax*
--- a/runtime/indent/yaml.vim
+++ b/runtime/indent/yaml.vim
@@ -3,6 +3,7 @@
 " Maintainer:	Nikolai Pavlov <zyx.vim@gmail.com>
 " Last Updates:	Lukas Reineke, "lacygoill"
 " Last Change:	2022 Jun 17
+"      2024 Feb 29 disable mulitline indent by default (The Vim project)
 
 " Only load this indent file when no other was loaded.
 if exists('b:did_indent')
@@ -138,11 +139,13 @@ function GetYAMLIndent(lnum)
         else
             return indent(prevmapline)
         endif
-    elseif prevline =~# '^\s*- '
+    elseif get(g:, 'yaml_indent_multiline_scalar', 0) &&
+        \  prevline =~# '^\s*- '
         " - List with
         "   multiline scalar
         return previndent+2
-    elseif prevline =~# s:mapkeyregex .. '\v\s*%(%(' .. s:c_ns_tag_property ..
+    elseif get(g:, 'yaml_indent_multiline_scalar', 0) &&
+        \ prevline =~# s:mapkeyregex .. '\v\s*%(%(' .. s:c_ns_tag_property ..
                 \                              '\v|' .. s:c_ns_anchor_property ..
                 \                              '\v|' .. s:block_scalar_header ..
                 \                             '\v)%(\s+|\s*%(\#.*)?$))*'