summaryrefslogtreecommitdiff
path: root/lua/plugins/cmp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/plugins/cmp.lua')
-rw-r--r--lua/plugins/cmp.lua148
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)