ThePrimeagen/init.lua

pressing Tab doesnt autocomplete

agustinaguero97 opened this issue · 2 comments

i dont know how to explain it except using an example:

While editing a file (a .py for example), tipyng s, lsp suggest:

sorted(iterable, key, reverse)

if i press Tab, it just jumps 4 spaces, pressing C-y autocompletes, but just sorted

My .config/nvim is pretty much the one that appears on the video

ThePrimeagen has his config set-up for mappings without tabs:

local cmp = require('cmp')
local cmp_select = {behavior = cmp.SelectBehavior.Select}
local cmp_mappings = lsp.defaults.cmp_mappings({
  ['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
  ['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
  ['<C-y>'] = cmp.mapping.confirm({ select = true }),
  ["<C-Space>"] = cmp.mapping.complete(),
})

cmp_mappings['<Tab>'] = nil
cmp_mappings['<S-Tab>'] = nil

lsp.setup_nvim_cmp({
  mapping = cmp_mappings
})

His keybinds for completion are C-n for next completion item, C-p for the previous one, C-y for completion confirmation (as you commented earlier), and C-Space for completing but not accepting the completion (even I myself don't understand how this works).

If you want to change it in your local one to have Tab-key completion, search for how to do it on lsp-zero's GitHub
Hope this helps :)

thanks for the help, i fixed it with this cmp.setup, i find it more comfortable instead of C-p/C-n

local cmp_action = require('lsp-zero').cmp_action()
cmp.setup({
      mapping = {
            ['<CR>'] = cmp.mapping.confirm({select = true}),
            ['<Tab>'] = cmp_action.tab_complete(),
            ['<S-Tab>'] = cmp_action.select_prev_or_fallback(),
     }
})