feat(cmp): move cmp autobracket support to util class

This commit is contained in:
Folke Lemaitre 2024-05-19 21:46:54 +02:00
parent 57a31c3920
commit 39f3ebcadf
No known key found for this signature in database
GPG key ID: 41F8B1FBACAE2040
3 changed files with 22 additions and 13 deletions

19
lua/lazyvim/util/cmp.lua Normal file
View file

@ -0,0 +1,19 @@
---@class lazyvim.util.cmp
local M = {}
---@param entry cmp.Entry
function M.auto_brackets(entry)
local cmp = require("cmp")
local Kind = cmp.lsp.CompletionItemKind
local item = entry:get_completion_item()
if vim.tbl_contains({ Kind.Function, Kind.Method }, item.kind) then
local cursor = vim.api.nvim_win_get_cursor(0)
local prev_char = vim.api.nvim_buf_get_text(0, cursor[1] - 1, cursor[2], cursor[1] - 1, cursor[2] + 1, {})[1]
if prev_char ~= "(" and prev_char ~= ")" then
local keys = vim.api.nvim_replace_termcodes("()<left>", false, false, true)
vim.api.nvim_feedkeys(keys, "i", true)
end
end
end
return M