patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
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)
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 6c04316..2f7d565 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -3009,6 +3009,37 @@
&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