| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- return {
- "hrsh7th/nvim-cmp",
- dependencies = {
- "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-buffer", "hrsh7th/cmp-path",
- "hrsh7th/cmp-cmdline", "hrsh7th/cmp-nvim-lua", "hrsh7th/cmp-calc",
- "hrsh7th/cmp-nvim-lsp-signature-help"
- },
- enabled = true,
- lazy = false,
- config = function(_, _)
- local cmp = require("cmp")
- local mapping = {
- ["<Tab>"] = function(fallback)
- if cmp.visible() then
- cmp.select_next_item(
- { behavior = cmp.SelectBehavior.Select })
- else
- fallback()
- end
- end,
- ["<S-Tab>"] = function(fallback)
- if cmp.visible() then
- cmp.select_prev_item(
- { behavior = cmp.SelectBehavior.Select })
- else
- fallback()
- end
- end,
- ["<CR>"] = function(fallback)
- if cmp.visible() and cmp.get_active_entry() then
- cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace })
- else
- fallback()
- end
- end
- }
- cmp.setup({
- snippet = {},
- mapping = mapping,
- sources = cmp.config.sources({ { name = "nvim_lsp" } }, {
- { name = "buffer" }, { name = "nvim_lua" }, { name = "calc" },
- { name = "nvim_lsp_signature_help" }, { name = "path" }
- })
- })
- cmp.setup.cmdline("/", {
- mapping = cmp.mapping.preset.cmdline(),
- sources = { { name = "buffer" } }
- })
- cmp.setup.cmdline(":", {
- mapping = cmp.mapping.preset.cmdline(),
- sources = cmp.config.sources({ { name = "path" } }, {
- { name = "cmdline", option = { ignore_cmds = { "Man", "!" } } }
- })
- })
- end
- }
|