nvim/lua/eddie/lazy.lua

210 lines
5.6 KiB
Lua
Executable File

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
local plugins = {
{
'VonHeikemen/lsp-zero.nvim',
branch = 'v2.x',
dependencies = {
-- LSP Support
{ 'neovim/nvim-lspconfig' }, -- Required
{ -- Optional
'williamboman/mason.nvim',
build = function()
pcall(vim.cmd, 'MasonUpdate')
end,
},
{ 'williamboman/mason-lspconfig.nvim' }, -- Optional
-- Autocompletion
{ 'hrsh7th/nvim-cmp' }, -- Required
{ 'hrsh7th/cmp-nvim-lsp' }, -- Required
{ 'L3MON4D3/LuaSnip' }, -- Required
{ "rafamadriz/friendly-snippets" },
{ 'hrsh7th/cmp-buffer' },
{ 'hrsh7th/cmp-path' },
{ 'hrsh7th/cmp-cmdline' },
{ 'saadparwaiz1/cmp_luasnip' },
}
},
{
'nvimtools/none-ls.nvim',
config = function()
require('null-ls').setup({
})
end,
dependencies = { 'nvim-lua/plenary.nvim' },
},
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
},
{
"lervag/vimtex",
lazy = false, -- we don't want to lazy load VimTeX
-- tag = "v2.15", -- uncomment to pin to a specific release
},
-- Minimal
{
'nvim-telescope/telescope.nvim',
tag = '0.1.5',
dependencies = { { 'nvim-lua/plenary.nvim' } }
},
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' },
{ "nvim-telescope/telescope-live-grep-args.nvim" },
{
"aaronhallaert/advanced-git-search.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
"tpope/vim-fugitive",
'tpope/vim-rhubarb',
},
},
'nvim-telescope/telescope-ui-select.nvim',
'debugloop/telescope-undo.nvim',
'ThePrimeagen/harpoon',
{
'mbbill/undotree',
config = function()
vim.keymap.set("n", "<leader>u", "<cmd>Telescope undo<CR>", { desc = "Telescope Undo" })
end
},
{
'tpope/vim-fugitive',
config = function()
vim.keymap.set("n", "<leader>gs", vim.cmd.Git, { desc = "Open Fugitive Panel" })
end
},
{ 'tpope/vim-repeat' },
{
'numToStr/Comment.nvim',
config = function()
require('Comment').setup()
end
},
{ 'm4xshen/autoclose.nvim' },
-- {
-- "windwp/nvim-autopairs",
-- config = function()
-- require("nvim-autopairs").setup()
-- end
-- },
-- {
-- "kylechui/nvim-surround",
-- version = "*", -- Use for stability; omit to use `main` branch for the latest features
-- event = "VeryLazy",
-- config = function()
-- require("nvim-surround").setup({
-- })
-- end
-- },
{ "nvim-tree/nvim-tree.lua" },
{
'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = function()
require('lualine').setup({
options = {
theme = 'palenight'
}
})
end
},
{
'bronson/vim-trailing-whitespace'
},
{
'junegunn/fzf',
build = ":call fzf#install()"
},
{
"AckslD/nvim-neoclip.lua",
dependencies = {
{ 'nvim-telescope/telescope.nvim' },
},
},
'jinh0/eyeliner.nvim',
{
"anuvyklack/windows.nvim",
dependencies = {
"anuvyklack/middleclass",
"anuvyklack/animation.nvim"
},
config = function()
vim.o.winwidth = 10
vim.o.winminwidth = 10
vim.o.equalalways = false
require('windows').setup()
end
},
{
'voldikss/vim-floaterm',
},
{
'tummetott/unimpaired.nvim',
config = function()
require('unimpaired').setup()
end
},
'airblade/vim-gitgutter',
'mg979/vim-visual-multi',
{
'kevinhwang91/nvim-ufo',
dependencies = 'kevinhwang91/promise-async'
},
{
'folke/which-key.nvim',
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 500
end,
opts = {}
},
-- C/C++ debbuging
{
'sakhnik/nvim-gdb',
},
-- Compiler
{ -- This plugin
"Zeioth/compiler.nvim",
cmd = { "CompilerOpen", "CompilerToggleResults", "CompilerRedo" },
dependencies = { "stevearc/overseer.nvim", "nvim-telescope/telescope.nvim" },
opts = {},
},
{ -- The task runner we use
"stevearc/overseer.nvim",
commit = "6271cab7ccc4ca840faa93f54440ffae3a3918bd",
cmd = { "CompilerOpen", "CompilerToggleResults", "CompilerRedo" },
opts = {
task_list = {
direction = "bottom",
min_height = 25,
max_height = 25,
default_detail = 1
},
},
},
}
require('lazy').setup(plugins, {
change_detection = {
notify = false,
}
})