mirror of
				https://github.com/WarrenHood/dotfiles.git
				synced 2025-11-04 13:38:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
-- Setup nvim-cmp
 | 
						|
local cmp = require("cmp")
 | 
						|
 | 
						|
cmp.setup({
 | 
						|
    snippet = {
 | 
						|
        -- REQUIRED - you must specify a snippet engine
 | 
						|
        expand = function(args)
 | 
						|
            require('luasnip').lsp_expand(args.body)
 | 
						|
        end,
 | 
						|
        vim.lsp.buf.format,
 | 
						|
    },
 | 
						|
    window = {
 | 
						|
 | 
						|
        -- completion = cmp.config.window.bordered(),
 | 
						|
        -- documentation = cmp.config.window.bordered(),
 | 
						|
    },
 | 
						|
    mapping = cmp.mapping.preset.insert({
 | 
						|
        ["<C-b>"] = cmp.mapping.scroll_docs(-4),
 | 
						|
        ["<C-f>"] = cmp.mapping.scroll_docs(4),
 | 
						|
 | 
						|
        ["<C-Space>"] = cmp.mapping.complete(),
 | 
						|
        ["<C-e>"] = cmp.mapping.abort(),
 | 
						|
        ["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
 | 
						|
        ["<Tab>"] = cmp.mapping(function(fallback)
 | 
						|
            if cmp.visible() then
 | 
						|
                cmp.select_next_item()
 | 
						|
            else
 | 
						|
                fallback()
 | 
						|
            end
 | 
						|
        end),
 | 
						|
        ["<S-Tab>"] = cmp.mapping(function(fallback)
 | 
						|
            if cmp.visible() then
 | 
						|
                cmp.select_prev_item()
 | 
						|
            else
 | 
						|
                fallback()
 | 
						|
            end
 | 
						|
        end),
 | 
						|
    }),
 | 
						|
    sources = cmp.config.sources({
 | 
						|
        { name = "nvim_lsp" },
 | 
						|
        { name = "luasnip" },
 | 
						|
        { name = "treesitter" },
 | 
						|
    }, {
 | 
						|
        { name = "buffer" },
 | 
						|
    }),
 | 
						|
})
 | 
						|
 | 
						|
-- Set configuration for specific filetype.
 | 
						|
cmp.setup.filetype("gitcommit", {
 | 
						|
    sources = cmp.config.sources({
 | 
						|
        { name = "cmp_git" }, -- You can specify the `cmp_git` source if you were installed it.
 | 
						|
    }, {
 | 
						|
        { name = "buffer" },
 | 
						|
    }),
 | 
						|
})
 | 
						|
 | 
						|
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
 | 
						|
cmp.setup.cmdline({ "/", "?" }, {
 | 
						|
    mapping = cmp.mapping.preset.cmdline(),
 | 
						|
    sources = {
 | 
						|
        { name = "buffer" },
 | 
						|
    },
 | 
						|
})
 | 
						|
 | 
						|
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
 | 
						|
cmp.setup.cmdline(":", {
 | 
						|
    mapping = cmp.mapping.preset.cmdline(),
 | 
						|
    sources = cmp.config.sources({
 | 
						|
        { name = "path" },
 | 
						|
    }, {
 | 
						|
        { name = "cmdline" },
 | 
						|
    }, {
 | 
						|
        { name = "stylua" },
 | 
						|
    }),
 | 
						|
})
 | 
						|
 |