rj1
log | files | refs
commit 02dd0214bb2d99e7979277b9ecc3e96bfa00c91e
parent d759efd70b7520ad59ae518aa6ad6102b92a5f5e
author: rj1 <[email protected]>
date:   Wed, 22 May 2024 18:05:43 -0600

nvim: we can use codeium.vim again - https://github.com/neovim/neovim/pull/27051 is in

Diffstat:
M.config/nvim/lua/rj1/ai.lua | 44+++++++++++++++++++-------------------------
M.config/nvim/lua/rj1/lsp.lua | 5-----
M.config/nvim/lua/rj1/lualine.lua | 10+++++++++-
M.config/nvim/lua/rj1/plugins.lua | 2+-
4 files changed, 29 insertions(+), 32 deletions(-)

diff --git a/.config/nvim/lua/rj1/ai.lua b/.config/nvim/lua/rj1/ai.lua @@ -1,38 +1,32 @@ -- codeium -- disabled by default +vim.g.codeium_disable_bindings = true vim.g.codeium_enabled = false -require("codeium").setup() -local function is_codeium_enabled() - return vim.g.codeium_enabled -end +function Toggle_codeium() + vim.g.codeium_enabled = not vim.g.codeium_enabled -local source = require("codeium.source") -function source:is_available() - local enabled = is_codeium_enabled() - return enabled and self.server.is_healthy() -end + if vim.g.codeium_enabled then + -- HACK: why do we have to do this? + vim.cmd(':Codeium EnableBuffer') -vim.api.nvim_set_keymap('n', '<leader>ai', '', { - callback = function() - local new_enabled = not is_codeium_enabled() - vim.g.codeium_enabled = new_enabled - end, - noremap = true -}) + -- set keybinds for ai completions + vim.keymap.set('i', '<right>', function () return vim.fn['codeium#Accept']() end, { expr = true, silent = true }) + vim.keymap.set('i', '<up>', function() return vim.fn['codeium#CycleCompletions'](1) end, { expr = true, silent = true }) + vim.keymap.set('i', '<down>', function() return vim.fn['codeium#CycleCompletions'](-1) end, { expr = true, silent = true }) + else + -- HACK: why do we have to do this? + vim.cmd(':Codeium DisableBuffer') - -local function fetch_openai_key() - local handle = io.popen("pass dev/openai.com/openai_key") - if handle ~= nil then - local key = string.gsub(handle:read("*a"), "\n", "") - handle:close() - return key + -- unset keybinds for ai completions + vim.keymap.del('i', '<right>') + vim.keymap.del('i', '<up>') + vim.keymap.del('i', '<down>') end end -local function fetch_groq_key() - local handle = io.popen("pass dev/groq.com/nvim_key") +vim.api.nvim_set_keymap('n', '<leader>ai', ':lua Toggle_codeium()<cr>', { noremap = true, silent = true }) + if handle ~= nil then local key = string.gsub(handle:read("*a"), "\n", "") handle:close() diff --git a/.config/nvim/lua/rj1/lsp.lua b/.config/nvim/lua/rj1/lsp.lua @@ -366,7 +366,6 @@ cmp.setup({ text = string.lower(text) local source = ({ - codeium = "ai", nvim_lsp = "lsp", luasnip = "luasnip", path = "path", @@ -381,9 +380,6 @@ cmp.setup({ return vim_item end, }, - experimental = { - ghost_text = { hlgroup = "Comment" }, - }, snippet = { expand = function(args) luasnip.lsp_expand(args.body) @@ -416,7 +412,6 @@ cmp.setup({ end, { "i", "s" }), }), sources = { - { name = "codeium" }, { name = "luasnip" }, { name = "nvim_lsp" }, { name = "nvim_lsp_signature_help" }, diff --git a/.config/nvim/lua/rj1/lualine.lua b/.config/nvim/lua/rj1/lualine.lua @@ -29,7 +29,15 @@ local navic = require("nvim-navic") local function is_codeium_enabled() if vim.g.codeium_enabled then - return "on" + local status = vim.api.nvim_call_function("codeium#GetStatusString", {}) + + if status == " ON" then + status = "on" + elseif status == " * " then + status = "loading.." + end + + return status else return "off" end diff --git a/.config/nvim/lua/rj1/plugins.lua b/.config/nvim/lua/rj1/plugins.lua @@ -37,7 +37,7 @@ require("lazy").setup({ }, -- ai - "Exafunction/codeium.nvim", + 'Exafunction/codeium.vim', { "Robitx/gp.nvim", branch = "copilot" }, -- syntax / editing