RFC: cmdline completion (#362)
* manual support dot-repeat * cmdwin and terminal * cmdline only * Fix * fix * Improve * Fix test * Support macro * disable cmdline for now * Simplify * fmt * consume once * Ignore = type * cmdline * fmt * Improve * update * fmt * Support incsearch * fix * Add api * Avoid cmdline completion if the native_menu enabled * fix for macro * Improve * fmt * Insert-mode only by default * Update * avoid conflict * Improve default mapping * Fix * fix * similar to native * Update * Fix README.md * Improve * Use <afile>
This commit is contained in:
@@ -5,11 +5,12 @@ vim.g.loaded_cmp = true
|
||||
|
||||
local api = require "cmp.utils.api"
|
||||
local misc = require('cmp.utils.misc')
|
||||
local config = require('cmp.config')
|
||||
local highlight = require('cmp.utils.highlight')
|
||||
|
||||
-- TODO: https://github.com/neovim/neovim/pull/14661
|
||||
vim.cmd [[
|
||||
augroup cmp
|
||||
augroup ___cmp___
|
||||
autocmd!
|
||||
autocmd InsertEnter * lua require'cmp.utils.autocmd'.emit('InsertEnter')
|
||||
autocmd InsertLeave * lua require'cmp.utils.autocmd'.emit('InsertLeave')
|
||||
@@ -18,9 +19,42 @@ vim.cmd [[
|
||||
autocmd CompleteChanged * lua require'cmp.utils.autocmd'.emit('CompleteChanged')
|
||||
autocmd CompleteDone * lua require'cmp.utils.autocmd'.emit('CompleteDone')
|
||||
autocmd ColorScheme * call v:lua.cmp.plugin.colorscheme()
|
||||
autocmd CmdlineEnter * call v:lua.cmp.plugin.cmdline.enter()
|
||||
autocmd CmdlineLeave * call v:lua.cmp.plugin.cmdline.leave()
|
||||
augroup END
|
||||
]]
|
||||
|
||||
misc.set(_G, { 'cmp', 'plugin', 'cmdline', 'enter' }, function()
|
||||
if config.get().experimental.native_menu then
|
||||
return
|
||||
end
|
||||
local cmdtype = vim.fn.expand('<afile>')
|
||||
if cmdtype ~= '=' then
|
||||
vim.cmd [[
|
||||
augroup cmp-cmdline
|
||||
autocmd!
|
||||
autocmd CmdlineChanged * lua require'cmp.utils.autocmd'.emit('TextChanged')
|
||||
augroup END
|
||||
]]
|
||||
require('cmp.utils.autocmd').emit('InsertEnter')
|
||||
end
|
||||
end)
|
||||
|
||||
misc.set(_G, { 'cmp', 'plugin', 'cmdline', 'leave' }, function()
|
||||
if config.get().experimental.native_menu then
|
||||
return
|
||||
end
|
||||
local cmdtype = vim.fn.expand('<afile>')
|
||||
if cmdtype ~= '=' then
|
||||
vim.cmd [[
|
||||
augroup cmp-cmdline
|
||||
autocmd!
|
||||
augroup END
|
||||
]]
|
||||
require('cmp.utils.autocmd').emit('InsertLeave')
|
||||
end
|
||||
end)
|
||||
|
||||
misc.set(_G, { 'cmp', 'plugin', 'colorscheme' }, function()
|
||||
highlight.inherit('CmpItemAbbrDefault', 'Pmenu', {
|
||||
guibg = 'NONE',
|
||||
|
||||
Reference in New Issue
Block a user