nvim/lua/plugins/plugins.lua
grimhilt 88bd1246e3 wip
2025-04-20 14:07:40 +02:00

132 lines
3.7 KiB
Lua

return {
-- Theme
{
-- Theme inspired by Atom
'navarasu/onedark.nvim',
priority = 1000,
lazy = false,
config = function()
require('onedark').setup {
-- Set a style preset. 'dark' is default.
style = 'dark', -- dark, darker, cool, deep, warm, warmer, light
}
require('onedark').load()
end,
},
-- Vim plugins
"windwp/nvim-autopairs",
-- Git
"tpope/vim-fugitive",
"tpope/vim-rhubarb",
"linrongbin16/gitlinker.nvim",
cmd = "GitLink",
opts = {},
keys = {
{ "<leader>gy", "<cmd>GitLink<cr>", mode = { "n", "v" }, desc = "Yank git link" },
{ "<leader>gY", "<cmd>GitLink!<cr>", mode = { "n", "v" }, desc = "Open git link" },
},
-- Vim
{
"lervag/vimtex",
lazy = false, -- we don't want to lazy load VimTeX
-- tag = "v2.15", -- uncomment to pin to a specific release
init = function()
-- VimTeX configuration goes here, e.g.
vim.g.vimtex_view_method = "zathura"
end
},
"tpope/vim-commentary",
"tpope/vim-surround",
-- "christoomey/vim-tmux-navigator",
"AndrewRadev/linediff.vim",
{ "echasnovski/mini.files", version = false },
-- Nvim plugins
"nvim-treesitter/nvim-treesitter", -- {'do': ':TSUpdate'}
'danymat/neogen',
"p00f/nvim-ts-rainbow",
"lukas-reineke/indent-blankline.nvim",
"hrsh7th/nvim-cmp",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-cmdline",
"hrsh7th/cmp-path",
"neovim/nvim-lspconfig",
"nvim-lua/plenary.nvim",
-- "jose-elias-alvarez/null-ls.nvim",
-- "jose-elias-alvarez/typescript.nvim",
-- "iamcco/markdown-preview.nvim", -- { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}
-- { "olimorris/persisted.nvim", dev = true },
-- "folke/tokyonight.nvim", -- { 'branch': 'main' }
"lewis6991/gitsigns.nvim",
"williamboman/mason.nvim", -- { 'do': ':MasonUpdate' }
"williamboman/mason-lspconfig.nvim",
{
'ThePrimeagen/harpoon',
branch = 'harpoon2',
opts = {
menu = {
width = vim.api.nvim_win_get_width(0) - 4,
},
},
keys = {
{
'<leader>q',
function()
require('harpoon'):list():add()
end,
desc = 'Harpoon File',
},
{
'<C-e>',
function()
local harpoon = require('harpoon')
harpoon.ui:toggle_quick_menu(harpoon:list())
end,
desc = 'Harpoon Quick Menu',
},
{
'<M-q>',
function()
require('harpoon'):list():select(1)
end,
desc = 'Harpoon to File 1',
},
{
'<M-w>',
function()
require('harpoon'):list():select(2)
end,
desc = 'Harpoon to File 2',
},
{
'<M-e>',
function()
require('harpoon'):list():select(3)
end,
desc = 'Harpoon to File 3',
},
{
'<M-r>',
function()
require('harpoon'):list():select(4)
end,
desc = 'Harpoon to File 4',
},
{
'<M-t>',
function()
require('harpoon'):list():select(5)
end,
desc = 'Harpoon to File 5',
},
},
},
}