return {}
-- return {
-- 	"hrsh7th/nvim-cmp",
-- 	-- load cmp on InsertEnter
-- 	event = "VeryLazy",
-- 	-- these dependencies will only be loaded when cmp loads
-- 	-- dependencies are always lazy-loaded unless specified otherwise
-- 	dependencies = {
-- 		"hrsh7th/cmp-nvim-lsp",
-- 		"hrsh7th/cmp-path",
-- 		"hrsh7th/cmp-cmdline",
-- 		"saadparwaiz1/cmp_luasnip",
-- 		-- "rcarriga/cmp-dap",
--    },
-- 	config = function()
-- 		local cmp = require("cmp")
-- 		-- local cmp_dap = require("cmp_dap")
-- 		local luasnip = require("luasnip")
-- 		local lspkind = require("lspkind")
--
--       if require("core.setup_lang").isNeed("csharp") then
--          cmp.register_source("easy-dotnet", require("easy-dotnet").package_completion_source)
--       end
--
-- 		cmp.setup({
-- 			sources = {
-- 				{ name = "nvim_lsp" },
-- 				{ name = "luasnip" },
-- 				{ name = "path" },
-- 				{ name = "easy-dotnet" },
-- 			},
-- 			mapping = cmp.mapping.preset.insert({
-- 				-- Enter key confirms completion item
-- 				["<CR>"] = cmp.mapping.confirm({ select = false }),
--
-- 				-- Ctrl + space triggers completion menu
-- 				["<C-Space>"] = cmp.mapping.complete(),
-- 				["<Tab>"] = cmp.mapping(function(fallback)
-- 					if cmp.visible() then
-- 						cmp.select_next_item()
-- 					-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
-- 					-- that way you will only jump inside the snippet region
-- 					elseif luasnip.expand_or_jumpable() then
-- 						luasnip.expand_or_jump()
-- 					elseif cmp.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" }),
-- 			}),
-- 			snippet = {
-- 				expand = function(args)
-- 					require("luasnip").lsp_expand(args.body)
-- 				end,
-- 			},
-- 			window = {
-- 				completion = cmp.config.window.bordered({
-- 					-- border = {"󰙏", "─","┐", "│", "┘", "─","└", "│"}
-- 					border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
-- 				}),
-- 			},
-- 			formatting = {
-- 				format = lspkind.cmp_format({
-- 					mode = "text_symbol", -- show only symbol annotations
-- 					maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters)
-- 					-- can also be a function to dynamically calculate max width such as
-- 					-- maxwidth = function() return math.floor(0.45 * vim.o.columns) end,
-- 					ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first)
-- 					show_labelDetails = true, -- show labelDetails in menu. Disabled by default
--
-- 					-- The function below will be called before any actual modifications from lspkind
-- 					-- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30))
-- 					before = function(entry, vim_item)
-- 						return vim_item
-- 					end,
-- 				}),
-- 			},
-- 		})
--
-- 		-- `:` cmdline setup.
-- 		cmp.setup.cmdline(":", {
-- 			mapping = cmp.mapping.preset.cmdline(),
-- 			sources = cmp.config.sources({
-- 				{ name = "path" },
-- 			}, {
-- 				{
-- 					name = "cmdline",
-- 					option = {
-- 						ignore_cmds = { "Man", "!" },
-- 					},
-- 				},
-- 			}),
-- 		})
--
-- 		cmp.setup.filetype({ "dap-repl", "dapui_watches", "dapui_hover" }, {
-- 			sources = {
-- 				{ name = "dap" },
-- 			},
-- 		})
-- 	end,
-- }
