diff options
Diffstat (limited to 'core/overrides/cmp.lua')
-rw-r--r-- | core/overrides/cmp.lua | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/core/overrides/cmp.lua b/core/overrides/cmp.lua deleted file mode 100644 index 2b6a9cd..0000000 --- a/core/overrides/cmp.lua +++ /dev/null @@ -1,122 +0,0 @@ -local has_words_before = function() - unpack = unpack or table.unpack - local line, col = unpack(a.nvim_win_get_cursor(0)) - return col ~= 0 and a.nvim_buf_get_lines(0, line - 1, line, true) - [1]:sub(col, col):match("%s") == nil -end - -local cmp = require('cmp') -local luasnip = require('luasnip') -require("luasnip.loaders.from_vscode").lazy_load() - -cmp.setup { - completion = { autocomplete = false, }, - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - sources = cmp.config.sources({ - { name = 'nvim_lsp', keyword_length = 3 }, - { name = 'luasnip', keyword_length = 3 }, - { name = 'path' }, - { name = 'buffer', keyword_length = 3, max_item_count = 7 }, - { name = 'calc' }, - }), - window = { - completion = { - winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None", - col_offset = -3, - side_padding = 0, - } - }, - formatting = { - fields = { "kind", "abbr", "menu" }, - format = function(entry, vim_item) - local kind_icons = { - Text = 'Tx', - Snippet = '<>', - Method = ' ', - Function = '{}', - Constructor = ' ', - Field = '""', - Variable = 'x=', - Class = '~{', - Interface = '.h', - Module = ' ', - Property = '@p', - Unit = ' ', - Value = ' ', - Enum = 'E#', - Keyword = '$1', - Color = ' ', - File = ' ', - Reference = ' ', - Folder = ' ', - EnumMember = ' ', - Constant = ' ', - Struct = ' ', - Event = ' ', - Operator = ' ', - TypeParameter = ' ', - } - local menu_items = { - buffer = "buffer", - nvim_lsp = "LSP", - luasnip = "luasnip", - nvim_lua = "lua", - calc = "calc", - } - - vim_item.kind = string.format(' %s ', kind_icons[vim_item.kind]) - vim_item.menu = string.format(' (%s)', menu_items[entry.source.name]) - - return vim_item - end - }, - mapping = cmp.mapping.preset.insert({ - ["<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" }), - ['<CR>'] = cmp.mapping.confirm({ select = true }), - ['<ESC>'] = cmp.mapping.close(), - }), - sorting = { - comparators = { - cmp.config.compare.offset, - cmp.config.compare.exact, - cmp.config.compare.score, - require "cmp-under-comparator".under, - cmp.config.compare.kind, - cmp.config.compare.sort_text, - cmp.config.compare.length, - cmp.config.compare.order, - }, - }, - enabled = function() - local context = require 'cmp.config.context' - if a.nvim_get_mode().mode == 'c' then - return true - else - return not context.in_treesitter_capture("comment") - and not context.in_syntax_group("Comment") - end - end -} |