2026-06-23 14:45:30 -04:00

456 lines
13 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local function import(name)
return function()
require(name)
end
end
return {
{
'nvim-mini/mini.nvim',
version = false
},
{
"RRethy/base16-nvim",
},
{
"vim-airline/vim-airline",
dependencies = {
"ryanoasis/vim-devicons",
},
},
{
"mustache/vim-mustache-handlebars",
},
{
"whonore/Coqtail",
},
{
"Julian/lean.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
},
config = function()
import("lean")
vim.g.lean_config = { opts = { mappings = true } }
end,
},
{
"noir-lang/noir-nvim",
},
{
"nvim-treesitter/nvim-treesitter",
lazy = false,
version = false,
build = function()
vim.cmd(":TSUpdate")
end,
opts = {
highlight = {
enable = true,
disable = { "sage", "sage.python", "ipkg", "markdown", "md" }
},
indent = {
enable = true,
disable = { "sage", "sage.python", "markdown", "md" }
},
ensure_installed = "all",
ignore_install = { "sage", "sage.python", "ipkg", "markdown", "md" },
},
},
{
"petRUShka/vim-sage",
},
{
"evanleck/vim-svelte",
},
{
"wuelnerdotexe/vim-astro",
},
{
"tpope/vim-fugitive",
config = function()
local map = vim.api.nvim_set_keymap
map('n', '<Leader>g', '<Cmd>Git<CR>', { noremap = true })
end,
},
{
"tpope/vim-surround",
},
{
"tpope/vim-repeat",
},
{
"nvim-lua/plenary.nvim",
},
{
"lewis6991/gitsigns.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
},
config = function()
require('gitsigns').setup {
signs = {
add = {
text = '',
},
change = {
text = '',
},
delete = {
text = '_',
},
topdelete = {
text = '',
},
changedelete = {
text = '~',
},
},
}
end,
},
{
"akinsho/flutter-tools.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
},
config = function()
require('flutter-tools').setup {
-- lsp = {
-- color = {
-- enabled = false
-- }
-- }
}
end,
},
{
"numToStr/Comment.nvim",
config = function()
local map = vim.api.nvim_set_keymap
require('Comment').setup({})
map(
'n',
'<C-_>',
'<Cmd>lua require("Comment.api").toggle_linewise_op(vim.fn.visualmode())<CR>',
{ noremap = true, silent = true }
)
end,
},
{
"nvim-telescope/telescope.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
{
"nvim-telescope/telescope-fzf-native.nvim",
build = "make",
},
"nvim-telescope/telescope-symbols.nvim",
},
config = import("tel"),
},
{
"stevearc/dressing.nvim",
config = function()
require('dressing').setup({
input = {
default_prompt = '',
win_options = {
winhighlight = 'NormalFloat:Normal',
},
},
})
vim.cmd [[highlight link FloatTitle NonText]]
vim.cmd [[highlight link DressingInputText Normal]]
end,
},
{
"antoinemadec/FixCursorHold.nvim",
config = function()
vim.g.cursorhold_updatetime = 500
end,
},
{
"sirver/ultisnips",
ft = { 'latex', 'plaintex', 'tex' },
config = function()
vim.g.UltiSnipsExpandTrigger = '<tab>'
vim.g.UltiSnipsJumpForwardTrigger = '<C-h>'
vim.g.UltiSnipsJumpBackwardTrigger = '<C-b>'
end,
},
{
"ms-jpq/coq.artifacts",
branch = "artifacts",
lazy = false
},
{
"ms-jpq/coq_nvim",
branch = "coq",
lazy = false,
dependencies = {
{
"ms-jpq/coq.artifacts",
branch = "artifacts",
lazy = false,
},
{
"ms-jpq/coq.thirdparty",
branch = "3p",
lazy = false,
},
},
init = function()
vim.g.coq_settings = {
-- auto_start = 'shut-up',
keymap = {
eval_snips = "<Leader>se",
},
-- match = {
-- look_ahead = 1,
-- },
clients = {
snippets = {
always_on_top = true,
enabled = true,
weight_adjust = 100,
},
buffers = {
enabled = true,
weight_adjust = -2.0,
},
tree_sitter = {
enabled = true,
weight_adjust = -1.5,
},
lsp = {
enabled = true,
weight_adjust = -100,
},
third_party = {
enabled = true,
weight_adjust = -1.5,
}
}
}
require('coq_3p') {
{ src = 'vimtex', short_name = 'TEX' },
{ src = 'nvimlua', short_name = 'NLUA', conf_only = true },
{ src = 'bc', short_name = 'CALC', precision = 8 },
}
end,
build = function()
require("coq")
vim.cmd(":COQdeps")
end,
config = function()
require('coq_3p') {
{ src = 'vimtex', short_name = 'TEX' },
{ src = 'nvimlua', short_name = 'NLUA', conf_only = true },
{ src = 'bc', short_name = 'CALC', precision = 8 },
}
end
},
{
"ms-jpq/coq.thirdparty",
branch = "3p",
lazy = false,
},
{
"nvim-lua/lsp-status.nvim",
lazy = false,
},
{
"neovim/nvim-lspconfig",
lazy = false,
dependencies = {
{
"nvim-lua/lsp-status.nvim",
lazy = false,
},
{
"ms-jpq/coq.thirdparty",
branch = "3p",
lazy = false,
},
{
"ms-jpq/coq.artifacts",
branch = "artifacts",
lazy = false,
},
{
"ms-jpq/coq_nvim",
branch = "coq",
lazy = false,
dependencies = {
{
"ms-jpq/coq.artifacts",
branch = "artifacts",
lazy = false,
},
},
},
},
config = function()
local capabilities = require("coq").lsp_ensure_capabilities()
-- extend coq completion capabilities all lsps
vim.lsp.config('*', {
capabilities = capabilities,
})
vim.lsp.enable("lua_ls")
require("lsp")
end,
},
{
"lervag/vimtex",
config = function()
vim.g.vimtex_view_general_viewer = 'zathura'
vim.g.vimtex_compiler_method = "latexmk"
-- vim.g.vimtex_view_general_options = = '-x nvim -n -c "Vimtex'
-- 'file:@pdf\\#src:@line@tex'
-- vim.g.vimtex_quickfix_enabled = 0
-- vim.g.Tex_GotoError = 0
-- vim.g.Tex_ShowErrorContext = 0
end,
},
{
"iamcco/markdown-preview.nvim",
ft = { "markdown" },
init = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
build = function()
vim.fn.system("cd app && npm install")
end,
config = function()
local map = vim.api.nvim_set_keymap
map('n', '<C-m>', '<Plug>MarkdownPreviewToggle', {})
map('n', '<Leader>m', '<Plug>MarkdownPreviewToggle', {})
vim.g.mkdp_markdown_css =
os.getenv("HOME") .. "/.config/nvim/lua/markdownStyle.css"
vim.g.mkdp_highlight_css =
os.getenv("HOME") .. "/.cache/wal/colors.css"
end,
},
{
'kkrampis/codex.nvim',
lazy = true,
cmd = { 'Codex', 'CodexToggle' }, -- Optional: Load only on command execution
keys = {
{
'<leader>cc', -- Change this to your preferred keybinding
function() require('codex').toggle() end,
desc = 'Toggle Codex popup or side-panel',
mode = { 'n', 't' }
},
},
opts = {
keymaps = {
toggle = nil, -- Keybind to toggle Codex window (Disabled by default, watch out for conflicts)
quit = '<C-q>', -- Keybind to close the Codex window (default: Ctrl + q)
}, -- Disable internal default keymap (<leader>cc -> :CodexToggle)
border = 'rounded', -- Options: 'single', 'double', or 'rounded'
width = 0.8, -- Width of the floating window (0.0 to 1.0)
height = 0.8, -- Height of the floating window (0.0 to 1.0)
model = nil, -- Optional: pass a string to use a specific model (e.g., 'o3-mini')
autoinstall = true, -- Automatically install the Codex CLI if not found
panel = false, -- Open Codex in a side-panel (vertical split) instead of floating window
use_buffer = false, -- Capture Codex stdout into a normal buffer instead of a terminal buffer
},
},
{
"coder/claudecode.nvim",
dependencies = { "folke/snacks.nvim" },
config = true,
-- `cmd` lets lazy.nvim create command stubs that load the plugin on first use,
-- so `:ClaudeCode` and friends work on a fresh start. Without it, a keys-only
-- spec defers loading until a <leader>a* mapping is pressed and the commands
-- would not exist yet.
cmd = {
"ClaudeCode",
"ClaudeCodeFocus",
"ClaudeCodeSelectModel",
"ClaudeCodeAdd",
"ClaudeCodeSend",
"ClaudeCodeTreeAdd",
"ClaudeCodeStatus",
"ClaudeCodeStart",
"ClaudeCodeStop",
"ClaudeCodeOpen",
"ClaudeCodeClose",
"ClaudeCodeDiffAccept",
"ClaudeCodeDiffDeny",
"ClaudeCodeCloseAllDiffs",
},
keys = {
{ "<leader>a", nil, desc = "AI/Claude Code" },
{ "<leader>ac", "<cmd>ClaudeCode<cr>", desc = "Toggle Claude" },
{ "<leader>af", "<cmd>ClaudeCodeFocus<cr>", desc = "Focus Claude" },
{ "<leader>ar", "<cmd>ClaudeCode --resume<cr>", desc = "Resume Claude" },
{ "<leader>aC", "<cmd>ClaudeCode --continue<cr>", desc = "Continue Claude" },
{ "<leader>am", "<cmd>ClaudeCodeSelectModel<cr>", desc = "Select Claude model" },
{ "<leader>ab", "<cmd>ClaudeCodeAdd %<cr>", desc = "Add current buffer" },
{ "<leader>as", "<cmd>ClaudeCodeSend<cr>", mode = "v", desc = "Send to Claude" },
{
"<leader>as",
"<cmd>ClaudeCodeTreeAdd<cr>",
desc = "Add file",
ft = { "NvimTree", "neo-tree", "oil", "minifiles", "netrw", "snacks_picker_list" },
},
-- Diff management
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
},
}
}