diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-08-09 14:33:55 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-08-09 14:33:55 +0200 |
commit | 3896a105eb3697b1a399255ac31c742c8840bd69 (patch) | |
tree | 6c01db70d33fdbd680389734dd19fc7a09027134 | |
parent | 94f6c06ac54401ea34a07f8c45242f11bd1e1e3a (diff) | |
download | vim-git-3896a105eb3697b1a399255ac31c742c8840bd69.tar.gz |
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline windowv8.2.1403
Problem: Vim9: Vim highlighting fails in cmdline window if it uses Vim9
commands.
Solution: Allow using :vim9script, :import and :export while in the cmdline
window. (closes #6656)
-rw-r--r-- | src/ex_cmds.h | 6 | ||||
-rw-r--r-- | src/testdir/test_vim9_script.vim | 31 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 36 insertions, 3 deletions
diff --git a/src/ex_cmds.h b/src/ex_cmds.h index c65b956ee..508ecb870 100644 --- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -572,7 +572,7 @@ EXCMD(CMD_exit, "exit", ex_exit, EX_RANGE|EX_WHOLEFOLD|EX_BANG|EX_FILE1|EX_ARGOPT|EX_DFLALL|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK, ADDR_LINES), EXCMD(CMD_export, "export", ex_export, - EX_EXTRA|EX_NOTRLCOM|EX_LOCK_OK, + EX_EXTRA|EX_NOTRLCOM|EX_CMDWIN|EX_LOCK_OK, ADDR_NONE), EXCMD(CMD_exusage, "exusage", ex_exusage, EX_TRLBAR, @@ -698,7 +698,7 @@ EXCMD(CMD_imenu, "imenu", ex_menu, EX_RANGE|EX_ZEROR|EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK, ADDR_OTHER), EXCMD(CMD_import, "import", ex_import, - EX_EXTRA|EX_NOTRLCOM|EX_LOCK_OK, + EX_EXTRA|EX_NOTRLCOM|EX_CMDWIN|EX_LOCK_OK, ADDR_NONE), EXCMD(CMD_inoremap, "inoremap", ex_map, EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK, @@ -1670,7 +1670,7 @@ EXCMD(CMD_vimgrepadd, "vimgrepadd", ex_vimgrep, EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE, ADDR_OTHER), EXCMD(CMD_vim9script, "vim9script", ex_vim9script, - EX_LOCK_OK, + EX_CMDWIN|EX_LOCK_OK, ADDR_NONE), EXCMD(CMD_viusage, "viusage", ex_viusage, EX_TRLBAR, diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index 6c04316bc..2f7d5654d 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -3009,6 +3009,37 @@ def Test_vim9_autoload() &rtp = save_rtp enddef +def Test_cmdline_win() + # if the Vim syntax highlighting uses Vim9 constructs they can be used from + # the command line window. + mkdir('rtp/syntax', 'p') + let export_lines =<< trim END + vim9script + export let That = 'yes' + END + writefile(export_lines, 'rtp/syntax/Xexport.vim') + let import_lines =<< trim END + vim9script + import That from './Xexport.vim' + END + writefile(import_lines, 'rtp/syntax/vim.vim') + let save_rtp = &rtp + &rtp = getcwd() .. '/rtp' .. ',' .. &rtp + syntax on + augroup CmdWin + autocmd CmdwinEnter * g:got_there = 'yes' + augroup END + # this will open and also close the cmdline window + feedkeys('q:', 'xt') + assert_equal('yes', g:got_there) + + augroup CmdWin + au! + augroup END + &rtp = save_rtp + delete('rtp', 'rf') +enddef + " Keep this last, it messes up highlighting. def Test_substitute_cmd() new diff --git a/src/version.c b/src/version.c index 697a47cf9..ddd4354e6 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1403, +/**/ 1402, /**/ 1401, |