Mercurial > vim
changeset 33012:859e539d686b v9.0.1798
patch 9.0.1798: The 'syntax' option has no completion.
Commit: https://github.com/vim/vim/commit/6dfdff3f273dcea29099d81e3eceb871ae089998
Author: Doug Kearns <dougkearns@gmail.com>
Date: Sun Aug 27 18:48:51 2023 +0200
patch 9.0.1798: The 'syntax' option has no completion.
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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 27 Aug 2023 19:00:06 +0200 |
parents | a38b40a531e6 |
children | 9cfd5f9fed6d |
files | src/option.c src/testdir/test_options.vim src/version.c |
diffstat | 3 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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;
--- 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()