diff --git a/lua/custom/chadrc.lua b/lua/custom/chadrc.lua index abdc808..20c37b7 100644 --- a/lua/custom/chadrc.lua +++ b/lua/custom/chadrc.lua @@ -5,8 +5,8 @@ local M = {} local highlights = require "custom.highlights" M.ui = { - theme = "everblush", - theme_toggle = { "everblush", "one_light" }, + theme = "chadracula", + theme_toggle = { "chadracula", "one_light" }, hl_override = highlights.override, hl_add = highlights.add, diff --git a/lua/custom/configs/codecompanion.lua b/lua/custom/configs/codecompanion.lua new file mode 100644 index 0000000..0b149fc --- /dev/null +++ b/lua/custom/configs/codecompanion.lua @@ -0,0 +1,43 @@ +local options = { + adapters = { + ollama = function() + return require("codecompanion.adapters").extend("ollama", { + env = { + url = "http://axiom.bell:11434", + api_key = "ollama", + }, + headers = { + ["Content-Type"] = "application/json", + ["Authorization"] = "Bearer ${api_key}", + }, + parameters = { + sync = true, + }, + }) + end, + }, + strategies = { + chat = { + adapter = "ollama", + }, + inline = { + adapter = "ollama", + keymaps = { + accept_change = { + modes = { n = "ga" }, + description = "Accept the suggested change", + }, + reject_change = { + modes = { n = "gr" }, + description = "Reject the suggested change", + }, + }, + + }, + cmd = { + adapter = "ollama", + } + }, +} + +return options diff --git a/lua/custom/plugins.lua b/lua/custom/plugins.lua index d052b56..4302571 100644 --- a/lua/custom/plugins.lua +++ b/lua/custom/plugins.lua @@ -45,6 +45,13 @@ local plugins = { -- "nvim-treesitter/nvim-treesitter", -- opts = overrides.treesitter, -- }, + { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + dependencies = { + "nvim-treesitter/nvim-treesitter-textobjects" + }, + }, { "nvim-tree/nvim-tree.lua", @@ -246,6 +253,87 @@ local plugins = { end, }, + -- { + -- "olimorris/codecompanion.nvim", + -- lazy = false, + -- dependencies = { + -- "nvim-lua/plenary.nvim", + -- "nvim-treesitter/nvim-treesitter", + -- }, + -- opts = function() + -- return require "custom.configs.codecompanion" + -- end, + -- config = function(_, opts) + -- require("codecompanion").setup(opts) + -- end, + -- }, + -- + + { + "yetone/avante.nvim", + event = "VeryLazy", + version = false, -- Never set this value to "*"! Never! + ---@module 'avante' + ---@type avante.Config + opts = { + -- add any opts here + -- for example + provider = "ollama", + providers = { + ollama = { + endpoint = "http://axiom.bell:11434", + -- model = "devstral:24b", + model = "qwen2.5-coder:32b", + }, + }, + behavior = { + -- auto_apply_diff_after_generation = true + } + }, + -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` + build = "make", + -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows + dependencies = { + "nvim-treesitter/nvim-treesitter", + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + --- The below dependencies are optional, + "echasnovski/mini.pick", -- for file_selector provider mini.pick + "nvim-telescope/telescope.nvim", -- for file_selector provider telescope + "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions + "ibhagwan/fzf-lua", -- for file_selector provider fzf + "stevearc/dressing.nvim", -- for input provider dressing + "folke/snacks.nvim", -- for input provider snacks + "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons + -- "zbirenbaum/copilot.lua", -- for providers='copilot' + { + -- support for image pasting + "HakonHarnes/img-clip.nvim", + event = "VeryLazy", + opts = { + -- recommended settings + default = { + embed_image_as_base64 = false, + prompt_for_file_name = false, + drag_and_drop = { + insert_mode = true, + }, + -- required for Windows users + use_absolute_path = true, + }, + }, + }, + { + -- Make sure to set this up properly if you have lazy=true + 'MeanderingProgrammer/render-markdown.nvim', + opts = { + file_types = { "markdown", "Avante" }, + }, + ft = { "markdown", "Avante" }, + }, + }, + } + -- { -- "rouge8/neotest-rust", -- config = function() end, diff --git a/lua/plugins/configs/treesitter.lua b/lua/plugins/configs/treesitter.lua index 4b9db04..50d5269 100644 --- a/lua/plugins/configs/treesitter.lua +++ b/lua/plugins/configs/treesitter.lua @@ -7,6 +7,19 @@ local options = { }, indent = { enable = true }, + + textobjects = { + select = { + enable = true, + lookahead = true, + keymaps = { + -- custom mappings (example) + ["ad"] = "@block.outer", -- around do...end + ["id"] = "@block.inner", -- inside do...end + }, + }, + }, + } return options