mirror of
				https://github.com/dcarrillo/dotfiles.git
				synced 2025-11-04 06:19:09 +00:00 
			
		
		
		
	[neovim] Clean cmp keymaps
This commit is contained in:
		@@ -172,18 +172,9 @@ require("lazy").setup({
 | 
			
		||||
		dependencies = {
 | 
			
		||||
			"hrsh7th/cmp-buffer",
 | 
			
		||||
			"hrsh7th/cmp-path",
 | 
			
		||||
			"saadparwaiz1/cmp_luasnip",
 | 
			
		||||
			"hrsh7th/cmp-nvim-lsp",
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	-- {
 | 
			
		||||
	-- 	"Exafunction/codeium.nvim",
 | 
			
		||||
	-- 	event = "BufEnter",
 | 
			
		||||
	-- },
 | 
			
		||||
 | 
			
		||||
	-- Snippets
 | 
			
		||||
	{ "L3MON4D3/LuaSnip", version = "v2.*", event = "InsertEnter" },
 | 
			
		||||
	{ "rafamadriz/friendly-snippets" },
 | 
			
		||||
 | 
			
		||||
	-- LSP
 | 
			
		||||
	{ "neovim/nvim-lspconfig", event = "BufReadPre" },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,4 @@
 | 
			
		||||
local cmp = require("cmp")
 | 
			
		||||
local luasnip = require("luasnip")
 | 
			
		||||
 | 
			
		||||
require("luasnip/loaders/from_vscode").lazy_load()
 | 
			
		||||
 | 
			
		||||
local check_backspace = function()
 | 
			
		||||
	local col = vim.fn.col(".") - 1
 | 
			
		||||
	return col == 0 or vim.fn.getline("."):sub(col, col):match("%s")
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local kind_icons = {
 | 
			
		||||
	Array = " ",
 | 
			
		||||
@@ -37,7 +29,6 @@ local kind_icons = {
 | 
			
		||||
	Package = " ",
 | 
			
		||||
	Property = " ",
 | 
			
		||||
	Reference = " ",
 | 
			
		||||
	Snippet = " ",
 | 
			
		||||
	String = " ",
 | 
			
		||||
	Struct = " ",
 | 
			
		||||
	Text = " ",
 | 
			
		||||
@@ -48,52 +39,19 @@ local kind_icons = {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cmp.setup({
 | 
			
		||||
	snippet = {
 | 
			
		||||
		expand = function(args)
 | 
			
		||||
			luasnip.lsp_expand(args.body)
 | 
			
		||||
		end,
 | 
			
		||||
	},
 | 
			
		||||
	mapping = cmp.mapping.preset.insert({
 | 
			
		||||
		["<C-k>"] = cmp.mapping.select_prev_item(),
 | 
			
		||||
		["<C-j>"] = cmp.mapping.select_next_item(),
 | 
			
		||||
		["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
 | 
			
		||||
		["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
 | 
			
		||||
		["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
 | 
			
		||||
		["<C-q>"] = cmp.mapping({
 | 
			
		||||
			i = cmp.mapping.abort(),
 | 
			
		||||
			c = cmp.mapping.close(),
 | 
			
		||||
		}),
 | 
			
		||||
		-- Accept currently selected item. If none selected, `select` first item.
 | 
			
		||||
		-- Set `select` to `false` to only confirm explicitly selected items.
 | 
			
		||||
		["<CR>"] = cmp.mapping.confirm({ select = true }),
 | 
			
		||||
		["<C-j>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
 | 
			
		||||
		["<C-k>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
 | 
			
		||||
		["<C-Space>"] = cmp.mapping.complete(),
 | 
			
		||||
		["<C-q>"] = cmp.mapping.abort(),
 | 
			
		||||
		["<CR>"] = cmp.mapping.confirm(),
 | 
			
		||||
		["<Tab>"] = cmp.mapping(function(fallback)
 | 
			
		||||
			if cmp.visible() then
 | 
			
		||||
			cmp.select_next_item()
 | 
			
		||||
			elseif luasnip.expandable() then
 | 
			
		||||
				luasnip.expand()
 | 
			
		||||
			elseif luasnip.expand_or_jumpable() then
 | 
			
		||||
				luasnip.expand_or_jump()
 | 
			
		||||
			elseif check_backspace() then
 | 
			
		||||
		end),
 | 
			
		||||
		["<C-CR>"] = function(fallback)
 | 
			
		||||
			cmp.abort()
 | 
			
		||||
			fallback()
 | 
			
		||||
			else
 | 
			
		||||
				fallback()
 | 
			
		||||
			end
 | 
			
		||||
		end, {
 | 
			
		||||
			"i",
 | 
			
		||||
			"s",
 | 
			
		||||
		}),
 | 
			
		||||
		["<S-Tab>"] = cmp.mapping(function(fallback)
 | 
			
		||||
			if cmp.visible() then
 | 
			
		||||
				cmp.select_prev_item()
 | 
			
		||||
			elseif luasnip.jumpable(-1) then
 | 
			
		||||
				luasnip.jump(-1)
 | 
			
		||||
			else
 | 
			
		||||
				fallback()
 | 
			
		||||
			end
 | 
			
		||||
		end, {
 | 
			
		||||
			"i",
 | 
			
		||||
			"s",
 | 
			
		||||
		}),
 | 
			
		||||
		end,
 | 
			
		||||
	}),
 | 
			
		||||
	formatting = {
 | 
			
		||||
		fields = { "kind", "abbr", "menu" },
 | 
			
		||||
@@ -101,7 +59,6 @@ cmp.setup({
 | 
			
		||||
			vim_item.kind = kind_icons[vim_item.kind]
 | 
			
		||||
			vim_item.menu = ({
 | 
			
		||||
				nvim_lsp = "[lsp]",
 | 
			
		||||
				luasnip = "[snip]",
 | 
			
		||||
				buffer = "[local]",
 | 
			
		||||
				copilot = "[AI]",
 | 
			
		||||
				path = "",
 | 
			
		||||
@@ -112,7 +69,6 @@ cmp.setup({
 | 
			
		||||
	},
 | 
			
		||||
	sources = {
 | 
			
		||||
		{ name = "nvim_lsp" },
 | 
			
		||||
		{ name = "luasnip" },
 | 
			
		||||
		{ name = "buffer" },
 | 
			
		||||
		{ name = "path" },
 | 
			
		||||
		{ name = "copilot" },
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user