diff --git a/runtime/autoload/dist/vimindent.vim b/runtime/autoload/dist/vimindent.vim index 07b21538e14283..727e98352cc529 100644 --- a/runtime/autoload/dist/vimindent.vim +++ b/runtime/autoload/dist/vimindent.vim @@ -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 diff --git a/runtime/indent/testdir/vim.in b/runtime/indent/testdir/vim.in index 1ff2d0d000fa84..a3c8c920bf5ade 100644 --- a/runtime/indent/testdir/vim.in +++ b/runtime/indent/testdir/vim.in @@ -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 diff --git a/runtime/indent/testdir/vim.ok b/runtime/indent/testdir/vim.ok index fa8869b61f9dfd..56f3d98ba0581f 100644 --- a/runtime/indent/testdir/vim.ok +++ b/runtime/indent/testdir/vim.ok @@ -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