Compare commits

..
6 Commits
8 changed files with 147 additions and 20 deletions
+3 -2
View File
@@ -34,18 +34,19 @@ require("lazy").setup({
'basola21/PDFview', -- rendering pdfs in nvim 'basola21/PDFview', -- rendering pdfs in nvim
'rcarriga/nvim-notify', -- notification manager 'rcarriga/nvim-notify', -- notification manager
-- { 'jokajak/keyseer.nvim', version = '*' }, -- keybinds visualizer -- { '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 { 'smjonas/inc-rename.nvim', config = true }, --lsp plugin for renaming variable
{ "m4xshen/hardtime.nvim", lazy = false, dependencies = { "MunifTanjim/nui.nvim" }}, --annoying { "m4xshen/hardtime.nvim", lazy = false, dependencies = { "MunifTanjim/nui.nvim" }}, --annoying
{ "nvzone/typr", dependencies = "nvzone/volt", cmd = { "Typr", "TyprStats" }, }, --typing practice { "nvzone/typr", dependencies = "nvzone/volt", cmd = { "Typr", "TyprStats" }, }, --typing practice
{ 'norcalli/nvim-colorizer.lua', config = function() require('colorizer').setup{"*"} end,}, -- preview colors { '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 { "denialofsandwich/sudo.nvim", dependencies = { "MunifTanjim/nui.nvim", },config = true, }, --write restricted files without restart
{ 'akinsho/toggleterm.nvim', version = "*", config = true}, -- terminal toggling and commands { '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 { 'nvim-java/nvim-java', config = function() require('java').setup() vim.lsp.enable('jdtls') end, }, --java QOL
-- disable matugen if not using noctalia shell -- disable matugen if not using noctalia shell
{ 'RRethy/base16-nvim', config = function() require('matugen').setup() end,}, --colorshceme for noctalia integration { '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 }, { 'windwp/nvim-autopairs', event = "InsertEnter", config = true },
{ "folke/ts-comments.nvim", event = "VeryLazy", }, -- qol for commenting { "folke/ts-comments.nvim", event = "VeryLazy", }, -- qol for commenting
{ "marcinjahn/gemini-cli.nvim", cmd = "Gemini", dependencies = { "folke/snacks.nvim", }, config = true, }, { "marcinjahn/gemini-cli.nvim", cmd = "Gemini", dependencies = { "folke/snacks.nvim", }, config = true, },
+2 -1
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','<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('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>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>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>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' }) vim.keymap.set('n','<leader>n' ,'<cmd>ToggleTerm direction=vertical name=compile size=70<CR>', { desc = 'open a [n]ew terminal' })
+16 -16
View File
@@ -3,24 +3,24 @@
function M.setup() function M.setup()
require('base16-colorscheme').setup { require('base16-colorscheme').setup {
-- Background tones -- Background tones
base00 = '#000000', -- Default Background base00 = '#191724', -- Default Background
base01 = '#110d1a', -- Lighter Background (status bars) base01 = '#26233a', -- Lighter Background (status bars)
base02 = '#1a1428', -- Selection Background base02 = '#2e2b47', -- Selection Background
base03 = '#644c94', -- Comments, Invisibles base03 = '#656278', -- Comments, Invisibles
-- Foreground tones -- Foreground tones
base04 = '#b58fff', -- Dark Foreground (status bars) base04 = '#908caa', -- Dark Foreground (status bars)
base05 = '#e8d8ff', -- Default Foreground base05 = '#e0def4', -- Default Foreground
base06 = '#e8d8ff', -- Light Foreground base06 = '#e0def4', -- Light Foreground
base07 = '#e8d8ff', -- Lightest Foreground base07 = '#e0def4', -- Lightest Foreground
-- Accent colors -- Accent colors
base08 = '#ff6f9b', -- Variables, XML Tags, Errors base08 = '#eb6f92', -- Variables, XML Tags, Errors
base09 = '#d8b4ff', -- Integers, Constants base09 = '#31748f', -- Integers, Constants
base0A = '#c79aff', -- Classes, Search Background base0A = '#9ccfd8', -- Classes, Search Background
base0B = '#b58fff', -- Strings, Diff Inserted base0B = '#ebbcba', -- Strings, Diff Inserted
base0C = '#bd80ff', -- Regex, Escape Chars base0C = '#96d1e9', -- Regex, Escape Chars
base0D = '#ab80ff', -- Functions, Methods base0D = '#e99996', -- Functions, Methods
base0E = '#b880ff', -- Keywords, Storage base0E = '#96dce9', -- Keywords, Storage
base0F = '#bc0039', -- Deprecated, Embedded Tags base0F = '#961137', -- Deprecated, Embedded Tags
} }
end end
+1 -1
View File
@@ -6,7 +6,6 @@
vim.g.mapleader = ' ' vim.g.mapleader = ' '
vim.g.maplocalleader = ' ' vim.g.maplocalleader = ' '
vim.g.have_nerd_font = true vim.g.have_nerd_font = true
vim.g.loaded_netrw = 1 vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1 vim.g.loaded_netrwPlugin = 1
@@ -64,4 +63,5 @@ vim.opt.termguicolors = true -- required for colorizer
require('autocommands') require('autocommands')
vim.env.PATH = vim.fn.stdpath("data") .. "/mason/bin" .. ":" .. vim.env.PATH 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,
}
+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" },
},
}
+19
View File
@@ -1,3 +1,4 @@
local preferred_agent = "hermes"
return { return {
"folke/sidekick.nvim", "folke/sidekick.nvim",
keys = { keys = {
@@ -8,6 +9,20 @@ return {
end, end,
desc = "Sidekick (Select AI CLI)", 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", "<leader>ak",
function() function()
@@ -46,6 +61,10 @@ return {
antigravity = { antigravity = {
cmd = { "agy" }, 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,
}