]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(vim): Fix indent after :silent! function
authorDoug Kearns <dougkearns@gmail.com>
Sun, 10 Nov 2024 19:36:28 +0000 (20:36 +0100)
committerChristian Brabandt <cb@256bit.org>
Sun, 10 Nov 2024 19:36:28 +0000 (20:36 +0100)
See https://github.com/vim/vim/commit/35699f17497dcdcfdd747fedaef28f208ac6eb5f#commitcomment-148816912

closes: #16009

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/autoload/dist/vimindent.vim
runtime/indent/testdir/vim.in
runtime/indent/testdir/vim.ok

index 07b21538e14283dc3ae520f244d8ac1a26a74742..727e98352cc529a0f5f92ab6d697f670955ac319 100644 (file)
@@ -2,10 +2,11 @@ vim9script
 
 # Language:     Vim script
 # Maintainer:   github user lacygoill
-# Last Change:  2023 Jun 29
+# Last Change:  2024 Nov 08
 #
-# Includes Changes from Vim:
+# Includes changes from The Vim Project:
 #  - 2024 Feb 09: Fix indent after literal Dict (A. Radev via #13966)
+#  - 2024 Nov 08: Fix indent after :silent! function (D. Kearns via #16009)
 
 # NOTE: Whenever you change the code, make sure the tests are still passing:
 #
@@ -295,7 +296,7 @@ patterns = []
     endfor
 }
 
-const STARTS_NAMED_BLOCK: string = $'^\s*\%(sil\%[ent]\s\+\)\=\%({patterns->join('\|')}\)\>\%(\s\|$\|!\)\@='
+const STARTS_NAMED_BLOCK: string = $'^\s*\%(sil\%[ent]!\=\s\+\)\=\%({patterns->join('\|')}\)\>\%(\s\|$\|!\)\@='
 
 # STARTS_CURLY_BLOCK {{{3
 
index 1ff2d0d000fa84e8ced5137b023fd1587c25a8d5..a3c8c920bf5adea1e4995dbb97394b3572f44289 100644 (file)
@@ -951,3 +951,12 @@ endenum
 call prop_type_add('indent_after_literal_dict', #{ foo: 'bar' })
 call prop_type_delete('indent_after_literal_dict')
 " END_INDENT
+
+" START_INDENT
+silent function Foo()
+return 42
+endfunction
+silent! function Bar()
+return 42
+endfunction
+" END_INDENT
index fa8869b61f9dfd834288c5720fd47bb95c7e4790..56f3d98ba0581f138a7467cc508a75149bcec10c 100644 (file)
@@ -951,3 +951,12 @@ endenum
 call prop_type_add('indent_after_literal_dict', #{ foo: 'bar' })
 call prop_type_delete('indent_after_literal_dict')
 " END_INDENT
+
+" START_INDENT
+silent function Foo()
+    return 42
+endfunction
+silent! function Bar()
+    return 42
+endfunction
+" END_INDENT