234 lines
6.1 KiB
Lua
234 lines
6.1 KiB
Lua
return {
|
|
{
|
|
"stevearc/conform.nvim",
|
|
-- event = "BufWritePre",
|
|
opts = require "configs.conform",
|
|
},
|
|
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
config = function()
|
|
require "configs.lspconfig"
|
|
end,
|
|
},
|
|
|
|
{ import = "nvchad.blink.lazyspec" },
|
|
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
opts = {
|
|
ensure_installed = {
|
|
"vim",
|
|
"lua",
|
|
"vimdoc",
|
|
"html",
|
|
"css",
|
|
"tsx",
|
|
"jsx",
|
|
"rust",
|
|
"vue",
|
|
"svelte",
|
|
},
|
|
},
|
|
},
|
|
|
|
{
|
|
"windwp/nvim-ts-autotag",
|
|
lazy = false,
|
|
config = function()
|
|
require("nvim-ts-autotag").setup {
|
|
opts = {
|
|
enable_close = true,
|
|
enable_rename = true,
|
|
enable_close_on_slash = false,
|
|
},
|
|
}
|
|
end,
|
|
},
|
|
{
|
|
"NeogitOrg/neogit",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim", -- required
|
|
"nvim-telescope/telescope.nvim", -- optional
|
|
"sindrets/diffview.nvim", -- optional
|
|
"ibhagwan/fzf-lua", -- optional
|
|
},
|
|
config = true,
|
|
lazy = false,
|
|
},
|
|
{
|
|
"iamcco/markdown-preview.nvim",
|
|
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
|
build = "cd app && yarn install",
|
|
init = function()
|
|
vim.g.mkdp_filetypes = { "markdown" }
|
|
|
|
vim.api.nvim_set_keymap("n", "<leader>mp", ":MarkdownPreview<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>ms", ":MarkdownPreviewStop<CR>", { noremap = true, silent = true })
|
|
vim.api.nvim_set_keymap("n", "<leader>gl", ":Neogit<CR>", { noremap = true, silent = true })
|
|
end,
|
|
ft = { "markdown" },
|
|
},
|
|
{
|
|
"mg979/vim-visual-multi",
|
|
lazy = false,
|
|
},
|
|
{
|
|
"sourcegraph/sg.nvim",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
},
|
|
build = "nvim -l build/init.lua",
|
|
lazy = false,
|
|
},
|
|
|
|
{
|
|
"ThePrimeagen/vim-be-good",
|
|
lazy = false,
|
|
},
|
|
{
|
|
"andweeb/presence.nvim",
|
|
lazy = false,
|
|
config = function()
|
|
require("presence").setup {
|
|
-- General options
|
|
auto_update = true,
|
|
neovim_image_text = "The One True Text Editor",
|
|
main_image = "neovim",
|
|
log_level = nil,
|
|
debounce_timeout = 10,
|
|
enable_line_number = false,
|
|
blacklist = {},
|
|
buttons = true,
|
|
file_assets = {},
|
|
show_time = true,
|
|
|
|
-- Rich Presence text options
|
|
editing_text = "Editing %s",
|
|
file_explorer_text = "Browsing %s",
|
|
git_commit_text = "Committing changes",
|
|
plugin_manager_text = "Managing plugins",
|
|
reading_text = "Reading %s",
|
|
workspace_text = "Working on %s",
|
|
line_number_text = "Line %s out of %s",
|
|
}
|
|
end,
|
|
},
|
|
|
|
{
|
|
"lervag/vimtex",
|
|
lazy = false,
|
|
init = function()
|
|
vim.g.vimtex_view_method = "zathura_simple"
|
|
|
|
vim.g.vimtex_compiler_latexmk = {
|
|
out_dir = "build",
|
|
options = {
|
|
"-pdf",
|
|
"-shell-escape",
|
|
"-verbose",
|
|
"-file-line-error",
|
|
"-synctex=1",
|
|
},
|
|
}
|
|
|
|
-- Mappings
|
|
local km = vim.keymap.set
|
|
km("n", "<localleader>ll", vim.cmd.VimtexCompile, { desc = "VimtexCompile" })
|
|
km("n", "<localleader>lv", vim.cmd.VimtexView, { desc = "VimtexView" })
|
|
km("n", "<localleader>lc", vim.cmd.VimtexCompileSS, { desc = "VimtexCompileSS" })
|
|
km("n", "<localleader>le", vim.cmd.VimtexErrors, { desc = "VimtexErrors" })
|
|
km("n", "<localleader>lo", vim.cmd.VimtexOutput, { desc = "VimtexOutput" })
|
|
km("n", "<localleader>ls", vim.cmd.VimtexStop, { desc = "VimtexStop" })
|
|
km("n", "<localleader>lS", vim.cmd.VimtexStopAll, { desc = "VimtexStopAll" })
|
|
km("n", "<localleader>li", vim.cmd.VimtexInfo, { desc = "VimtexInfo" })
|
|
km("n", "<localleader>lT", vim.cmd.VimtexTocOpen, { desc = "VimtexTocOpen" })
|
|
end,
|
|
},
|
|
|
|
{
|
|
"github/copilot.vim",
|
|
lazy = false,
|
|
},
|
|
|
|
{
|
|
"nickjvandyke/opencode.nvim",
|
|
version = "*", -- Latest stable release
|
|
lazy = false,
|
|
dependencies = {
|
|
{
|
|
"folke/snacks.nvim",
|
|
optional = true,
|
|
opts = {
|
|
input = {}, -- Enhances `ask()`
|
|
picker = { -- Enhances `select()`
|
|
actions = {
|
|
opencode_send = function(...)
|
|
return require("opencode").snacks_picker_send(...)
|
|
end,
|
|
},
|
|
win = {
|
|
input = {
|
|
keys = {
|
|
["<a-a>"] = { "opencode_send", mode = { "n", "i" } },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
config = function()
|
|
---@type opencode.Opts
|
|
vim.g.opencode_opts = {}
|
|
|
|
vim.o.autoread = true -- Required for `opts.events.reload`
|
|
|
|
local o = function()
|
|
return require "opencode"
|
|
end
|
|
|
|
vim.keymap.set({ "n", "t" }, "<leader>ct", function()
|
|
o().toggle()
|
|
end, { desc = "Opencode: Toggle panel" })
|
|
|
|
vim.keymap.set({ "n", "x" }, "<leader>ca", function()
|
|
o().ask("@this: ", { submit = true })
|
|
end, { desc = "Opencode: Ask selection" })
|
|
|
|
vim.keymap.set({ "n", "x" }, "<leader>ce", function()
|
|
o().select()
|
|
end, { desc = "Opencode: Execute action" })
|
|
|
|
vim.keymap.set({ "n", "x" }, "<leader>cs", function()
|
|
return o().operator "@this "
|
|
end, { expr = true, desc = "Opencode: Send selection" })
|
|
|
|
vim.keymap.set("n", "<leader>cl", function()
|
|
return o().operator "@this " .. "_"
|
|
end, { expr = true, desc = "Opencode: Send line" })
|
|
|
|
vim.keymap.set("n", "<leader>cu", function()
|
|
o().command "session.half.page.up"
|
|
end, { desc = "Opencode: Scroll up" })
|
|
|
|
vim.keymap.set("n", "<leader>cd", function()
|
|
o().command "session.half.page.down"
|
|
end, { desc = "Opencode: Scroll down" })
|
|
end,
|
|
},
|
|
{
|
|
"3rd/image.nvim",
|
|
event = "VeryLazy",
|
|
opts = {
|
|
backend = "ueberzug",
|
|
max_width = 600,
|
|
max_height = 72,
|
|
max_height_window_percentage = math.huge,
|
|
max_width_window_percentage = math.huge,
|
|
window_overlap_clear_enabled = true,
|
|
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "" },
|
|
},
|
|
},
|
|
}
|