From 272036b8fa7f35dc6e0de20788380b725dd85f20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Michalke?= Date: Tue, 28 Dec 2021 22:41:06 +0100 Subject: [PATCH] Implement support for the Command-line window. --- README.md | 3 +++ lua/cmp_cmdline/init.lua | 3 ++- plugin/cmp-cmdline.vim | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 plugin/cmp-cmdline.vim diff --git a/README.md b/README.md index f888e5d..08a5880 100644 --- a/README.md +++ b/README.md @@ -22,4 +22,7 @@ require'cmp'.setup.cmdline('/', { }) ``` +Completions for Command-line window `q:` +Add `{ name = 'cmdline' }` to your nvim-cmp sources in the same way, as you would add any other source. + For the buffer source to work, [cmp-buffer](https://github.com/hrsh7th/cmp-buffer) is needed. diff --git a/lua/cmp_cmdline/init.lua b/lua/cmp_cmdline/init.lua index a81cbfe..4e52716 100644 --- a/lua/cmp_cmdline/init.lua +++ b/lua/cmp_cmdline/init.lua @@ -51,7 +51,8 @@ source.get_trigger_characters = function() end source.is_available = function() - return vim.api.nvim_get_mode().mode == 'c' + return (vim.api.nvim_get_mode().mode == 'c' + or vim.api.nvim_get_var('cmp_cmdline_cmdwin_active') == true) end source.complete = function(self, params, callback) diff --git a/plugin/cmp-cmdline.vim b/plugin/cmp-cmdline.vim new file mode 100644 index 0000000..e64f6d9 --- /dev/null +++ b/plugin/cmp-cmdline.vim @@ -0,0 +1,6 @@ +let g:cmp_cmdline_cmdwin_active = v:false +augroup cmp_cmdline + autocmd! + autocmd CmdWinEnter * let g:cmp_cmdline_cmdwin_active = v:true + autocmd CmdWinLeave * let g:cmp_cmdline_cmdwin_active = v:false +augroup END