return { { "Exafunction/codeium.vim", event = "InsertEnter", config = function() if vim.g.codeium_cmp_hide == true then local cmp = require("cmp") cmp.event:on("menu_opened", function() vim.g.codeium_manual = true vim.fn["codeium#Clear"]() end) cmp.event:on("menu_closed", function() vim.g.codeium_manual = false vim.fn["codeium#Complete"]() end) end vim.g.codeium_filetypes = { TelescopePrompt = false, DressingInput = false, ["neo-tree-popup"] = false, ["dap-repl"] = false, } local opts = { expr = true, silent = true } vim.g.codeium_disable_bindings = 1 vim.keymap.set("i", "", function() return vim.fn["codeium#Accept"]() end, opts) vim.keymap.set("n", "ch", function() return vim.fn["codeium#Chat"]() end, { desc = "Chat with IA (Codeium)" }) vim.keymap.set("i", "", function() return vim.fn["codeium#CycleCompletions"](1) end, opts) vim.keymap.set("i", "", function() return vim.fn["codeium#CycleCompletions"](-1) end, opts) vim.keymap.set("i", "", function() return vim.fn["codeium#Clear"]() end, opts) vim.keymap.set("n", "cI", "CodeiumToggle", { desc = "Toggle IA (Codeium)" }) end, }, { "nvim-lualine/lualine.nvim", optional = true, opts = function(_, opts) local icon = require("lazyvim.config").icons.kinds.Codeium local function show_codeium_status() return icon .. vim.fn["codeium#GetStatusString"]() end -- Insert the icon table.insert(opts.sections.lualine_x, 2, show_codeium_status) end, }, }