.dotfiles/configs/nvim/lua/core/plugins.lua

233 lines
5.3 KiB
Lua
Raw Normal View History

2022-05-12 19:42:09 +02:00
local fn = vim.fn
2022-08-23 14:58:15 +02:00
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
2022-05-12 19:42:09 +02:00
local packer_bootstrap = false
if fn.empty(fn.glob(install_path)) > 0 then
2022-10-24 15:24:37 +02:00
packer_bootstrap = true
2022-09-02 16:15:54 +02:00
fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path })
vim.cmd("packadd packer.nvim")
2022-05-12 19:42:09 +02:00
end
local packer = require("packer")
2022-08-23 14:58:15 +02:00
packer.init({
2022-09-02 16:15:54 +02:00
display = {
open_fn = function()
return require("packer.util").float({ border = "rounded" })
end,
},
2022-08-23 14:58:15 +02:00
})
2022-05-12 19:42:09 +02:00
return packer.startup(function(use)
2022-09-02 16:15:54 +02:00
-- Let packer manage itself
use("wbthomason/packer.nvim")
-- General Helper Functions
2022-10-24 15:24:37 +02:00
use("lewis6991/impatient.nvim")
2022-09-02 16:15:54 +02:00
use("nvim-lua/plenary.nvim")
2022-10-24 15:24:37 +02:00
---------------------
-- Theming Section --
---------------------
2022-09-02 16:15:54 +02:00
use("rktjmp/fwatch.nvim") -- Used to check dark/light theme
2022-10-06 21:14:32 +02:00
use({ "catppuccin/nvim", as = "catppuccin" })
2022-09-02 16:15:54 +02:00
use("nvim-lualine/lualine.nvim")
2022-10-24 15:24:37 +02:00
--------------------
-- Layout Plugins --
--------------------
2022-09-02 16:15:54 +02:00
use("dstein64/nvim-scrollview") -- ScrollBars
use("akinsho/nvim-toggleterm.lua")
2022-10-24 15:24:37 +02:00
use({
"rcarriga/nvim-notify",
config = function()
require("configs.notify")
end,
event = "VimEnter",
})
use({
"kyazdani42/nvim-tree.lua",
requires = { "kyazdani42/nvim-web-devicons" },
cmd = "NvimTreeToggle",
config = function()
require("configs.tree")
end,
})
2022-09-02 16:15:54 +02:00
use("nvim-lua/popup.nvim")
2022-09-26 00:49:11 +02:00
use("goolord/alpha-nvim") -- startup screen
2022-10-24 15:24:37 +02:00
-- use("Pocco81/true-zen.nvim")
2022-09-02 16:15:54 +02:00
use({
2022-10-24 15:24:37 +02:00
"numToStr/Comment.nvim",
event = "BufReadPre",
2022-09-02 16:15:54 +02:00
config = function()
2022-10-24 15:24:37 +02:00
require("Comment").setup()
2022-09-02 16:15:54 +02:00
end,
})
2022-10-24 15:24:37 +02:00
-- use("gfeiyou/command-center.nvim")
use("glepnir/lspsaga.nvim") -- better windows for lsp replace, goto definition etc...
---------------------
-- Code Navigation --
---------------------
2022-09-02 16:15:54 +02:00
use("junegunn/fzf")
2022-10-30 20:58:59 +01:00
use({ "ggandor/leap.nvim",
config = function()
local leap = require("leap")
leap.add_default_mappings()
leap.setup({})
end })
2022-10-24 15:24:37 +02:00
use({
"nvim-telescope/telescope.nvim",
cmd = "Telescope",
config = function()
require("configs.telescope")
end,
})
use("ThePrimeagen/harpoon")
---------------
-- Lsp Setup --
---------------
2022-09-02 16:15:54 +02:00
2022-10-24 15:24:37 +02:00
use("neovim/nvim-lspconfig")
use("williamboman/mason.nvim")
use("williamboman/mason-lspconfig.nvim")
use("jose-elias-alvarez/null-ls.nvim")
2022-09-02 16:15:54 +02:00
use("folke/lsp-colors.nvim")
2022-10-30 20:58:59 +01:00
-- use("kosayoda/nvim-lightbulb")
2022-09-02 16:15:54 +02:00
use({
"folke/trouble.nvim",
2022-10-24 15:24:37 +02:00
event = "BufRead",
2022-09-02 16:15:54 +02:00
requires = "kyazdani42/nvim-web-devicons",
config = function()
require("trouble").setup({})
end,
})
2022-09-26 00:49:11 +02:00
use("onsails/lspkind.nvim")
2022-09-02 16:15:54 +02:00
use({
"https://git.sr.ht/~whynothugo/lsp_lines.nvim",
2022-10-24 15:24:37 +02:00
event = "BufReadPre",
2022-09-02 16:15:54 +02:00
config = function()
require("lsp_lines").setup()
end,
})
2022-10-24 15:24:37 +02:00
-------------------
-- Autocomplete --
-------------------
2022-09-02 16:15:54 +02:00
use("tpope/vim-surround")
2022-09-19 20:32:50 +02:00
use({
2022-10-24 15:24:37 +02:00
"hrsh7th/nvim-cmp",
requires = {
"rafamadriz/friendly-snippets",
"saadparwaiz1/cmp_luasnip",
"L3MON4D3/LuaSnip",
"windwp/nvim-autopairs",
"zbirenbaum/copilot.lua",
"zbirenbaum/copilot-cmp",
},
event = { "BufReadPre", "CmdlineChanged" },
2022-09-19 20:32:50 +02:00
config = function()
2022-10-24 15:24:37 +02:00
require("configs.autocomplete")
require("configs.snippets")
2022-09-19 20:32:50 +02:00
end,
})
2022-09-02 16:15:54 +02:00
2022-10-24 15:24:37 +02:00
use({
"hrsh7th/cmp-nvim-lsp",
after = "nvim-cmp",
config = function()
local capabilities = require("cmp_nvim_lsp").default_capabilities()
require("lspconfig").html.setup({
capabilities = capabilities,
})
end,
})
use({ "hrsh7th/cmp-cmdline", after = "nvim-cmp" })
use({ "hrsh7th/cmp-path", after = "nvim-cmp" })
use({ "hrsh7th/cmp-nvim-lua", after = "nvim-cmp" })
use({ "hrsh7th/cmp-calc", after = "nvim-cmp" })
use({ "hrsh7th/cmp-emoji", after = "nvim-cmp" })
use({
"https://github.com/nat-418/boole.nvim",
event = "BufReadPre",
config = function()
require("boole").setup()
end,
})
use({
"gaoDean/autolist.nvim",
event = "BufReadPre",
config = function()
require("autolist").setup({})
end,
})
-------------------------
-- Syntax Highlighting --
-------------------------
use({
"nvim-treesitter/nvim-treesitter",
event = "BufReadPost",
requires = {
"nvim-treesitter/nvim-treesitter-textobjects",
},
config = function()
require("configs.treesitter")
end,
run = ":TSUpdate",
})
2022-09-02 16:15:54 +02:00
2022-10-24 15:24:37 +02:00
--------------------
-- IDE Type Stuff --
--------------------
2022-10-30 20:58:59 +01:00
use("ThePrimeagen/vim-be-good")
2022-09-02 16:15:54 +02:00
2022-10-24 15:24:37 +02:00
-- Dap Debugger -- Have not yet been able to set this up
-- use({ "mfussenegger/nvim-dap" })
-- use({ "rcarriga/nvim-dap-ui" free
2022-10-06 21:14:32 +02:00
use("editorconfig/editorconfig-vim")
use({
2022-10-24 15:24:37 +02:00
"michaelb/sniprun",
event = "BufReadPost",
config = function()
require("configs.sniprun")
end,
run = "bash ./install.sh",
})
use({
"uga-rosa/translate.nvim",
event = "InsertEnter",
config = function()
2022-10-30 20:58:59 +01:00
require("translate").setup({ default = { output = "replace" } })
2022-10-06 21:14:32 +02:00
end,
})
2022-09-02 16:15:54 +02:00
use({
"nvim-neotest/neotest",
2022-10-24 15:24:37 +02:00
cmd = "NeoTest",
config = function()
require("configs.neotest")
end,
2022-09-02 16:15:54 +02:00
requires = {
2022-09-19 20:32:50 +02:00
"haydenmeade/neotest-jest",
"KaiSpencer/neotest-vitest",
2022-09-02 16:15:54 +02:00
"antoinemadec/FixCursorHold.nvim",
},
})
use("tpope/vim-dadbod")
use("kristijanhusak/vim-dadbod-ui")
if packer_bootstrap then
packer.sync()
end
2022-05-12 19:42:09 +02:00
end)