diff options
author | Evgeni Chasnovski <evgeni.chasnovski@gmail.com> | 2025-02-24 00:08:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-23 14:08:26 -0800 |
commit | 268a3de0a7737155eb5ab1372a9ed76599751847 (patch) | |
tree | 19631b0c33913c785f10de98b2793d3b727b105e /test/functional | |
parent | 07c5f41da3ad5a609e74da47685f430fcc4896fe (diff) | |
download | rneovim-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.lua | 22 |
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) |