Files
dots/.config/nvim/lua/plugins.lua

269 lines
3.6 KiB
Lua

require("packer").startup(function()
use("wbthomason/packer.nvim")
--
-- LSP
--
-- lspconfig
use({
"neovim/nvim-lspconfig",
event = "BufEnter",
config = function()
require("plugins.lsp")
end,
})
-- nvim lint
use({
"mfussenegger/nvim-lint",
event = "BufWrite",
config = function()
require("plugins.lint")
end,
})
--
-- completion
--
-- cmp
use({
"hrsh7th/nvim-cmp",
event = "InsertEnter",
config = function()
require("plugins.cmp")
end,
})
use({
"hrsh7th/cmp-nvim-lsp",
after = "nvim-cmp",
})
use({
"hrsh7th/cmp-vsnip",
after = "nvim-cmp",
})
use({
"hrsh7th/cmp-buffer",
after = "nvim-cmp",
})
use({
"hrsh7th/cmp-path",
after = "nvim-cmp",
})
-- snippets
use({
"hrsh7th/vim-vsnip",
after = "nvim-cmp",
})
use({
"rafamadriz/friendly-snippets",
after = "vim-vsnip",
})
-- lsp signature
use({
"ray-x/lsp_signature.nvim",
config = function()
require("plugins.lspsignature")
end,
})
-- autopairs
use({
"windwp/nvim-autopairs",
after = "nvim-cmp",
config = function()
require("plugins.autopairs")
end,
})
-- treesitter
use({
"nvim-treesitter/nvim-treesitter",
event = "BufEnter",
config = function()
require("plugins.treesitter")
end,
})
-- dap
use({
"mfussenegger/nvim-dap",
module = "dap",
config = function()
require("plugins.dap")
end,
})
use({
"nvim-telescope/telescope-dap.nvim",
after = "nvim-dap",
})
use({
"rcarriga/nvim-dap-ui",
after = "nvim-dap",
config = function()
require("plugins.dapui")
end,
})
use({
"leoluz/nvim-dap-go",
after = "nvim-dap",
config = function()
require("plugins.dap-go")
end,
})
use({
"theHamsta/nvim-dap-virtual-text",
after = "nvim-dap",
config = function()
require("plugins.dap-virtual-text")
end,
})
-- toggleterm
use({
"akinsho/toggleterm.nvim",
cmd = "ToggleTerm*",
config = function()
require("plugins.toggleterm")
end,
})
-- neoformat
use({
"sbdchd/neoformat",
cmd = "Neoformat",
config = function()
require("plugins.neoformat")
end,
})
-- comment.nvim
use({
"numToStr/Comment.nvim",
event = "BufRead",
config = function()
require("plugins.comment")
end,
})
-- fugitive
use({
"tpope/vim-fugitive",
})
--
-- files (and more)
--
-- telescope
use({
"nvim-telescope/telescope.nvim",
cmd = "Telescope",
requires = { "nvim-lua/plenary.nvim" },
config = function()
require("plugins.telescope")
end,
})
-- nvim tree
use({
"kyazdani42/nvim-tree.lua",
requires = "kyazdani42/nvim-web-devicons",
config = function()
require("plugins.nvim-tree")
end,
})
--
-- looks
--
-- lualine
use({
"hoob3rt/lualine.nvim",
config = function()
require("plugins.lualine")
end,
})
--
-- colorscheme
--
use({
-- 'crusoexia/vim-monokai',
"dylanaraps/wal.vim",
after = "nvim-treesitter",
})
--
-- qol
--
-- blankline
use({
"lukas-reineke/indent-blankline.nvim",
event = "VimEnter",
})
-- highlight yank
use({
"machakann/vim-highlightedyank",
event = "TextYankPost",
})
-- tabular
use({
"godlygeek/tabular",
cmd = "Tabularize",
})
-- maximizer
use({
"szw/vim-maximizer",
cmd = "MaximizerToggle",
})
-- whichkey
use({
"folke/which-key.nvim",
config = function()
require("plugins.whichkey")
end,
})
--
-- filetype specific
--
-- csv
use({
"chrisbra/csv.vim",
ft = "csv",
})
-- latex
use({
"lervag/vimtex",
ft = "tex",
config = function()
require("plugins.vimtex")
end,
})
--
-- misc
--
use({
"vimwiki/vimwiki",
config = function()
require("plugins.vimwiki")
end,
})
end)