You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Greetings,
I noticed that pressing <Tab> on the Cmdline mode stopped working, even though wildmenu was set to on.
I thought the mappings were the culprit and using :verbose map <Tab> only showed:
s <Tab> * <Cmd>call v:lua.cmp.utils.keymap.set_map(11)<CR>
Last set from Lua
Tried locating where v:lua.cmp.utils.keymap.set_map was being set and it turns out to be in nvim-cmp\lua\cmp\utils\keymap.lua, line 228 here.
Added a print to see what was being set (is there a better way to debug those?) and the outcome was:
So, <Tab> is being set to something in Cmdline mode, even though :verbose map <Tab> didn't show it. (Why's that?)
I don't really know if the above has any relation with the issue.
So I went for the minimum config and found out that, when adding nvim-cmp with cmp-path, the issue would happen. <Tab> is set in config-cmp.lua but it seems it's not respecting that config.
Also, opening Neovim without doing anything, since it lazy loads the plugin because of event being set(? I suppose, new at packer), if I enter the Cmdline mode, autocompletion works. After going into Insert mode and triggering it an event, autocomplete breaks.
Disabling cmp-path makes Cmdline autocomplete work back again.
Vim type (vim/gvim/neovim): Neovim
Vim version: v0.7.0-dev+1201-g5760cf87b
OS: Windows
Thanks a lot!
init.lua:
require"plugins"
plugins.lua:
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
packer_boostrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
end
vim.cmd [[
augroup packer_user_config
autocmd!
autocmd BufWritePost */nvim/lua/plugins.lua source <afile> | PackerSync
augroup end
]]
local status_ok, packer = pcall(require, "packer")
if not status_ok then
return
end
packer.init {
display = {
open_fn = function()
return require('packer.util').float { border = "rounded" }
end,
},
}
return packer.startup(function(use)
use { "wbthomason/packer.nvim" }
use { "hrsh7th/nvim-cmp", config = "require('config-cmp')", event = {'BufRead', 'BufNewFile', 'InsertEnter'}}
use { "hrsh7th/cmp-path", after = "nvim-cmp" }
if packer_boostrap then
require('packer').sync()
end
end)
config-cmp.lua:
local cmp = require'cmp'
local luasnip = require"luasnip"
local cmp_kinds = {
Text = ' ',
Method = ' ',
Function = ' ',
Constructor = ' ',
Field = ' ',
Variable = ' ',
Class = ' ',
Interface = ' ',
Module = ' ',
Property = ' ',
Unit = ' ',
Value = ' ',
Enum = ' ',
Keyword = ' ',
Snippet = ' ',
Color = ' ',
File = ' ',
Reference = ' ',
Folder = ' ',
EnumMember = ' ',
Constant = ' ',
Struct = ' ',
Event = ' ',
Operator = ' ',
TypeParameter = ' ',
}
local has_words_before = function()
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
cmp.setup({
mapping = {
['<C-d>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
['<C-y>'] = cmp.config.disable, -- If you want to remove the default `<C-y>` mapping, You can specify `cmp.config.disable` value.
['<C-e>'] = cmp.mapping({
i = cmp.mapping.abort(),
c = cmp.mapping.close(),
}),
['<CR>'] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Insert,
select = false
}),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif has_words_before() then
cmp.complete()
else
fallback()
end
end, { "i", "s" }),
},
sources = cmp.config.sources({
{ name = 'luasnip' }, -- For luasnip users.
},
{
{ name = 'buffer' },
}),
formatting = {
fields = {"kind", "abbr", "menu"},
format = function(entry, vim_item)
vim_item.kind = string.format('%s %s', cmp_kinds[vim_item.kind] or "", vim_item.kind)
vim_item.menu = ({
nvim_lsp = "[LSP]",
nvim_lua = "[Lua]",
luasnip = "[LuaSnip]",
buffer = "[Buffer]",
})[entry.source.name]
return vim_item
end,
},
experimental = {
ghost_text = true,
},
})
-- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({
{ name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
}, {
{ name = 'buffer' },
})
})
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline('/', {
sources = {
{ name = 'buffer' }
}
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
sources = cmp.config.sources({
{ name = 'path' }
}, {
{ name = 'cmdline' }
})
})
The text was updated successfully, but these errors were encountered:
Greetings,
I noticed that pressing
<Tab>
on the Cmdline mode stopped working, even thoughwildmenu
was set to on.I thought the mappings were the culprit and using
:verbose map <Tab>
only showed:Tried locating where
v:lua.cmp.utils.keymap.set_map
was being set and it turns out to be innvim-cmp\lua\cmp\utils\keymap.lua
, line 228 here.Added a print to see what was being set (is there a better way to debug those?) and the outcome was:
So,
<Tab>
is being set to something in Cmdline mode, even though:verbose map <Tab>
didn't show it. (Why's that?)I don't really know if the above has any relation with the issue.
So I went for the minimum config and found out that, when adding nvim-cmp with cmp-path, the issue would happen.
<Tab>
is set inconfig-cmp.lua
but it seems it's not respecting that config.Also, opening Neovim without doing anything, since it lazy loads the plugin because of
event
being set(? I suppose, new at packer), if I enter the Cmdline mode, autocompletion works. After going into Insert mode and triggering it an event, autocomplete breaks.Disabling cmp-path makes Cmdline autocomplete work back again.
vim
/gvim
/neovim
): NeovimThanks a lot!
init.lua:
plugins.lua:
config-cmp.lua:
The text was updated successfully, but these errors were encountered: