feat: updates to neovim config

This commit is contained in:
2026-05-26 23:52:47 -04:00
parent befb444f12
commit 8e2e5a06ef
12 changed files with 174 additions and 97 deletions
+10 -10
View File
@@ -5,16 +5,16 @@ vim.api.nvim_create_autocmd({ "FocusGained", "BufEnter", "CursorHold", "CursorHo
}) })
-- get terminal to follow directory -- get terminal to follow directory
vim.api.nvim_create_autocmd({ 'TermRequest' }, { -- vim.api.nvim_create_autocmd({ 'TermRequest' }, {
desc = 'Handles OSC 7 dir change requests', -- desc = 'Handles OSC 7 dir change requests',
callback = function(ev) -- callback = function(ev)
local pwd, n = string.gsub(ev.data.sequence, '\027]7;file://[^/]*', '') -- local pwd, n = string.gsub(ev.data.sequence, '\027]7;file://[^/]*', '')
if n <= 0 then return end -- if n <= 0 then return end
if vim.fn.isdirectory(pwd) == 0 then return end -- if vim.fn.isdirectory(pwd) == 0 then return end
if vim.api.nvim_get_current_buf() ~= ev.buf then return end -- if vim.api.nvim_get_current_buf() ~= ev.buf then return end
vim.cmd.cd(pwd) -- vim.cmd.cd(pwd)
end -- end
}) -- })
-- Check if we need to reload the file when it changed -- Check if we need to reload the file when it changed
vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, { vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
+4 -2
View File
@@ -113,6 +113,7 @@ vim.filetype.add({
}) })
vim.pack.add({ vim.pack.add({
{ src = 'https://github.com/3rd/image.nvim' },
{ src = "https://github.com/folke/snacks.nvim" }, { src = "https://github.com/folke/snacks.nvim" },
{ src = "https://github.com/folke/trouble.nvim" }, { src = "https://github.com/folke/trouble.nvim" },
{ src = "https://github.com/olimorris/codecompanion.nvim" }, { src = "https://github.com/olimorris/codecompanion.nvim" },
@@ -137,7 +138,6 @@ vim.pack.add({
{ src = 'https://github.com/akinsho/toggleterm.nvim' }, { src = 'https://github.com/akinsho/toggleterm.nvim' },
{ src = 'https://github.com/al1-ce/just.nvim' }, { src = 'https://github.com/al1-ce/just.nvim' },
{ src = 'https://github.com/cairijun/codecompanion-agentskills.nvim' }, { src = 'https://github.com/cairijun/codecompanion-agentskills.nvim' },
{ src = 'https://github.com/cairijun/codecompanion-agentskills.nvim' },
{ src = 'https://github.com/carlos-algms/agentic.nvim' }, { src = 'https://github.com/carlos-algms/agentic.nvim' },
{ src = 'https://github.com/chipsenkbeil/org-roam.nvim' }, { src = 'https://github.com/chipsenkbeil/org-roam.nvim' },
{ src = 'https://github.com/christoomey/vim-tmux-navigator' }, { src = 'https://github.com/christoomey/vim-tmux-navigator' },
@@ -149,7 +149,6 @@ vim.pack.add({
{ src = 'https://github.com/folke/todo-comments.nvim' }, { src = 'https://github.com/folke/todo-comments.nvim' },
{ src = 'https://github.com/folke/which-key.nvim' }, { src = 'https://github.com/folke/which-key.nvim' },
{ src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' }, { src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' },
{ src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' },
{ src = 'https://github.com/hat0uma/csvview.nvim' }, { src = 'https://github.com/hat0uma/csvview.nvim' },
{ src = 'https://github.com/hedyhli/outline.nvim' }, { src = 'https://github.com/hedyhli/outline.nvim' },
{ src = 'https://github.com/iamcco/markdown-preview.nvim' }, { src = 'https://github.com/iamcco/markdown-preview.nvim' },
@@ -159,6 +158,7 @@ vim.pack.add({
{ src = 'https://github.com/lervag/vimtex' }, { src = 'https://github.com/lervag/vimtex' },
{ src = 'https://github.com/lewis6991/gitsigns.nvim' }, { src = 'https://github.com/lewis6991/gitsigns.nvim' },
{ src = 'https://github.com/mbbill/undotree' }, { src = 'https://github.com/mbbill/undotree' },
{ src = 'https://github.com/SjB/meow.review.nvim', version = 'fix-invalid-buffer-id' },
{ src = 'https://github.com/mfussenegger/nvim-ansible' }, { src = 'https://github.com/mfussenegger/nvim-ansible' },
{ src = 'https://github.com/mfussenegger/nvim-dap' }, { src = 'https://github.com/mfussenegger/nvim-dap' },
{ src = 'https://github.com/mistweaverco/kulala.nvim' }, { src = 'https://github.com/mistweaverco/kulala.nvim' },
@@ -184,6 +184,7 @@ vim.pack.add({
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' }, { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' }, { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects', version = 'main' }, { src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects', version = 'main' },
{ src = 'https://github.com/romus204/tree-sitter-manager.nvim' },
{ src = 'https://github.com/obsidian-nvim/obsidian.nvim' }, { src = 'https://github.com/obsidian-nvim/obsidian.nvim' },
{ src = 'https://github.com/otavioschwanck/arrow.nvim' }, { src = 'https://github.com/otavioschwanck/arrow.nvim' },
{ src = 'https://github.com/rafamadriz/friendly-snippets' }, { src = 'https://github.com/rafamadriz/friendly-snippets' },
@@ -192,6 +193,7 @@ vim.pack.add({
{ src = 'https://github.com/ravitemer/codecompanion-history.nvim' }, { src = 'https://github.com/ravitemer/codecompanion-history.nvim' },
{ src = 'https://github.com/rcarriga/nvim-dap-ui' }, { src = 'https://github.com/rcarriga/nvim-dap-ui' },
{ src = 'https://github.com/salkin-mada/openscad.nvim' }, { src = 'https://github.com/salkin-mada/openscad.nvim' },
{ src = 'https://github.com/sheng-tse/jupynvim' },
{ src = 'https://github.com/sindrets/diffview.nvim' }, { src = 'https://github.com/sindrets/diffview.nvim' },
{ src = 'https://github.com/stevearc/conform.nvim' }, { src = 'https://github.com/stevearc/conform.nvim' },
{ src = 'https://github.com/stevearc/overseer.nvim' }, { src = 'https://github.com/stevearc/overseer.nvim' },
+10 -6
View File
@@ -253,7 +253,9 @@ codecompanion.setup({
-- }, -- },
agentskills = { agentskills = {
opts = { opts = {
{ "~/Documents/ai-skills", recursive = true }, paths = {
{ "~/.agents/skills", recursive = true },
},
}, },
}, },
-- vectorcode = { lazy = true }, -- vectorcode = { lazy = true },
@@ -265,10 +267,10 @@ codecompanion.setup({
save_chat_keymap = "ghs", save_chat_keymap = "ghs",
picker = "snacks", picker = "snacks",
dir_to_save = vim.env.HOME .. "/Documents/ai-history", dir_to_save = vim.env.HOME .. "/Documents/ai-history",
-- title_generation_opts = { title_generation_opts = {
-- adapter = "copilot", adapter = "copilot",
-- model = "gpt-5-mini", model = "gpt-5-mini",
-- }, },
summary = { summary = {
create_summary_keymap = "ghc", create_summary_keymap = "ghc",
browse_summaries_keymap = "ghb", browse_summaries_keymap = "ghb",
@@ -312,6 +314,7 @@ codecompanion.setup({
"fetch", "fetch",
"grep_search", "grep_search",
"memory", "memory",
"agent_skills",
-- "ddgr_search", -- "ddgr_search",
}, },
}, },
@@ -519,7 +522,8 @@ codecompanion.setup({
}, },
-- adapter = { name = "abacus", model = "route-llm" }, -- adapter = { name = "abacus", model = "route-llm" },
-- adapter = { name = "opencode", model = "github-copilot/gpt-5.2-codex" }, -- adapter = { name = "opencode", model = "github-copilot/gpt-5.2-codex" },
adapter = { name = "copilot", model = "gpt-5-mini" }, -- adapter = { name = "copilot", model = "gpt-5-mini" },
adapter = { name = "goose" },
}, },
inline = { inline = {
-- adapter = { name = "abacus", model = "route-llm" }, -- adapter = { name = "abacus", model = "route-llm" },
+18 -2
View File
@@ -1,4 +1,3 @@
vim.keymap.set("i", "<C-.>", function() vim.keymap.set("i", "<C-.>", function()
if not vim.lsp.inline_completion.get() then if not vim.lsp.inline_completion.get() then
return "<C-.>" return "<C-.>"
@@ -108,7 +107,22 @@ local servers = {
} }
}, },
-- csharp_ls = {}, -- csharp_ls = {},
zls = {}, pyright = {
settings = {
pyright = {
disableOrganizeImports = true,
disableTaggedHints = true,
},
python = {
analysis = {
diagnosticSeverityOverrides = {
reportUndefinedVariable = "none",
reportUnusedExpression = "none",
},
},
},
},
},
clangd = { clangd = {
settings = { settings = {
["clang"] = { ["clang"] = {
@@ -116,6 +130,7 @@ local servers = {
} }
} }
}, },
ruff = {},
rust_analyzer = { rust_analyzer = {
settings = { settings = {
['rust-analyzer'] = { ['rust-analyzer'] = {
@@ -150,6 +165,7 @@ local servers = {
eslint = {}, eslint = {},
jsonls = {}, jsonls = {},
jdtls = {}, jdtls = {},
zls = {},
copilot = { copilot = {
-- settings = { -- settings = {
-- ['copilot'] = { -- ['copilot'] = {
+20
View File
@@ -0,0 +1,20 @@
require("meow.review").setup({
-- Your custom configuration goes here
})
vim.keymap.set({ "n", "v" }, "<leader>ra", "<Plug>(MeowReviewAdd)", { desc = "Add Review Comment" })
vim.keymap.set({ "n", "v" }, "<leader>rd", "<Plug>(MeowReviewDelete)", { desc = "Delete Review Comment" })
vim.keymap.set({ 'n' }, "<leader>re", "<Plug>(MeowReviewEdit)", { desc = "Edit Review Comment" })
vim.keymap.set({ 'n' }, "<leader>rv", "<Plug>(MeowReviewView)", { desc = "View Review Comment" })
vim.keymap.set({ 'n' }, "<leader>rE", "<Plug>(MeowReviewExport)", { desc = "Export Review" })
vim.keymap.set({ 'n' }, "<leader>rX", "<Plug>(MeowReviewExportAndClear)", { desc = "Export and Clear" })
vim.keymap.set({ 'n' }, "<leader>rf", "<Plug>(MeowReviewExportFile)", { desc = "Export Current File" })
vim.keymap.set({ 'n' }, "<leader>rc", "<Plug>(MeowReviewClear)", { desc = "Clear All Comments" })
vim.keymap.set({ 'n' }, "<leader>rg", "<Plug>(MeowReviewGoto)", { desc = "Go to Review Comment" })
vim.keymap.set({ 'n' }, "<leader>rG", "<Plug>(MeowReviewGotoFile)", { desc = "Go to Comment in File" })
vim.keymap.set({ 'n' }, "<leader>rt", "<Plug>(MeowReviewGotoType)", { desc = "Go to Comment by Type" })
vim.keymap.set({ 'n' }, "<leader>rR", "<Plug>(MeowReviewResolve)", { desc = "Resolve Comment" })
vim.keymap.set({ 'n' }, "<leader>rA", "<Plug>(MeowReviewResolveAll)", { desc = "Resolve All Comments" })
vim.keymap.set({ 'n' }, "<leader>rr", "<Plug>(MeowReviewReload)", { desc = "Reload Review" })
vim.keymap.set({ 'n' }, "]r", "<Plug>(MeowReviewNext)", { desc = "Next Review Comment" })
vim.keymap.set({ 'n' }, "[r", "<Plug>(MeowReviewPrev)", { desc = "Previous Review Comment" })
+3 -1
View File
@@ -72,4 +72,6 @@ require('mini.files').setup({
}, },
}) })
require('mini.sessions').setup() require('mini.sessions').setup({
directory = '~/.cache/nvim/sessions',
})
+2 -2
View File
@@ -27,8 +27,8 @@ require("obsidian").setup({
tags = "", tags = "",
}, },
completion = { completion = {
nvim_cmp = false, -- nvim_cmp = false,
blink = true, -- blink = true,
min_chars = 2, min_chars = 2,
}, },
link = { link = {
+5
View File
@@ -1,3 +1,8 @@
require("persistence").setup({
dir = vim.fn.expand(vim.fn.stdpath("state") .. "/sessions/"), -- directory where session files are saved
options = { "buffers", "curdir", "tabpages", "winsize" }, -- sessionoptions used when saving sessions
})
vim.keymap.set('n', "<leader>xr", function() require("persistence").load() end, { desc = "Restore Session" }) vim.keymap.set('n', "<leader>xr", function() require("persistence").load() end, { desc = "Restore Session" })
vim.keymap.set('n', "<leader>xs", function() require("persistence").save() end, { desc = "Save Session" }) vim.keymap.set('n', "<leader>xs", function() require("persistence").save() end, { desc = "Save Session" })
vim.keymap.set('n', "<leader>xl", function() require("persistence").load({ last = true }) end, { desc = "Restore Last Session" }) vim.keymap.set('n', "<leader>xl", function() require("persistence").load({ last = true }) end, { desc = "Restore Last Session" })
+1 -1
View File
@@ -8,7 +8,7 @@ require('snacks').setup({
dashboard = { enabled = false }, dashboard = { enabled = false },
explorer = { enabled = false }, explorer = { enabled = false },
image = { image = {
enabled = true, enabled = false,
inline = false, inline = false,
scale = 3, -- nil | 1 (default) | 2 | 3 | ... scale = 3, -- nil | 1 (default) | 2 | 3 | ...
doc = { doc = {
+1
View File
@@ -17,3 +17,4 @@ require("toggleterm").setup({
}) })
vim.keymap.set('t', "<esc><esc>", "<c-\\><c-n>", { desc = "Escape input" }) vim.keymap.set('t', "<esc><esc>", "<c-\\><c-n>", { desc = "Escape input" })
vim.keymap.set('t', "<leader><esc>", "<c-\\><c-n>", { desc = "Escape input" })
+20 -1
View File
@@ -10,11 +10,15 @@ require("just").setup({
notify = vim.notify, -- what to use to show messages/errors notify = vim.notify, -- what to use to show messages/errors
}) })
require('img-clip').setup() require('img-clip').setup()
require('image').setup({
backend = "sixel"
})
require('sshfs').setup({ require('sshfs').setup({
mounts = { mounts = {
base_dir = vim.fn.expand("$HOME") .. "/Public", -- where remote mounts are created base_dir = vim.fn.expand("$HOME") .. "/Public", -- where remote mounts are created
}, },
lead_prefix = "<leader>r", lead_prefix = "<leader>t",
-- Refer to the configuration section below -- Refer to the configuration section below
-- or leave empty for defaults -- or leave empty for defaults
}) })
@@ -55,6 +59,21 @@ require('trouble').setup({
}, },
}) })
vim.api.nvim_create_autocmd('PackChanged', {
callback = function()
local core = vim.fn.stdpath("data") .. "/site/pack/core/opt/jupynvim/core"
vim.fn.system({
"cargo", "build", "--release",
"--manifest-path", core .. "/Cargo.toml",
})
end
})
require("jupynvim").setup({
log_level = "debug",
image_renderer = "placeholder", -- "placeholder", "kitty", or "chafa"
})
require("overseer").setup({ require("overseer").setup({
templates = { "builtin", "user" }, templates = { "builtin", "user" },
component_aliases = { component_aliases = {
+42 -34
View File
@@ -1,38 +1,46 @@
require("tree-sitter-manager").setup({
-- Default Options
-- ensure_installed = {}, -- list of parsers to install at the start of a neovim session
-- border = nil, -- border style for the window (e.g. "rounded", "single"), if nil, use the default border style defined by 'vim.o.winborder'. See :h 'winborder' for more info.
-- auto_install = false, -- if enabled, install missing parsers when editing a new file
-- highlight = true, -- treesitter highlighting is enabled by default
-- languages = {}, -- override or add new parser sources
})
vim.g.no_plugin_maps = true -- vim.g.no_plugin_maps = true
local ts_parsers = { -- local ts_parsers = {
"bash", -- "bash",
"dockerfile", -- "dockerfile",
"git_config", "git_rebase", "gitattributes", "gitcommit", "gitignore", -- "git_config", "git_rebase", "gitattributes", "gitcommit", "gitignore",
"go", "gomod", "gosum", -- "go", "gomod", "gosum",
"json", "toml", "yaml", -- "json", "toml", "yaml",
"lua", -- "lua",
"make", -- "make",
"markdown", -- "markdown",
"python", -- "python",
"terraform", -- "terraform",
"vim", "vimdoc", -- "vim", "vimdoc",
'c', -- 'c',
"lua", -- "lua",
"markdown", -- "markdown",
"markdown_inline", -- "markdown_inline",
"query", -- "query",
"html", "xml", -- "html", "xml",
"zig", -- "zig",
"typescript", "javascript", "svelte", -- "typescript", "javascript", "svelte",
"regex", -- "regex",
"rust", -- "rust",
"http", -- "http",
} -- }
--
local nts = require("nvim-treesitter") -- local nts = require("nvim-treesitter")
nts.install(ts_parsers) -- nts.install(ts_parsers)
-- vim.api.nvim_create_autocmd('PackChanged', { -- -- vim.api.nvim_create_autocmd('PackChanged', {
-- callback = function() -- -- callback = function()
-- nts.update() -- -- nts.update()
-- end -- -- end
-- }) -- -- })
--
vim.api.nvim_create_autocmd("FileType", { -- enable treesitter highlighting and indents vim.api.nvim_create_autocmd("FileType", { -- enable treesitter highlighting and indents
callback = function(args) callback = function(args)
local filetype = args.match local filetype = args.match