return {
  -- {
  --   'pynappo/nvim-cmp',
  --   name = 'nvim-cmp', -- Otherwise highlighting gets messed up
  --   version = false,
  --   enabled = utils.is_termux,
  --   dependencies = {
  --     {
  --       'zbirenbaum/copilot-cmp',
  --       enabled = false,
  --       event = { 'BufRead', 'BufNewFile' },
  --       dependencies = {
  --         {
  --           'zbirenbaum/copilot.lua',
  --           opts = {
  --             suggestion = { enabled = false },
  --             panel = { enabled = false },
  --           },
  --         },
  --       },
  --       config = function() require('copilot_cmp').setup() end,
  --     },
  --     {
  --       'petertriho/cmp-git',
  --       ft = { 'gitcommit', 'gitrebase', 'octo' },
  --       dependencies = { 'nvim-lua/plenary.nvim' },
  --       config = function() require('cmp_git').setup() end,
  --     },
  --     {
  --       'saecki/crates.nvim',
  --       event = 'BufRead Cargo.toml',
  --       dependencies = { 'nvim-lua/plenary.nvim' },
  --     },
  --     { 'iguanacucumber/mag-nvim-lsp', name = 'cmp-nvim-lsp', opts = {} },
  --     { 'iguanacucumber/mag-buffer', name = 'cmp-buffer' },
  --     { 'iguanacucumber/mag-cmdline', name = 'cmp-cmdline' },
  --     'https://codeberg.org/FelipeLema/cmp-async-path',
  --
  --     'onsails/lspkind.nvim',
  --     -- 'hrsh7th/cmp-buffer',
  --     'hrsh7th/cmp-calc',
  --     -- 'hrsh7th/cmp-path',
  --     -- 'hrsh7th/cmp-cmdline',
  --     'dmitmel/cmp-cmdline-history',
  --     'hrsh7th/cmp-emoji',
  --     -- 'hrsh7th/cmp-nvim-lsp',
  --     'f3fora/cmp-spell',
  --     'hrsh7th/cmp-nvim-lsp-document-symbol',
  --     'octaltree/cmp-look',
  --     'hrsh7th/cmp-nvim-lsp-signature-help',
  --     'davidsierradz/cmp-conventionalcommits',
  --     'chrisgrieser/cmp-nerdfont',
  --     'https://git.sr.ht/~p00f/clangd_extensions.nvim/',
  --   },
  --   config = function()
  --     local cmp = require('cmp')
  --     local lspkind = require('lspkind')
  --     lspkind.init({
  --       symbol_map = {
  --         Copilot = '',
  --       },
  --     })
  --     vim.api.nvim_set_hl(0, 'CmpItemKindCopilot', { fg = '#6CC644' })
  --     local cmp_format = lspkind.cmp_format
  --
  --     local compare = require('cmp.config.compare')
  --     local cmp_keymaps = require('pynappo.keymaps').cmp
  --
  --     local kind_icons = {
  --       default = {
  --         -- if you change or add symbol here
  --         -- replace corresponding line in readme
  --         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 = '',
  --       },
  --       codicons = {
  --         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 = '',
  --       },
  --     }
  --
  --     cmp.setup({
  --       completion = {
  --         completeopt = vim.o.completeopt,
  --         autocomplete = false,
  --         -- autocomplete = { 'TextChanged' },
  --       },
  --       enabled = function()
  --         local disabled = (vim.bo[0].buftype == 'prompt')
  --           or (vim.fn.reg_recording() ~= '')
  --           or (vim.fn.reg_executing() ~= '')
  --           or vim.g.cmp_disable
  --         return not disabled
  --       end,
  --       performance = {
  --         async_budget = 2,
  --       },
  --       window = {
  --         completion = {
  --           winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,Search:None',
  --           col_offset = -3,
  --           side_padding = 0,
  --         },
  --       },
  --       formatting = {
  --         fields = { 'kind', 'abbr', 'menu' },
  --         format = function(entry, vim_item)
  --           local item = cmp_format({
  --             mode = 'symbol',
  --             preset = 'codicons',
  --             menu = {
  --               nvim_lsp = '[LSP]',
  --               nvim_lsp_signature_help = '[Sign]',
  --               nvim_lsp_document_symbol = '[Sym]',
  --               emoji = '[Emoji]',
  --               buffer = '[Buf]',
  --               crates = '[Crate]',
  --               path = '[Path]',
  --               cmdline = '[Cmd]',
  --               cmdline_history = '[Hist]',
  --               git = '[Git]',
  --               conventionalcommits = '[Conv]',
  --               calc = '[Calc]',
  --             },
  --           })(entry, vim_item)
  --           local strings = vim.split(item.kind, '%s', { trimempty = true })
  --           -- tailwind
  --           local completion_item = entry.completion_item
  --           local color = vim.tbl_get(completion_item, 'documentation', 'value')
  --           if color and #color == 7 then
  --             local hl = 'color-literal-' .. color:sub(2)
  --             if #vim.api.nvim_get_hl(0, { name = hl }) == 0 then vim.api.nvim_set_hl(0, hl, { fg = color }) end
  --             item.menu = 'o'
  --             item.menu_hl_group = hl
  --           end
  --           item.kind = ' ' .. (strings[1] or '') .. ' '
  --           return item
  --         end,
  --       },
  --       snippet = {
  --         expand = function(args) require('luasnip').lsp_expand(args.body) end,
  --       },
  --       -- mapping = cmp_keymaps.insert(),
  --       preselect = cmp.PreselectMode.None,
  --       sources = {
  --         {
  --           name = 'lazydev',
  --           group_index = 0, -- set group index to 0 to skip loading LuaLS completions
  --         },
  --         { name = 'copilot', group_index = 2 },
  --         -- Other Sources
  --         { name = 'nvim_lsp', group_index = 2 },
  --         { name = 'path', group_index = 2 },
  --         { name = 'luasnip', group_index = 2 },
  --         { name = 'emoji', group_index = 2 },
  --         { name = 'path', group_index = 2 },
  --         { name = 'crates', group_index = 2 },
  --         { name = 'calc', group_index = 2 },
  --         { name = 'nvim_lua', group_index = 2 },
  --         { name = 'luasnip', group_index = 2 },
  --         { name = 'nerdfont', group_index = 1 },
  --         -- {
  --         --   name = 'buffer',
  --         --   group_index = 1,
  --         --   option = {
  --         --     get_bufnrs = function()
  --         --       local bufs = {}
  --         --       for _, win in ipairs(vim.api.nvim_list_wins()) do
  --         --         bufs[vim.api.nvim_win_get_buf(win)] = true
  --         --       end
  --         --       return vim.tbl_keys(bufs)
  --         --     end,
  --         --   },
  --         -- },
  --       },
  --       sorting = {
  --         priority_weight = 2,
  --         comparators = {
  --           compare.offset,
  --           compare.exact,
  --           compare.scopes,
  --           compare.score,
  --           compare.locality,
  --           require('clangd_extensions.cmp_scores'),
  --           -- function(...) return require('cmp_buffer'):compare_locality(...) end,
  --           compare.recently_used,
  --           compare.kind,
  --           compare.sort_text,
  --           compare.length,
  --           compare.order,
  --         },
  --       },
  --       view = { entries = { name = 'custom', selection_order = 'near_cursor' } },
  --       experimental = { ghost_text = true },
  --     })
  --
  --     cmp.setup.cmdline(':', {
  --       completion = {
  --         autocomplete = { 'InsertEnter', 'TextChanged' },
  --       },
  --       mapping = cmp_keymaps.cmdline(),
  --       confirmation = { completeopt = 'menu,menuone,noinsert' },
  --       sources = cmp.config.sources({
  --         { name = 'path' },
  --         { name = 'cmdline' },
  --       }, {
  --         { name = 'cmdline_history' },
  --       }),
  --     })
  --     cmp.setup.cmdline({ '/', '?' }, {
  --       completion = {
  --         autocomplete = { 'InsertEnter', 'TextChanged' },
  --       },
  --       mapping = cmp_keymaps.cmdline(),
  --       sources = cmp.config.sources({ { name = 'nvim_lsp_document_symbol' } }, { { name = 'buffer' } }),
  --     })
  --   end,
  -- },
}
