diff options
author | Doug Kearns <dougkearns@gmail.com> | 2023-08-27 18:48:51 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-08-27 18:48:51 +0200 |
commit | 6dfdff3f273dcea29099d81e3eceb871ae089998 (patch) | |
tree | 41e708b2fcc8870baf0d971bce3ef93da46123d8 | |
parent | f97f6bbf56408c0c97b4ddbe81fba858d7455b0d (diff) |
patch 9.0.1798: The 'syntax' option has no completion.v9.0.1798
Problem: The 'syntax' option has no completion.
Solution: Add syntax option completion.
closes: #12900
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
-rw-r--r-- | src/option.c | 8 | ||||
-rw-r--r-- | src/testdir/test_options.vim | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/option.c b/src/option.c index 15febb73c0..095653da75 100644 --- a/src/option.c +++ b/src/option.c @@ -7374,6 +7374,14 @@ set_context_in_set_cmd( xp->xp_pattern = p + 1; +#ifdef FEAT_SYN_HL + if (options[opt_idx].var == (char_u *)&p_syn) + { + xp->xp_context = EXPAND_OWNSYNTAX; + return; + } +#endif + if (flags & P_EXPAND) { p = options[opt_idx].var; diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim index fec8d2a94c..fc81cec4ea 100644 --- a/src/testdir/test_options.vim +++ b/src/testdir/test_options.vim @@ -374,6 +374,12 @@ func Test_set_completion() call assert_equal('"set filetype=sshdconfig', @:) call feedkeys(":set filetype=a\<C-A>\<C-B>\"\<CR>", 'xt') call assert_equal('"set filetype=' .. getcompletion('a*', 'filetype')->join(), @:) + + " Expand values for 'syntax' + call feedkeys(":set syntax=sshdconfi\<Tab>\<C-B>\"\<CR>", 'xt') + call assert_equal('"set syntax=sshdconfig', @:) + call feedkeys(":set syntax=a\<C-A>\<C-B>\"\<CR>", 'xt') + call assert_equal('"set syntax=' .. getcompletion('a*', 'syntax')->join(), @:) endfunc func Test_set_option_errors() diff --git a/src/version.c b/src/version.c index bcba0991f7..fac0300e0b 100644 --- a/src/version.c +++ b/src/version.c @@ -700,6 +700,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1798, +/**/ 1797, /**/ 1796, |