mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#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>
This commit is contained in:
@@ -15,6 +15,24 @@ echo "Answer = "
|
||||
"\ comment
|
||||
\ 42
|
||||
|
||||
echo
|
||||
\ "Answer = "
|
||||
"\ comment
|
||||
\ 42
|
||||
|
||||
" :echo without {expr}
|
||||
echo| echo "Foo"
|
||||
|
||||
" trailing comment needs |
|
||||
echo "foo" | " comment
|
||||
|
||||
|
||||
" Issue #9987 (parenthesised argument - not a function call)
|
||||
|
||||
let foo = {'end': 123}
|
||||
|
||||
if 123
|
||||
echo (foo.end)
|
||||
else
|
||||
echo 'bar'
|
||||
endif
|
||||
|
41
runtime/syntax/testdir/input/vim_ex_execute.vim
Normal file
41
runtime/syntax/testdir/input/vim_ex_execute.vim
Normal file
@@ -0,0 +1,41 @@
|
||||
" 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)
|
Reference in New Issue
Block a user