12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- return {
- {
- "hrsh7th/cmp-nvim-lsp",
- lazy = false,
- config = true,
- },
- {
- "L3MON4D3/LuaSnip",
- lazy = false,
- dependencies = {
- "saadparwaiz1/cmp_luasnip",
- "rafamadriz/friendly-snippets",
- },
- config = function()
- require("luasnip.loaders.from_vscode").lazy_load()
- require("luasnip.loaders.from_vscode").load({ paths = { "~/.config/nvim/snippets" } })
- end,
- },
- {
- "hrsh7th/nvim-cmp",
- lazy = false,
- config = function()
- local cmp = require("cmp")
- cmp.setup({
- snippet = {
- expand = function(args)
- require("luasnip").lsp_expand(args.body)
- end,
- },
- window = {
- completion = cmp.config.window.bordered(),
- documentation = cmp.config.window.bordered(),
- },
- mapping = cmp.mapping.preset.insert({
- ["<Tab>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
- ["<S-Tab>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.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.
- }),
- sources = cmp.config.sources({
- { name = "nvim_lsp" },
- { name = "luasnip" },
- }, {
- { name = "buffer" },
- }),
- })
- end,
- },
- }
|