diff options
Diffstat (limited to 'lua/plugins/cmp.lua')
-rw-r--r-- | lua/plugins/cmp.lua | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua deleted file mode 100644 index b5a302d..0000000 --- a/lua/plugins/cmp.lua +++ /dev/null @@ -1,148 +0,0 @@ -local has_words_before = function() - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil -end - --- luasnip setup -local luasnip = require 'luasnip' - -local kind_icons = { - Text = "", - Method = "", - Function = "", - Constructor = "", - Field = "", - Variable = "", - Class = "", - Interface = "", - Module = "", - Property = "", - Unit = "", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "", - Event = "", - Operator = "", - TypeParameter = "", -} - --- nvim-cmp setup -local cmp = require('cmp') -cmp.setup { - formatting = { - format = function(entry, vim_item) - local label = vim_item.abbr - local truncated_label = vim.fn.strcharpart(label, 0, 50) - if truncated_label ~= label then - vim_item.abbr = truncated_label .. '...' - end - vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) - vim_item.menu = ({ - buffer = "[Buffer]", - nvim_lsp = "[LSP]", - luasnip = "[LuaSnip]", - nvim_lua = "[Lua]", - latex_symbols = "[LaTeX]", - })[entry.source.name] - return vim_item - end - }, - snippet = { - expand = function(args) - require('luasnip').lsp_expand(args.body) -- For `luasnip` users. - end, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - ['<C-d>'] = cmp.mapping.scroll_docs(-4), - ['<C-f>'] = cmp.mapping.scroll_docs(4), - ['<C-Space>'] = cmp.mapping.complete(), - ['<CR>'] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Insert, - select = true, - }, - ['<Tab>'] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif has_words_before() then - cmp.complete() - 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' }), - }), - sources = cmp.config.sources({ - { name = 'luasnip', option = { use_show_condition = false } }, - { name = 'nvim_lsp' }, - { name = 'nvim_lsp_signature_help' }, - { name = 'path' }, - { name = 'buffer' }, - { name = 'nvim_lua' }, - }), -} --- Set configuration for specific filetype. -cmp.setup.filetype('gitcommit', { - sources = cmp.config.sources({ - { name = 'git' }, -- You can specify the `cmp_git` source if you were installed it. - { name = 'buffer' }, - }), - require("cmp_git").setup(), -}) - --- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). -require'cmp'.setup.cmdline('/', { - completion = { autocomplete = false }, - sources = { - -- { name = 'buffer' } - { name = 'buffer', opts = { keyword_pattern = [=[[^[:blank:]].*]=] } } - } -}) - --- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). -cmp.setup.cmdline(':', { - completion = { autocomplete = false }, - sources = cmp.config.sources({ - { name = 'path' } - }, { - { name = 'cmdline' } - }) -}) - --- If you want insert `(` after select function or method item -local cmp_autopairs = require('nvim-autopairs.completion.cmp') -local cmp = require('cmp') -cmp.event:on( -'confirm_done', -cmp_autopairs.on_confirm_done() -) - --- lazy loading to get in memory snippets of languages you use -require("luasnip/loaders/from_vscode").lazy_load() -local keymap = vim.api.nvim_set_keymap -local opts = { noremap = true, silent = true } -keymap("i", "<c-j>", "<cmd>lua require'luasnip'.jump(1)<CR>", opts) -keymap("s", "<c-j>", "<cmd>lua require'luasnip'.jump(1)<CR>", opts) -keymap("i", "<c-k>", "<cmd>lua require'luasnip'.jump(-1)<CR>", opts) -keymap("s", "<c-k>", "<cmd>lua require'luasnip'.jump(-1)<CR>", opts) |