78 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
		
		
			
		
	
	
			78 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
|  | local cmp = require "cmp" | ||
|  | local ls = require "luasnip" | ||
|  | 
 | ||
|  | vim.opt.shortmess:append "c" | ||
|  | 
 | ||
|  | cmp.setup { | ||
|  |   snippet = { | ||
|  |     expand = function(args) | ||
|  |       ls.lsp_expand(args.body) | ||
|  |     end, | ||
|  |   }, | ||
|  | 
 | ||
|  |   mapping = cmp.mapping.preset.insert { | ||
|  |     ["<C-e>"] = cmp.mapping.close(), | ||
|  | 
 | ||
|  |     ["<C-h>"] = cmp.mapping(function() | ||
|  |       if ls.locally_jumpable(-1) then | ||
|  |         ls.jump(-1) | ||
|  |       end | ||
|  |     end, { "i", "s" }), | ||
|  | 
 | ||
|  |     ["<C-l>"] = cmp.mapping(function() | ||
|  |       if ls.expand_or_locally_jumpable() then | ||
|  |         ls.expand_or_jump() | ||
|  |       end | ||
|  |     end, { "i", "s" }), | ||
|  | 
 | ||
|  |     ["<C-y>"] = cmp.mapping.confirm { select = true }, | ||
|  |     ["<tab>"] = cmp.config.disable, | ||
|  |   }, | ||
|  | 
 | ||
|  |   sources = { | ||
|  |     { name = "nvim_lsp" }, | ||
|  |     { name = "nvim_lua" }, | ||
|  |     { name = "luasnip" }, | ||
|  |     { name = "buffer" }, | ||
|  |     { name = "calc" }, | ||
|  |   }, | ||
|  | 
 | ||
|  |   sorting = { | ||
|  |     comparators = { | ||
|  |       cmp.config.compare.offset, | ||
|  |       cmp.config.compare.exact, | ||
|  |       cmp.config.compare.score, | ||
|  |       cmp.config.compare.kind, | ||
|  |       cmp.config.compare.sort_text, | ||
|  |       cmp.config.compare.length, | ||
|  |       cmp.config.compare.order, | ||
|  |     }, | ||
|  |   }, | ||
|  | 
 | ||
|  |   formatting = { | ||
|  |     format = require("lspkind").cmp_format { | ||
|  |       with_text = true, | ||
|  |       menu = { | ||
|  |         buffer = "[buf]", | ||
|  |         cmp_tabnine = "[tn]", | ||
|  |         luasnip = "[snip]", | ||
|  |         nvim_lsp = "[lsp]", | ||
|  |         nvim_lua = "[lua]", | ||
|  |         path = "[path]", | ||
|  |       }, | ||
|  |     }, | ||
|  |   }, | ||
|  | 
 | ||
|  |   experimental = { | ||
|  |     ghost_text = true, | ||
|  |     native_menu = false, | ||
|  |   }, | ||
|  | } | ||
|  | 
 | ||
|  | cmp.setup.filetype({ "mysql", "sql" }, { | ||
|  |   sources = { | ||
|  |     { name = "vim-dadbod-completion" }, | ||
|  |     { name = "buffer" }, | ||
|  |   }, | ||
|  | }) |