runtime(vimcomplete): Try catch completion of `pack_jobs->add({`
Commit:
https://github.com/vim/vim/commit/28c88ebeb7bb5937dfebd5c007bff7e94b617623
Author: Maxim Kim <
hab...@gmail.com>
Date: Wed Aug 27 17:56:41 2025 +0200
runtime(vimcomplete): Try catch completion of `pack_jobs->add({`
Fixes the issue, but not the root cause of
https://github.com/vim/vim/issues/18137
related: #18137
closes: #18138
Signed-off-by: Maxim Kim <
hab...@gmail.com>
Signed-off-by: Christian Brabandt <
c...@256bit.org>
diff --git a/runtime/autoload/vimcomplete.vim b/runtime/autoload/vimcomplete.vim
index 7536727a6..d75dfe634 100644
--- a/runtime/autoload/vimcomplete.vim
+++ b/runtime/autoload/vimcomplete.vim
@@ -3,7 +3,7 @@ vim9script
# Vim completion script
# Language: Vim script
# Maintainer: Maxim Kim <
hab...@gmail.com>
-# Last Change: 2025-08-10
+# Last Change: 2025-08-27
#
# Usage:
# setlocal omnifunc=vimcomplete#Complete
@@ -70,8 +70,11 @@ export def Complete(findstart: number, base: string): any
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Function', dup: 0}))
items = commands + functions
else
- items = getcompletion(prefix, 'cmdline')
- ->mapnew((_, v) => ({word: v->matchstr('\k\+'), kind: 'v', dup: 0}))
+ try
+ items = getcompletion(prefix, 'cmdline')
+ ->mapnew((_, v) => ({word: v->matchstr('\k\+'), kind: 'v', dup: 0}))
+ catch /E220/
+ endtry
if empty(items) && !empty(base)
items = getcompletion(base, 'expression')