diff options
Diffstat (limited to 'pkgs/custom-neovim/config/lua/completion.lua')
| -rw-r--r-- | pkgs/custom-neovim/config/lua/completion.lua | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/pkgs/custom-neovim/config/lua/completion.lua b/pkgs/custom-neovim/config/lua/completion.lua deleted file mode 100644 index 1ba2a91..0000000 --- a/pkgs/custom-neovim/config/lua/completion.lua +++ /dev/null @@ -1,98 +0,0 @@ -vim.opt.completeopt = {'menu', 'menuone', 'noselect'} - -require('luasnip.loaders.from_vscode').lazy_load() - -local cmp = require('cmp') -local luasnip = require('luasnip') - -local select_opts = {behavior = cmp.SelectBehavior.Select} - -cmp.setup({ - enabled = function() -- Disable in certain circumstances - local disabled = false - disabled = disabled or (vim.api.nvim_get_option_value('buftype', { buf = 0 }) == 'prompt') -- While in prompts. - disabled = disabled or (vim.fn.reg_recording() ~= '') - disabled = disabled or (vim.fn.reg_executing() ~= '') - disabled = disabled or require('cmp.config.context').in_treesitter_capture('comment') -- While in comments. - return not disabled - end, - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end - }, - sources = { - {name = 'path'}, - {name = 'nvim_lsp', keyword_length = 1}, - {name = 'buffer', keyword_length = 3}, - {name = 'luasnip', keyword_length = 2}, - }, - window = { - documentation = cmp.config.window.bordered() - }, - formatting = { - fields = {'menu', 'abbr', 'kind'}, - format = function(entry, item) - local menu_icon = { - nvim_lsp = 'λ', - luasnip = '⋗', - buffer = 'Ω', - path = '🖫', - } - - item.menu = menu_icon[entry.source.name] - return item - end, - }, - mapping = { - -- ['<Up>'] = cmp.mapping.select_prev_item(select_opts), - -- ['<Down>'] = cmp.mapping.select_next_item(select_opts), - - ['<C-p>'] = cmp.mapping.select_prev_item(select_opts), - ['<C-n>'] = cmp.mapping.select_next_item(select_opts), - - ['<C-u>'] = cmp.mapping.scroll_docs(-4), - ['<C-d>'] = cmp.mapping.scroll_docs(4), - - ['<C-e>'] = cmp.mapping.abort(), - -- ['<esc>'] = cmp.mapping.abort(), - ['<C-y>'] = cmp.mapping.confirm({select = true}), - ['<CR>'] = cmp.mapping.confirm({select = false}), - - ['<C-f>'] = cmp.mapping(function(fallback) - if luasnip.jumpable(1) then - luasnip.jump(1) - else - fallback() - end - end, {'i', 's'}), - - ['<C-b>'] = cmp.mapping(function(fallback) - if luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, {'i', 's'}), - - ['<Tab>'] = cmp.mapping(function(fallback) - local col = vim.fn.col('.') - 1 - - if cmp.visible() then - cmp.select_next_item(select_opts) - elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then - fallback() - else - -- cmp.complete() - end - end, {'i', 's'}), - - ['<S-Tab>'] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item(select_opts) - else - fallback() - end - end, {'i', 's'}), - }, -}) |
