aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/vim_spec.lua
diff options
context:
space:
mode:
authorSean Dewar <seandewar@users.noreply.github.com>2021-09-15 00:35:33 +0100
committerSean Dewar <seandewar@users.noreply.github.com>2021-09-15 13:34:54 +0100
commit6436100b6e4baeee8685677ae4319e71580caa3c (patch)
tree3745fa1102cb89d3ed238fcf6bc1786fe89fcf6b /test/functional/api/vim_spec.lua
parent04cde576edc1cb4795769ef2520416997c0f79c0 (diff)
downloadrneovim-6436100b6e4baeee8685677ae4319e71580caa3c.tar.gz
rneovim-6436100b6e4baeee8685677ae4319e71580caa3c.tar.bz2
rneovim-6436100b6e4baeee8685677ae4319e71580caa3c.zip
backport: fix(:source, nvim_exec): handle Vimscript line continuations #14809
Problem: Anonymous :source (no args) and nvim_exec() don't support Vimscript line continuations. Solution: Factor out the concat logic into concat_continued_line() and a CONCAT_CONTINUED_LINES macro for simple concatenations where lines are fetched individually. Closes #14807
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r--test/functional/api/vim_spec.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 91d2745130..227f168298 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -115,6 +115,19 @@ describe('API', function()
nvim('exec','autocmd BufAdd * :let x1 = "Hello"', false)
nvim('command', 'new foo')
eq('Hello', request('nvim_eval', 'g:x1'))
+
+ -- Line continuations
+ nvim('exec', [[
+ let abc = #{
+ \ a: 1,
+ "\ b: 2,
+ \ c: 3
+ \ }]], false)
+ eq({a = 1, c = 3}, request('nvim_eval', 'g:abc'))
+
+ -- try no spaces before continuations to catch off-by-one error
+ nvim('exec', 'let ab = #{\n\\a: 98,\n"\\ b: 2\n\\}', false)
+ eq({a = 98}, request('nvim_eval', 'g:ab'))
end)
it('non-ASCII input', function()