From afd150b869298b788387c04031cccffac11da5de Mon Sep 17 00:00:00 2001 From: tux Date: Sat, 7 Feb 2026 06:16:09 +0530 Subject: [PATCH] feat: replace avante with opencode.nvim --- src/lazy-lock.json | 52 +++++++++++++++++++++++++++++++++++ src/lua/configs/avante.lua | 28 ------------------- src/lua/configs/open-code.lua | 33 ++++++++++++++++++++++ src/lua/plugins/init.lua | 16 ++++------- 4 files changed, 90 insertions(+), 39 deletions(-) create mode 100644 src/lazy-lock.json delete mode 100644 src/lua/configs/avante.lua create mode 100644 src/lua/configs/open-code.lua diff --git a/src/lazy-lock.json b/src/lazy-lock.json new file mode 100644 index 0000000..b63dc02 --- /dev/null +++ b/src/lazy-lock.json @@ -0,0 +1,52 @@ +{ + "LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" }, + "NvChad": { "branch": "v2.5", "commit": "c57b82473b821274f6017eb03582ba1d13be9d8c" }, + "avante.nvim": { "branch": "main", "commit": "d80b7966c0505809e83e408353bbe8cb3394936d" }, + "base46": { "branch": "v3.0", "commit": "884b990dcdbe07520a0892da6ba3e8d202b46337" }, + "blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" }, + "boole.nvim": { "branch": "main", "commit": "7b4a3dae28e3b2497747aa840439e9493cabdc49" }, + "conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" }, + "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, + "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, + "gitsigns.nvim": { "branch": "main", "commit": "1ce96a464fdbc24208e24c117e2021794259005d" }, + "go.nvim": { "branch": "master", "commit": "421694ad11759ad22d5200cff6a8c69d223ade29" }, + "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, + "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "markview.nvim": { "branch": "main", "commit": "9e852c299351fc2110e763edc7fc899358ee112e" }, + "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, + "menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" }, + "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" }, + "neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" }, + "neovim-session-manager": { "branch": "master", "commit": "89d253a6c68af60b49570044591d5b8701866601" }, + "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, + "none-ls.nvim": { "branch": "main", "commit": "68ed8b9bf5dfdae4d579fcd19723926f84d7b6cb" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, + "nvim-dap": { "branch": "master", "commit": "e47878dcf1ccc30136b30d19ab19fe76946d61cd" }, + "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" }, + "nvim-lspconfig": { "branch": "master", "commit": "66fd02ad1c7ea31616d3ca678fa04e6d0b360824" }, + "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, + "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" }, + "nvim-tree.lua": { "branch": "master", "commit": "037d89e60fb01a6c11a48a19540253b8c72a3c32" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-treesitter-context": { "branch": "master", "commit": "64dd4cf3f6fd0ab17622c5ce15c91fc539c3f24a" }, + "nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" }, + "nvim-web-devicons": { "branch": "master", "commit": "746ffbb17975ebd6c40142362eee1b0249969c5c" }, + "opencode.nvim": { "branch": "main", "commit": "a13db1c0364319d3ebde65030005dea9f8a198cc" }, + "outline.nvim": { "branch": "main", "commit": "ead1820d49c8e79ce89cab1c2c318981b695c9d2" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "rustaceanvim": { "branch": "master", "commit": "047f9c9d8cd2861745eb9de6c1570ee0875aa795" }, + "smartyank.nvim": { "branch": "master", "commit": "c4e53e0d9316ca790a6f5d78aad73206a763873b" }, + "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, + "telescope.nvim": { "branch": "master", "commit": "ad7d9580338354ccc136e5b8f0aa4f880434dcdc" }, + "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, + "treesj": { "branch": "main", "commit": "186084dee5e9c8eec40f6e39481c723dd567cb05" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, + "typescript-tools.nvim": { "branch": "master", "commit": "c2f5910074103705661e9651aa841e0d7eea9932" }, + "ui": { "branch": "v3.0", "commit": "cb75908a86720172594b30de147272c1b3a7f452" }, + "vim-wakatime": { "branch": "master", "commit": "d7973b157a632d1edeff01818f18d67e584eeaff" }, + "volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" }, + "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } +} diff --git a/src/lua/configs/avante.lua b/src/lua/configs/avante.lua deleted file mode 100644 index 8340452..0000000 --- a/src/lua/configs/avante.lua +++ /dev/null @@ -1,28 +0,0 @@ -local opts = { - provider = "gemini", - providers = { - deepseek = { - __inherited_from = "openai", - api_key_name = "DEEPSEEK_API_KEY", - endpoint = "https://api.deepseek.com/v1", - model = "deepseek-chat", - }, - - gemini = { - __inherited_from = "openai", - api_key_name = "cmd:cat /run/secrets/gemini_api_key", - endpoint = "https://generativelanguage.googleapis.com/v1beta/openai", - model = "models/gemini-2.5-pro", - }, - - hyperbolic = { - __inherited_from = "openai", - api_key_name = "cmd:cat /run/secrets/hyperbolic_api_key", - endpoint = "https://api.hyperbolic.xyz/v1", - model = "deepseek-ai/DeepSeek-R1", - max_tokens = 4096, - }, - }, -} - -return opts diff --git a/src/lua/configs/open-code.lua b/src/lua/configs/open-code.lua new file mode 100644 index 0000000..ee65e83 --- /dev/null +++ b/src/lua/configs/open-code.lua @@ -0,0 +1,33 @@ +---@type opencode.Opts +vim.g.opencode_opts = {} + +-- Required for `opts.events.reload`. +vim.o.autoread = true + +vim.keymap.set({ "n", "x" }, "", function() + require("opencode").ask("@this: ", { submit = true }) +end, { desc = "Ask opencode…" }) + +vim.keymap.set({ "n", "x" }, "", function() + require("opencode").select() +end, { desc = "Execute opencode action…" }) + +vim.keymap.set({ "n", "t" }, "", function() + require("opencode").toggle() +end, { desc = "Toggle opencode" }) + +vim.keymap.set({ "n", "x" }, "go", function() + return require("opencode").operator("@this ") +end, { desc = "Add range to opencode", expr = true }) + +vim.keymap.set("n", "goo", function() + return require("opencode").operator("@this ") .. "_" +end, { desc = "Add line to opencode", expr = true }) + +vim.keymap.set("n", "", function() + require("opencode").command("session.half.page.up") +end, { desc = "Scroll opencode up" }) + +vim.keymap.set("n", "", function() + require("opencode").command("session.half.page.down") +end, { desc = "Scroll opencode down" }) diff --git a/src/lua/plugins/init.lua b/src/lua/plugins/init.lua index d813a76..0ec33ae 100644 --- a/src/lua/plugins/init.lua +++ b/src/lua/plugins/init.lua @@ -26,21 +26,15 @@ local plugins = { }, }, { - "yetone/avante.nvim", + "nickjvandyke/opencode.nvim", event = "VeryLazy", lazy = false, - version = false, - build = "make", - opts = function() - return require("configs.avante") - end, dependencies = { - "nvim-treesitter/nvim-treesitter", - "stevearc/dressing.nvim", - "nvim-lua/plenary.nvim", - "MunifTanjim/nui.nvim", - "nvim-tree/nvim-web-devicons", + { "folke/snacks.nvim", opts = { input = {}, picker = {}, terminal = {} } }, }, + config = function() + require("configs.open-code") + end, }, { "Shatur/neovim-session-manager",