LunarVim/lua/plugins.lua

248 lines
4.7 KiB
Lua
Raw Normal View History

return {
2021-07-07 05:22:46 +02:00
-- Packer can manage itself as an optional plugin
{ "wbthomason/packer.nvim" },
2021-07-07 05:22:46 +02:00
-- TODO: refactor all of this (for now it works, but yes I know it could be wrapped in a simpler function)
{ "neovim/nvim-lspconfig" },
{
2021-07-10 19:27:52 +02:00
"kabouzeid/nvim-lspinstall",
event = "VimEnter",
config = function()
require("lspinstall").setup()
end,
},
2021-07-10 19:27:52 +02:00
{ "nvim-lua/popup.nvim" },
{ "nvim-lua/plenary.nvim" },
{ "tjdevries/astronauta.nvim" },
2021-07-10 09:19:44 +02:00
-- Telescope
{
2021-07-07 05:22:46 +02:00
"nvim-telescope/telescope.nvim",
2021-07-13 03:11:43 +02:00
config = [[require('core.telescope').setup()]],
},
2021-07-07 05:22:46 +02:00
-- Autocomplete
{
2021-07-07 05:22:46 +02:00
"hrsh7th/nvim-compe",
-- event = "InsertEnter",
2021-07-07 05:22:46 +02:00
config = function()
2021-07-13 03:11:43 +02:00
require("core.compe").setup()
2021-07-07 05:22:46 +02:00
end,
},
2021-07-07 05:22:46 +02:00
2021-07-10 16:51:53 +02:00
-- Autopairs
{
2021-07-10 16:51:53 +02:00
"windwp/nvim-autopairs",
-- event = "InsertEnter",
2021-07-10 16:51:53 +02:00
config = function()
2021-07-13 03:11:43 +02:00
require "core.autopairs"
2021-07-10 16:51:53 +02:00
end,
},
2021-07-10 16:51:53 +02:00
-- Snippets
{ "hrsh7th/vim-vsnip", event = "InsertEnter" },
{ "rafamadriz/friendly-snippets", event = "InsertEnter" },
2021-07-07 05:22:46 +02:00
-- Treesitter
{
2021-07-13 03:11:43 +02:00
"nvim-treesitter/nvim-treesitter",
config = function()
require("core.treesitter").setup()
end,
},
2021-07-07 05:22:46 +02:00
-- Formatter.nvim
{
"mhartington/formatter.nvim",
2021-07-13 07:08:03 +02:00
config = function()
require "core.formatter"
end,
},
2021-07-07 05:22:46 +02:00
2021-07-17 00:30:38 +02:00
-- Linter
{
2021-07-17 00:30:38 +02:00
"mfussenegger/nvim-lint",
config = function()
require("core.linter").setup()
end,
},
2021-07-17 00:30:38 +02:00
2021-07-10 09:19:44 +02:00
-- NvimTree
{
2021-07-07 05:22:46 +02:00
"kyazdani42/nvim-tree.lua",
2021-07-10 09:19:44 +02:00
-- event = "BufWinOpen",
2021-07-07 05:22:46 +02:00
-- cmd = "NvimTreeToggle",
-- commit = "fd7f60e242205ea9efc9649101c81a07d5f458bb",
2021-07-07 05:22:46 +02:00
config = function()
2021-07-13 03:11:43 +02:00
require("core.nvimtree").setup()
2021-07-07 05:22:46 +02:00
end,
},
2021-07-07 05:22:46 +02:00
{
2021-07-07 05:22:46 +02:00
"lewis6991/gitsigns.nvim",
config = function()
2021-07-13 01:30:07 +02:00
require("core.gitsigns").setup()
2021-07-07 05:22:46 +02:00
end,
event = "BufRead",
},
2021-07-07 05:22:46 +02:00
-- whichkey
{
2021-07-08 01:27:27 +02:00
"folke/which-key.nvim",
config = function()
2021-07-13 03:11:43 +02:00
require("core.which-key").setup()
2021-07-08 01:27:27 +02:00
end,
event = "BufWinEnter",
},
2021-07-07 05:22:46 +02:00
-- Comments
{
2021-07-07 05:22:46 +02:00
"terrortylor/nvim-comment",
2021-07-10 16:51:53 +02:00
event = "BufRead",
2021-07-07 05:22:46 +02:00
config = function()
local status_ok, nvim_comment = pcall(require, "nvim_comment")
if not status_ok then
return
end
nvim_comment.setup()
end,
},
2021-07-07 05:22:46 +02:00
2021-07-13 02:16:25 +02:00
-- vim-rooter
{
2021-07-12 17:58:30 +02:00
"airblade/vim-rooter",
config = function()
vim.g.rooter_silent_chdir = 1
end,
},
2021-07-12 17:58:30 +02:00
2021-07-07 05:22:46 +02:00
-- Icons
{ "kyazdani42/nvim-web-devicons" },
2021-07-07 05:22:46 +02:00
-- Status Line and Bufferline
{
2021-07-08 03:57:36 +02:00
"glepnir/galaxyline.nvim",
config = function()
2021-07-13 03:59:16 +02:00
require "core.galaxyline"
2021-07-08 03:57:36 +02:00
end,
2021-07-10 06:09:54 +02:00
event = "BufWinEnter",
disable = not O.plugin.galaxyline.active,
},
2021-07-07 05:22:46 +02:00
{
2021-07-07 05:22:46 +02:00
"romgrk/barbar.nvim",
config = function()
2021-07-13 03:11:43 +02:00
require "core.bufferline"
2021-07-07 05:22:46 +02:00
end,
2021-07-08 03:57:36 +02:00
event = "BufWinEnter",
},
2021-07-07 05:22:46 +02:00
2021-07-10 09:19:44 +02:00
-- Debugging
{
2021-07-10 09:19:44 +02:00
"mfussenegger/nvim-dap",
2021-07-10 21:34:59 +02:00
-- event = "BufWinEnter",
2021-07-10 09:19:44 +02:00
config = function()
2021-07-13 03:11:43 +02:00
require("core.dap").setup()
2021-07-10 09:19:44 +02:00
end,
disable = not O.plugin.dap.active,
},
2021-07-10 09:19:44 +02:00
-- Debugger management
{
2021-07-10 09:19:44 +02:00
"Pocco81/DAPInstall.nvim",
2021-07-10 21:34:59 +02:00
-- event = "BufWinEnter",
2021-07-10 09:19:44 +02:00
-- event = "BufRead",
disable = not O.plugin.dap.active,
},
2021-07-10 09:19:44 +02:00
2021-07-07 05:22:46 +02:00
-- Builtins, these do not load by default
-- Dashboard
{
2021-07-07 05:22:46 +02:00
"ChristianChiarulli/dashboard-nvim",
2021-07-07 05:29:34 +02:00
event = "BufWinEnter",
2021-07-10 03:01:23 +02:00
config = function()
2021-07-13 03:11:43 +02:00
require("core.dashboard").setup()
2021-07-10 03:01:23 +02:00
end,
2021-07-07 05:22:46 +02:00
disable = not O.plugin.dashboard.active,
},
2021-07-10 01:38:15 +02:00
-- TODO: remove in favor of akinsho/nvim-toggleterm.lua
2021-07-10 09:19:44 +02:00
-- Floating terminal
-- {
2021-07-15 05:15:12 +02:00
-- "numToStr/FTerm.nvim",
-- event = "BufWinEnter",
-- config = function()
-- require("core.floatterm").setup()
-- end,
-- disable = not O.plugin.floatterm.active,
-- },
2021-07-15 05:15:12 +02:00
{
2021-07-15 05:15:12 +02:00
"akinsho/nvim-toggleterm.lua",
2021-07-10 09:19:44 +02:00
event = "BufWinEnter",
config = function()
2021-07-15 05:15:12 +02:00
require("core.terminal").setup()
2021-07-10 09:19:44 +02:00
end,
2021-07-15 05:15:12 +02:00
disable = not O.plugin.terminal.active,
},
2021-07-10 09:19:44 +02:00
2021-07-07 05:22:46 +02:00
-- Zen Mode
{
2021-07-07 05:22:46 +02:00
"folke/zen-mode.nvim",
cmd = "ZenMode",
2021-07-10 08:39:00 +02:00
event = "BufRead",
2021-07-07 05:22:46 +02:00
config = function()
2021-07-13 03:11:43 +02:00
require("core.zen").setup()
2021-07-07 05:22:46 +02:00
end,
disable = not O.plugin.zen.active,
},
2021-07-07 05:22:46 +02:00
2021-07-10 09:19:44 +02:00
---------------------------------------------------------------------------------
2021-07-07 05:22:46 +02:00
-- LANGUAGE SPECIFIC GOES HERE
{
2021-07-07 05:22:46 +02:00
"lervag/vimtex",
ft = "tex",
},
2021-07-07 05:22:46 +02:00
-- Rust tools
-- TODO: use lazy loading maybe?
{
2021-07-07 05:22:46 +02:00
"simrat39/rust-tools.nvim",
disable = not O.lang.rust.rust_tools.active,
},
2021-07-07 05:22:46 +02:00
-- Elixir
{ "elixir-editors/vim-elixir", ft = { "elixir", "eelixir", "euphoria3" } },
2021-07-07 05:22:46 +02:00
-- Javascript / Typescript
{
2021-07-07 05:22:46 +02:00
"jose-elias-alvarez/nvim-lsp-ts-utils",
ft = {
"javascript",
"javascriptreact",
"javascript.jsx",
"typescript",
"typescriptreact",
"typescript.tsx",
},
},
2021-07-09 07:37:03 +02:00
2021-07-17 00:26:29 +02:00
-- Java
{
2021-07-09 07:37:03 +02:00
"mfussenegger/nvim-jdtls",
2021-07-10 21:34:59 +02:00
-- ft = { "java" },
2021-07-09 07:37:03 +02:00
disable = not O.lang.java.java_tools.active,
},
2021-07-17 00:26:29 +02:00
-- Scala
{
2021-07-17 00:26:29 +02:00
"scalameta/nvim-metals",
disable = not O.lang.scala.metals.active,
},
}