summaryrefslogtreecommitdiff
path: root/src/optionstr.c
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2021-12-03 11:09:29 +0000
committerBram Moolenaar <Bram@vim.org>2021-12-03 11:09:29 +0000
commit8658c759f05b317707d56e3b65a5ef63930c7498 (patch)
tree124fcda187b5515dfaeba4c86aa7a5e0f0888686 /src/optionstr.c
parent021ef351c2127cf8aa5668a881435a0a12774644 (diff)
downloadvim-git-8658c759f05b317707d56e3b65a5ef63930c7498.tar.gz
patch 8.2.3725: cannot use a lambda for 'completefunc' and 'omnifunc'v8.2.3725
Problem: Cannot use a lambda for 'completefunc' and 'omnifunc'. Solution: Implement lambda support. (Yegappan Lakshmanan, closes #9257)
Diffstat (limited to 'src/optionstr.c')
-rw-r--r--src/optionstr.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/optionstr.c b/src/optionstr.c
index 1b0d8a167..fe62cb360 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -2307,6 +2307,29 @@ ambw_end:
# endif
#endif
+#ifdef FEAT_COMPL_FUNC
+ // 'completefunc'
+ else if (gvarp == &p_cfu)
+ {
+ if (set_completefunc_option() == FAIL)
+ errmsg = e_invarg;
+ }
+
+ // 'omnifunc'
+ else if (gvarp == &p_ofu)
+ {
+ if (set_omnifunc_option() == FAIL)
+ errmsg = e_invarg;
+ }
+
+ // 'thesaurusfunc'
+ else if (gvarp == &p_tsrfu)
+ {
+ if (set_thesaurusfunc_option() == FAIL)
+ errmsg = e_invarg;
+ }
+#endif
+
// 'operatorfunc'
else if (varp == &p_opfunc)
{