77 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			77 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" },
 | |
|   },
 | |
| })
 |