Compare commits

...
16 Commits
Author SHA1 Message Date
venus 60478e6c0d feat: codecompanion integration with hermes, codex, and openai models directly 2026-10-10 19:50:46 -05:00
venus af1747c027 feat: added hermes as the preffered sidekick agent and added a variable for preffered agent 2026-10-07 16:26:59 -05:00
venus 25406f947f feat: added matugen and base16 for noctalia theme integration 2026-10-07 16:26:06 -05:00
venus 012ad82939 fixed a python issue 2026-09-26 22:25:32 -05:00
venus 56270124fb added bracey plugin for live web updating based on buffer for full live
preview
2026-09-10 16:33:24 -05:00
venus 6a146f4542 added vimtex and changed some plugins for rendering faster 2026-09-10 16:26:03 -05:00
venus 6a9b380f0c added support for images in buffer to help with vimtex 2026-09-05 17:00:38 -05:00
venus acd9f63ad6 added more keybinds 2026-08-14 05:16:20 -05:00
venus b040eeb6f0 added a keybind to open the prompts panel 2026-08-14 04:55:53 -05:00
venus 81eee03b79 removed antigravity, related keybind, and removed old codecompanion keybinds 2026-08-14 04:42:07 -05:00
venus 8d840a4e29 replaced codecompanion with sidekick for better gemini support, added a
few keybinds, need to add more
2026-08-14 04:38:54 -05:00
venus 84fa3b8363 added an antigravity plugin and custom keybind for integrated support 2026-08-14 04:08:16 -05:00
venus 999891e3a2 changed fold method to expression for code based auto folding 2026-08-14 03:52:18 -05:00
venus f55b90e55b added obsidian plugin 2026-08-14 03:49:32 -05:00
venus 9adc20950f added obsidian plugin, still not fully functional 2026-07-28 07:53:24 -05:00
venus 634d9250e5 added some keybinds and obsidian support 2026-07-28 07:52:57 -05:00
12 changed files with 338 additions and 231 deletions
Binary file not shown.
+4 -3
View File
@@ -28,24 +28,25 @@ require("lazy").setup({
-- 'vimpostor/vim-tpipeline', -- integrate with tmux status-line
'kshenoy/vim-signature', -- tag lines
'mg979/vim-visual-multi', -- work on multiple lines at once
'obsidian-nvim/obsidian.nvim', -- Obsidian lsp plugin
'0xm4n/resize.nvim', -- adds commands to resize panes
'nvim-tree/nvim-web-devicons', -- nerdfont!
'TamaMcGlinn/vim-termhere', --simple terminal QOL
'basola21/PDFview', -- rendering pdfs in nvim
'rcarriga/nvim-notify', -- notification manager
-- { 'jokajak/keyseer.nvim', version = '*' }, -- keybinds visualizer
{ 'turbio/bracey.vim', build = "npm install --prefix server"},
{ 'smjonas/inc-rename.nvim', config = true }, --lsp plugin for renaming variable
{ "m4xshen/hardtime.nvim", lazy = false, dependencies = { "MunifTanjim/nui.nvim" }}, --annoying
{ "nvzone/typr", dependencies = "nvzone/volt", cmd = { "Typr", "TyprStats" }, }, --typing practice
{ 'norcalli/nvim-colorizer.lua', config = function() require('colorizer').setup{"*"} end,}, -- preview colors
{ 'edluffy/hologram.nvim', auto_display = true,}, --image viewer
-- { 'edluffy/hologram.nvim', auto_display = true,}, -- image viewer (replaced by 3rd/image.nvim)
{ "denialofsandwich/sudo.nvim", dependencies = { "MunifTanjim/nui.nvim", },config = true, }, --write restricted files without restart
{ 'akinsho/toggleterm.nvim', version = "*", config = true}, -- terminal toggling and commands
{ 'nvim-java/nvim-java', config = function() require('java').setup() vim.lsp.enable('jdtls') end, }, --java QOL
-- disable matugen if not using noctalia shell
{ 'RRethy/base16-nvim', config = function() require('matugen').setup() end,}, --colorshceme for noctalia integration
{ "lervag/vimtex", lazy = false, init = function() vim.g.vimtex_view_method = "zathura" end }, -- for latex editing
-- { "lervag/vimtex", lazy = false, init = function() vim.g.vimtex_view_method = "zathura" end }, -- for latex editing
{ 'windwp/nvim-autopairs', event = "InsertEnter", config = true },
{ "folke/ts-comments.nvim", event = "VeryLazy", }, -- qol for commenting
{ "marcinjahn/gemini-cli.nvim", cmd = "Gemini", dependencies = { "folke/snacks.nvim", }, config = true, },
-77
View File
@@ -1,77 +0,0 @@
{
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
"PDFview": { "branch": "main", "commit": "972dfcce5c0de578865649940f44bf57a700498d" },
"base16-nvim": { "branch": "master", "commit": "fd128e380624c34f12a201690944bf657f861361" },
"blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" },
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"codecompanion.nvim": { "branch": "main", "commit": "15f39ba587154a97c912284646c1bd076b55a3be" },
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
"copilot.lua": { "branch": "master", "commit": "2a849bc7bec4d175524c332c20d48ca9ece735df" },
"dashboard-nvim": { "branch": "master", "commit": "f787e3462c2ee2b6117b17c1aa4ddf66cb6f57fe" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"fd": { "branch": "master", "commit": "1bfeea237a48c9545211e5c21d623d398fa712c6" },
"fzf-lua": { "branch": "main", "commit": "532d463f5c83595192fe740572d8fd6902b2217a" },
"gemini-cli.nvim": { "branch": "main", "commit": "c9fd62adda823628f5131a939d9c56ef7a898600" },
"gitsigns.nvim": { "branch": "main", "commit": "31d6fb2d618bca1482b9f274751ead5f03461408" },
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
"hardtime.nvim": { "branch": "main", "commit": "244753782b945def87472d8f4e9e6a9d4ec18689" },
"hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" },
"hologram.nvim": { "branch": "main", "commit": "f5194f71ec1578d91b2e3119ff08e574e2eab542" },
"hyprlang-to-lua.nvim": { "branch": "main", "commit": "477430d9f379736bc2260086eb63517bb585b5d8" },
"inc-rename.nvim": { "branch": "main", "commit": "0074b551a17338ccdcd299bd86687cc651bcb33d" },
"jq.nvim": { "branch": "main", "commit": "70e12681b1026ba7c06c691fd815eed0e2244b81" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
"log-highlight.nvim": { "branch": "main", "commit": "b2e00cfd41ca94338265a595f3f3f423d9f9322e" },
"ltex-ls.nvim": { "branch": "main", "commit": "968eac261279d88d7f1ed556aa2dbc535a7489fe" },
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "7adc933dabcc7c86ae6b07aff7ee68eac398491f" },
"mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
"mini.nvim": { "branch": "main", "commit": "a35f08f63b73f0ffac045cd175fb2a22e167c39c" },
"mini.pick": { "branch": "main", "commit": "04e73ab07222508361095bb6e27621b315e6b9f1" },
"neogit": { "branch": "master", "commit": "f8674ec894315c02449b61c9de9a116c5aafeb90" },
"neoscroll.nvim": { "branch": "master", "commit": "c8d29979cb0cb3a2437a8e0ae683fd82f340d3b8" },
"neotest": { "branch": "master", "commit": "4e2cd42c4252ee9d2435571d9adcdbc1d47931fe" },
"neotest-plenary": { "branch": "master", "commit": "3523adcf9ffaad1911960c5813b0136c1b63a2ec" },
"neotest-python": { "branch": "master", "commit": "1b56ca4ba51c6014f986d6548ee629bdc95589d1" },
"neotest-vim-test": { "branch": "master", "commit": "75c4228882ae4883b11bfce9b8383e637eb44192" },
"nui-components.nvim": { "branch": "main", "commit": "1654dd709f13874089eefc80d82e0eb667f7fdfb" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-colorpicker": { "branch": "main", "commit": "88f6aeac944570ebfb97ac67c9fea27a73ea0429" },
"nvim-dap": { "branch": "master", "commit": "9e848e09a697ee95302a3ef2dd43fd6eb709e570" },
"nvim-java": { "branch": "main", "commit": "9e8b842ea9eff3ebf25fb7360908ed4d4f87c56a" },
"nvim-lspconfig": { "branch": "master", "commit": "e7ca2c95ba316a8b846d3f3546d407908c5c4ccb" },
"nvim-nio": { "branch": "master", "commit": "edcc181a875301dd21840189aa2f2f9ad69fc172" },
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-tree.lua": { "branch": "master", "commit": "4213bd6eabac38b16dd6615002b6243b23cf3bf6" },
"nvim-treesitter": { "branch": "main", "commit": "7248feaca45e4d944591497964bc19afa89ad1c6" },
"nvim-web-devicons": { "branch": "master", "commit": "0ca28b61a04fe7426cefbdd52c2647ef0e335b5f" },
"obsidian.nvim": { "branch": "main", "commit": "bf1616d46e72477ad978051363fdb5c839c1cce5" },
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"remote-nvim.nvim": { "branch": "main", "commit": "9992c2fb8bf4f11aca2c8be8db286b506f92efcb" },
"render-markdown.nvim": { "branch": "main", "commit": "f422cb5c6855f150e2ddcfaf44e7157b98b34f6a" },
"resize.nvim": { "branch": "main", "commit": "0b8943ef2ce54e65b9e56974e94dee593b28e7b5" },
"ripgrep": { "branch": "master", "commit": "227381db0ee83dfa4341f1e27ff9617c0f5ad992" },
"snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
"spring-boot.nvim": { "branch": "main", "commit": "218c0c26c14d99feca778e4d13f5ec3e8b1b60f0" },
"sudo.nvim": { "branch": "main", "commit": "10c211716f0f0149ea91732bc12338ade76d4af8" },
"telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" },
"themery.nvim": { "branch": "main", "commit": "bfa58f4b279d21cb515b28023e1b68ec908584b2" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"transparent.nvim": { "branch": "main", "commit": "e00ca1cf09caef575edf8da7e5a8b9193893b4c7" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"ts-comments.nvim": { "branch": "main", "commit": "a59d6092213447450191122c9346f309161504cb" },
"typr": { "branch": "main", "commit": "584e4ef34dea25a4035627794322f315b22d1253" },
"vim-be-good": { "branch": "master", "commit": "0ae3de14eb8efc6effe7704b5e46495e91931cc5" },
"vim-commentary": { "branch": "master", "commit": "64a654ef4a20db1727938338310209b6a63f60c9" },
"vim-signature": { "branch": "master", "commit": "6bc3dd1294a22e897f0dcf8dd72b85f350e306bc" },
"vim-termhere": { "branch": "main", "commit": "b66d429dd48b74802f09fd059bc499c253372a1c" },
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
"vimtex": { "branch": "master", "commit": "6368e31fdaf766ff908a2c06e9ee14fc66dec409" },
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}
+16 -7
View File
@@ -31,7 +31,8 @@ vim.keymap.set('n','<Esc>' ,'<cmd>nohlsearch<CR>')
vim.keymap.set('t','<Esc><Esc>' ,'<C-\\><C-n>' ,{ desc = 'Exit terminal mode' })
vim.keymap.set('t','<C-h>' ,'<C-\\><C-n><C-w><C-h>' ,{ desc = 'Move focus to the left window' })
-- vim.keymap.set('n','<leader>r' ,'<cmd>TermExec cmd="clear && make"<CR>' ,{ desc = '[r]un make in terminal' })
vim.keymap.set('n','<leader>l' ,function() utils.RunCommand("l") end ,{ desc = 'run [l]ast command in terminal' })
vim.keymap.set('n','<leader>L' ,function() utils.RunCommand("l") end ,{ desc = 'run [l]ast command in terminal' })
vim.keymap.set('n','<C-CR>' ,function() utils.RunCommand("l") end ,{ desc = 'run [l]ast command in terminal' })
vim.keymap.set('n','<leader>ss' ,function() utils.saveSnapshot() end ,{ desc = '[S]ave a [S]napshot of the current windows' })
vim.keymap.set('n','<leader>sr' ,function() utils.returnSnapshot() end ,{ desc = '[R]eturn to saved [S]napshot' })
vim.keymap.set('n','<leader>n' ,'<cmd>ToggleTerm direction=vertical name=compile size=70<CR>', { desc = 'open a [n]ew terminal' })
@@ -86,12 +87,7 @@ vim.keymap.set("n", "<C-A>" ,"m'ggyG''" ,{ desc = "[Y]ank whole file" })
vim.keymap.set("n", "<leader>sr" ,[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]] ,{ desc = "[S]earch/[R]eplace word under cursor" })
-- PLUGIN KEYBINDS
vim.keymap.set({ "n", "v" } ,"<leader>aa" ,"<cmd>CodeCompanionActions<cr>" ,{ desc = "CodeCompanion - Actions" })
vim.keymap.set({ "n", "v" } ,"<leader>ac" ,"<cmd>CodeCompanionChat Toggle<cr>" ,{ desc = "CodeCompanion - Chat" })
vim.keymap.set({ "n", "v" } ,"<leader>ai" ,"<cmd>CodeCompanion<cr>" ,{ desc = "CodeCompanion - Inline" })
vim.keymap.set("v" ,"<leader>ad" ,"<cmd>CodeCompanionChat Add<cr>" ,{ desc = "CodeCompanion - Add to Chat" })
-- Expand 'cc' into 'CodeCompanion' in the command line
vim.cmd([[cab cc CodeCompanion]])
-- TODO move these to their respective plugin files (for lazy recognition)
--spellcheck keybind to toggle on current buffer
vim.keymap.set('n',"<leader>ze" ,"<cmd>setlocal spell<cr>" ,{ desc = "enable spellecheck on buffer" })
@@ -106,3 +102,16 @@ vim.keymap.set('n', '<leader>gg' ,'<cmd>Neogit<cr>' ,{ desc = 'open Neo[g]it
vim.keymap.set('n', '<leader>gc' ,'<cmd>Neogit commit<cr>' ,{ desc = 'open Neogit [c]ommit page' })
vim.keymap.set('n', '<leader>gd' ,'<cmd>Neogit diff<cr>' ,{ desc = 'open Neogit [d]iff page' })
vim.keymap.set('n', '<leader>gt' ,'<cmd>Neogit tagg<cr>' ,{ desc = 'open Neogit [t]agg page' })
-- Obsidian
vim.keymap.set("n", "gf", function()
if require("obsidian").util.cursor_on_markdown_link() then
return "ObsidianFollowLink"
else
return "gf"
end
end, { expr = true, desc = "Follow Obsidian link" })
vim.keymap.set("n", "<leader>os" , "ObsidianSearch" , { desc = "Search Obsidian" })
vim.keymap.set("n", "<leader>on" , "ObsidianNew" , { desc = "New Obsidian note" })
+16 -16
View File
@@ -3,24 +3,24 @@
function M.setup()
require('base16-colorscheme').setup {
-- Background tones
base00 = '#000000', -- Default Background
base01 = '#110d1a', -- Lighter Background (status bars)
base02 = '#1a1428', -- Selection Background
base03 = '#644c94', -- Comments, Invisibles
base00 = '#191724', -- Default Background
base01 = '#26233a', -- Lighter Background (status bars)
base02 = '#2e2b47', -- Selection Background
base03 = '#656278', -- Comments, Invisibles
-- Foreground tones
base04 = '#b58fff', -- Dark Foreground (status bars)
base05 = '#e8d8ff', -- Default Foreground
base06 = '#e8d8ff', -- Light Foreground
base07 = '#e8d8ff', -- Lightest Foreground
base04 = '#908caa', -- Dark Foreground (status bars)
base05 = '#e0def4', -- Default Foreground
base06 = '#e0def4', -- Light Foreground
base07 = '#e0def4', -- Lightest Foreground
-- Accent colors
base08 = '#ff6f9b', -- Variables, XML Tags, Errors
base09 = '#d8b4ff', -- Integers, Constants
base0A = '#c79aff', -- Classes, Search Background
base0B = '#b58fff', -- Strings, Diff Inserted
base0C = '#bd80ff', -- Regex, Escape Chars
base0D = '#ab80ff', -- Functions, Methods
base0E = '#b880ff', -- Keywords, Storage
base0F = '#bc0039', -- Deprecated, Embedded Tags
base08 = '#eb6f92', -- Variables, XML Tags, Errors
base09 = '#31748f', -- Integers, Constants
base0A = '#9ccfd8', -- Classes, Search Background
base0B = '#ebbcba', -- Strings, Diff Inserted
base0C = '#96d1e9', -- Regex, Escape Chars
base0D = '#e99996', -- Functions, Methods
base0E = '#96dce9', -- Keywords, Storage
base0F = '#961137', -- Deprecated, Embedded Tags
}
end
+2 -2
View File
@@ -6,7 +6,6 @@
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
vim.g.have_nerd_font = true
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
@@ -17,7 +16,7 @@ vim.opt.spellcapcheck = ""
vim.o.number = true -- Make line numbers default
vim.o.relativenumber = true
vim.o.showmode = false
vim.o.foldmethod = "marker"
vim.o.foldmethod = "expr"
-- Sync clipboard between OS and Neovim.
-- Schedule the setting after `UiEnter` because it can increase startup-time.
-- Remove this option if you want your OS clipboard to remain independent.
@@ -64,4 +63,5 @@ vim.opt.termguicolors = true -- required for colorizer
require('autocommands')
vim.env.PATH = vim.fn.stdpath("data") .. "/mason/bin" .. ":" .. vim.env.PATH
vim.g.python3_host_prog = vim.fn.expand("~/.local/share/nvim/venv/bin/python")
+6
View File
@@ -0,0 +1,6 @@
return { 'RRethy/base16-nvim',
config = function()
local ok, matugen = pcall(require, 'matugen')
if ok then matugen.setup() end
end,
}
+68 -111
View File
@@ -1,129 +1,86 @@
return {
"olimorris/codecompanion.nvim",
version = "^19.0.0",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
--{{{ Options
opts = {
--- {{{ Display
display = {
chat = {
window = {
layout = "vertical",
width = 0.35,
height = 0.35,
},
keymaps = {
close = {
modes = {
n = "q", -- Bind "q" in normal mode to close the chat
},
index = 1,
callback = "keymaps.close",
description = "Close Chat",
},
}
adapters = {
acp = {
hermes = function()
local adapter = require("codecompanion.adapters").extend("codex", {
name = "hermes",
formatted_name = "Hermes",
commands = {
default = {
vim.fn.exepath("hermes") ~= "" and vim.fn.exepath("hermes") or "hermes",
"acp",
},
},
defaults = {
auth_method = "openai-codex",
timeout = 20000,
mcpServers = {},
},
})
-- Hermes resolves credentials from its own configuration.
adapter.env = {}
return adapter
end,
extend = {
codex = {
defaults = {
auth_method = "chat-gpt",
},
},
},
},
http = {
extend = {
openai_responses = {
schema = {
model = {
default = "gpt-5.6-terra",
},
},
},
},
openai_terra = function()
return require("codecompanion.adapters").extend("openai_responses", {
name = "openai_terra",
formatted_name = "OpenAI: GPT-5.6 Terra",
schema = {
model = {
default = "gpt-5.6-terra",
},
},
})
end,
openai_luna = function()
return require("codecompanion.adapters").extend("openai_responses", {
name = "openai_luna",
formatted_name = "OpenAI: GPT-5.6 Luna",
schema = {
model = {
default = "gpt-5.6-luna",
},
},
})
end,
},
},
-- }}}
--
-- {{{ INTERACTIONS
interactions = {
chat = {
adapter = "ollama_coder", -- Removed the curly braces
adapter = "hermes",
},
inline = {
adapter = "ollama_coder", -- Removed the curly braces
adapter = {
name = "openai_responses",
model = "gpt-5.6-terra",
},
background = {
adapter = "ollama_bg", -- Pointed this to the new extended adapter string
}
},
-- }}}
--
-- {{{ Adapters
adapters = {
http = {
gemini_pro = function()
return require("codecompanion.adapters").extend("gemini", {
name = "gemini_pro",
schema = {
model = {
default = "gemini-3.5-flash",
},
},
})
end,
gemini_flash = function()
return require("codecompanion.adapters").extend("gemini", {
name = "gemini_flash",
schema = {
model = {
default = "gemini-2.0-flash",
},
},
})
end,
-- local ollama coding model
ollama_coder = function()
return require("codecompanion.adapters").extend("ollama", {
name = "ollama_bg",
schema = {
model = {
default = "qwen2.5-coder:7b",
},
},
})
end,
-- Added an extended Ollama adapter to fix your background task
ollama_bg = function()
return require("codecompanion.adapters").extend("ollama", {
name = "ollama_bg",
schema = {
model = {
default = "qwen3.5:4b",
},
},
})
end,
},
},
-- }}}
--
-- {{{ Library
prompt_library = {
["Local Executor"] = {
strategy = "chat",
description = "Executes implementation diffs locally and writes TDD test cases.",
opts = {
adapter = "ollama_coder", -- Force it to use your local hardware
is_default = false,
is_slash_cmd = false,
},
prompts = {
{
role = "system",
content = [[You are the Last Mile Executor.
You run in a stateless context. I will provide you with a unified diff and a testing plan.
Your strict execution order is:
1. Output the test case file modifications first (SDET-first).
2. Output the production implementation code modifications.
Do not write markdown headers (H1/H2). Use code blocks with the language ID.
Precede every code block with a line comment specifying the exact 'filepath:'.
Do not use bash syntax; adhere strictly to POSIX sh if writing shell automation.
Do not execute terminal commands directly. Output the code blocks for manual unstaged review.]],
},
{
role = "user",
content = "I am ready to provide the Planner's diff. Await my input.",
},
},
},
},
-- }}}
}
--}}}
}
+24
View File
@@ -0,0 +1,24 @@
return {
"3rd/image.nvim",
event = "VeryLazy",
opts = {
backend = "kitty",
processor = "magick_cli", -- Uses your system's ImageMagick CLI directly
integrations = {
markdown = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
},
},
max_width = nil,
max_height = nil,
max_height_window_percentage = math.huge,
max_width_window_percentage = math.huge,
window_overlap_clear_enabled = true,
-- Automatically hijack and render PDF files inside Neovim buffers
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.pdf" },
},
}
+40
View File
@@ -0,0 +1,40 @@
return {
"epwalsh/obsidian.nvim",
version = "*", -- recommended, use latest release instead of latest commit
lazy = true,
-- ft = "markdown",
-- swap event for ft line to load on all markdown files, not just those in the vault
event = {
-- If you want to use the home shortcut '~' here you need to call 'vim.fn.expand'.
-- E.g. "BufReadPre " .. vim.fn.expand "~" .. "/my-vault/*.md"
-- refer to `:h file-pattern` for more examples
"BufReadPre /home/venus/Documents/Notes/*.md",
"BufNewFile /home/venus/Documents/Notes/*.md",
},
dependencies = {
-- Required.
"nvim-lua/plenary.nvim",
},
opts = {
workspaces = {
{
name = "Primay",
path = "~/Notes",
},
{
name = "Old",
path = "~/Documents/Personal-Wiki/",
},
},
daily_notes = {
-- Optional, if you want to change the date format for the ID of daily notes.
date_format = "%Y-%m-%d",
-- Optional, default tags to add to each new daily note created.
default_tags = { "daily" },
-- Optional, if you want to automatically insert a template from your template directory like 'daily.md'
template = "templates/Daily Note.md",
},
new_notes_location = "current_dir",
},
}
+71
View File
@@ -0,0 +1,71 @@
local preferred_agent = "hermes"
return {
"folke/sidekick.nvim",
keys = {
{
"<leader>as",
function()
require("sidekick.cli").select()
end,
desc = "Sidekick (Select AI CLI)",
},
{
"<leader>aa",
function()
require("sidekick.cli").toggle({ name = preferred_agent, focus = true })
end,
desc = "Sidekick Toggle " .. preferred_agent,
},
{
"<leader>ah",
function()
require("sidekick.cli").toggle({ name = "hermes", focus = true })
end,
desc = "Sidekick Toggle Hermes",
},
{
"<leader>ak",
function()
require("sidekick.cli").toggle({ name = "antigravity", focus = true })
end,
desc = "Sidekick Toggle Antigravity",
},
{ "<leader>ap",
function()
require("sidekick.cli").prompt()
end,
desc = "Sidekick Prompt",
},
{ "<leader>an",
function()
require("sidekick.nes").jump()
end,
desc = "Sidekick Jump to Next Suggestion",
},
{ "<leader>at",
function()
require("sidekick.nes").toggle()
end,
desc = "toggle sidekick suggestions"
},
{ "<M-CR>",
function()
require("sidekick.nes").apply()
end,
desc = "apply sidekick suggestion"
}
},
opts = {
cli = {
tools = {
antigravity = {
cmd = { "agy" },
},
hermes = {
cmd = { "hermes" },
is_proc = "\\<hermes\\>",
},
},
},
},
}
+76
View File
@@ -0,0 +1,76 @@
-- Mostly Generated with Antigravity CLI Gemini 3.7 Flash
return {
"lervag/vimtex",
lazy = false,
init = function()
vim.g.vimtex_compiler_method = "tectonic"
vim.g.vimtex_quickfix_mode = 0
vim.g.vimtex_view_enabled = 0 -- Disable external GUI popup
end,
config = function()
local function open_pdf_split()
local pdf_path = vim.fn.expand("%:p:r") .. ".pdf"
if vim.fn.filereadable(pdf_path) == 1 then
vim.cmd("vsplit " .. vim.fn.fnameescape(pdf_path))
else
vim.notify("PDF not found: " .. pdf_path .. "\nCompile first with <Space>ll", vim.log.levels.WARN)
end
end
-- Provide user command :VimtexPreviewBuffer
vim.api.nvim_create_user_command("VimtexPreviewBuffer", open_pdf_split, { desc = "VimTeX: Open PDF in vertical split" })
-- Buffer-local keymaps for TeX files
vim.api.nvim_create_autocmd("FileType", {
pattern = { "tex", "latex" },
callback = function(ev)
local opts = { buffer = ev.buf, desc = "VimTeX: View PDF in Neovim split" }
vim.keymap.set("n", "<localleader>lv", open_pdf_split, opts)
vim.keymap.set("n", "<leader>lv", open_pdf_split, opts)
end,
})
-- Helper function to refresh and re-render all open PDF splits with image.nvim
local function reload_pdf_buffers()
local ok, image_api = pcall(require, "image")
for _, win in ipairs(vim.api.nvim_list_wins()) do
local buf = vim.api.nvim_win_get_buf(win)
local buf_name = vim.api.nvim_buf_get_name(buf)
if buf_name:match("%.pdf$") then
vim.api.nvim_win_call(win, function()
vim.cmd("edit!")
end)
if ok and image_api then
local imgs = image_api.get_images({ window = win, buffer = buf })
if #imgs > 0 then
for _, img in ipairs(imgs) do
img:clear()
img:render()
end
else
image_api.hijack_buffer(buf_name, win, buf)
end
end
end
end
end
-- Automatically trigger compilation on save (:w)
vim.api.nvim_create_autocmd("BufWritePost", {
pattern = "*.tex",
callback = function()
if vim.b.vimtex and vim.fn.exists(":VimtexCompileSS") == 2 then
vim.cmd("VimtexCompileSS")
end
end,
})
-- Automatically reload and re-render PDF splits when compilation finishes
vim.api.nvim_create_autocmd("User", {
pattern = { "VimtexEventCompileSuccess", "VimtexEventCompileStopped" },
callback = function()
reload_pdf_buffers()
end,
})
end,
}