view runtime/syntax/testdir/input/vim_ex_execute.vim @ 34563:98d8ef6b57c9

runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199) Commit: https://github.com/vim/vim/commit/61887b3d6fd8b441c90416ea7855e1fe5a9ae32c Author: dkearns <dougkearns@gmail.com> Date: Fri Mar 15 23:45:48 2024 +1100 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (https://github.com/vim/vim/issues/14199) Improve :echo and :execute highlighting. - Add better line-continuation support for both commands. - Improve the :execute command's expression argument matching. - Remove the fix for issue #9987 as this is now handled by correctly matching the parens in :echo (...) as operator parens. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Fri, 15 Mar 2024 14:00:05 +0100
parents
children
line wrap: on
line source

" Vim :execute command

" :help :execute

execute "buffer" nextbuf
execute "normal" count .. "w"
execute '!ls' | echo "theend"
execute "normal ixxx\<Esc>"
execute "e " .. fnameescape(filename)
execute "!ls " .. shellescape(filename, 1)
if 0
 execute 'while i > 5'
  echo "test"
 endwhile
endif
execute 'while i < 5 | echo i | let i = i + 1 | endwhile'

" following command is :|"
execute "call Foo()" | |

execute "call"
      "\ comment
      \ "Foo()"

execute
      \ "call"
      "\ comment
      \ "Foo()"

" :execute without {expr}
execute| echo "Foo"

" trailing comment needs |
execute "foo" | " comment


" Issue #9987 (parenthesised argument - not a function call)

" FIXME: execute is ex command not builtin function
let foo = {'arg': "call Foo()"}
execute (foo.arg)