aboutsummaryrefslogtreecommitdiff
path: root/test/functional
diff options
context:
space:
mode:
authorEvgeni Chasnovski <evgeni.chasnovski@gmail.com>2025-02-24 00:08:26 +0200
committerGitHub <noreply@github.com>2025-02-23 14:08:26 -0800
commit268a3de0a7737155eb5ab1372a9ed76599751847 (patch)
tree19631b0c33913c785f10de98b2793d3b727b105e /test/functional
parent07c5f41da3ad5a609e74da47685f430fcc4896fe (diff)
downloadrneovim-268a3de0a7737155eb5ab1372a9ed76599751847.tar.gz
rneovim-268a3de0a7737155eb5ab1372a9ed76599751847.tar.bz2
rneovim-268a3de0a7737155eb5ab1372a9ed76599751847.zip
feat(complete): CompleteDone reason "cancel", "discard" #32600
Problem: there is no way to distinguish between user's explicit completion stop/cancel and other automated reasons. Solution: update "cancel" reason to be set only on explicit CTRL-e, and set intentionally vague "discard" otherwise.
Diffstat (limited to 'test/functional')
-rw-r--r--test/functional/autocmd/completedone_spec.lua22
1 files changed, 15 insertions, 7 deletions
diff --git a/test/functional/autocmd/completedone_spec.lua b/test/functional/autocmd/completedone_spec.lua
index 36dc73842d..46c52cca8a 100644
--- a/test/functional/autocmd/completedone_spec.lua
+++ b/test/functional/autocmd/completedone_spec.lua
@@ -23,18 +23,26 @@ describe('CompleteDone', function()
feed('<C-y>')
eq('accept', eval('g:donereason'))
end)
- describe('cancel', function()
- it('on <C-e>', function()
- feed('<C-e>')
- eq('cancel', eval('g:donereason'))
- end)
+
+ it('cancel', function()
+ feed('<C-e>')
+ eq('cancel', eval('g:donereason'))
+ end)
+
+ describe('discard', function()
it('on non-keyword character', function()
+ feed('<Space>')
+ eq('discard', eval('g:donereason'))
+ end)
+
+ it('on mode change', function()
feed('<Esc>')
- eq('cancel', eval('g:donereason'))
+ eq('discard', eval('g:donereason'))
end)
+
it('when overridden by another complete()', function()
call('complete', call('col', '.'), { 'bar', 'baz' })
- eq('cancel', eval('g:donereason'))
+ eq('discard', eval('g:donereason'))
end)
end)
end)