2021-07-18 20:08:14 +02:00
|
|
|
return {
|
2021-07-07 05:22:46 +02:00
|
|
|
-- Packer can manage itself as an optional plugin
|
2021-07-18 20:08:14 +02:00
|
|
|
{ "wbthomason/packer.nvim" },
|
2021-07-07 05:22:46 +02:00
|
|
|
|
2021-07-10 23:34:20 +02:00
|
|
|
-- TODO: refactor all of this (for now it works, but yes I know it could be wrapped in a simpler function)
|
2021-07-18 20:08:14 +02:00
|
|
|
{ "neovim/nvim-lspconfig" },
|
|
|
|
{
|
2021-07-10 19:27:52 +02:00
|
|
|
"kabouzeid/nvim-lspinstall",
|
|
|
|
event = "VimEnter",
|
|
|
|
config = function()
|
|
|
|
require("lspinstall").setup()
|
|
|
|
end,
|
2021-07-18 20:08:14 +02:00
|
|
|
},
|
2021-07-10 19:27:52 +02:00
|
|
|
|
2021-07-18 20:08:14 +02:00
|
|
|
{ "nvim-lua/popup.nvim" },
|
|
|
|
{ "nvim-lua/plenary.nvim" },
|
|
|
|
{ "tjdevries/astronauta.nvim" },
|
2021-07-10 09:19:44 +02:00
|
|
|
|
|
|
|
-- Telescope
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
|
|
|
-- Autocomplete
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
2021-07-07 05:22:46 +02:00
|
|
|
"hrsh7th/nvim-compe",
|
2021-07-10 22:10:03 +02:00
|
|
|
-- 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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
2021-07-10 16:51:53 +02:00
|
|
|
-- Autopairs
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
2021-07-10 16:51:53 +02:00
|
|
|
"windwp/nvim-autopairs",
|
2021-07-10 22:10:03 +02:00
|
|
|
-- 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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-10 16:51:53 +02:00
|
|
|
|
|
|
|
-- Snippets
|
|
|
|
|
2021-07-18 20:08:14 +02:00
|
|
|
{ "hrsh7th/vim-vsnip", event = "InsertEnter" },
|
|
|
|
{ "rafamadriz/friendly-snippets", event = "InsertEnter" },
|
2021-07-07 05:22:46 +02:00
|
|
|
|
|
|
|
-- Treesitter
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
2021-07-13 03:11:43 +02:00
|
|
|
"nvim-treesitter/nvim-treesitter",
|
|
|
|
config = function()
|
|
|
|
require("core.treesitter").setup()
|
|
|
|
end,
|
2021-07-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
2021-07-10 20:18:28 +02:00
|
|
|
-- Formatter.nvim
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
2021-07-10 20:18:28 +02:00
|
|
|
"mhartington/formatter.nvim",
|
2021-07-13 07:08:03 +02:00
|
|
|
config = function()
|
|
|
|
require "core.formatter"
|
|
|
|
end,
|
2021-07-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
2021-07-17 00:30:38 +02:00
|
|
|
-- Linter
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
2021-07-17 00:30:38 +02:00
|
|
|
"mfussenegger/nvim-lint",
|
2021-07-17 00:36:43 +02:00
|
|
|
config = function()
|
|
|
|
require("core.linter").setup()
|
|
|
|
end,
|
2021-07-18 20:08:14 +02:00
|
|
|
},
|
2021-07-17 00:30:38 +02:00
|
|
|
|
2021-07-10 09:19:44 +02:00
|
|
|
-- NvimTree
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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",
|
2021-07-19 09:17:49 +02:00
|
|
|
-- 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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
2021-07-18 20:08:14 +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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
|
|
|
-- whichkey
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
|
|
|
-- Comments
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
2021-07-13 02:16:25 +02:00
|
|
|
-- vim-rooter
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
2021-07-12 17:58:30 +02:00
|
|
|
"airblade/vim-rooter",
|
|
|
|
config = function()
|
|
|
|
vim.g.rooter_silent_chdir = 1
|
|
|
|
end,
|
2021-07-18 20:08:14 +02:00
|
|
|
},
|
2021-07-12 17:58:30 +02:00
|
|
|
|
2021-07-07 05:22:46 +02:00
|
|
|
-- Icons
|
2021-07-18 20:08:14 +02:00
|
|
|
{ "kyazdani42/nvim-web-devicons" },
|
2021-07-07 05:22:46 +02:00
|
|
|
|
|
|
|
-- Status Line and Bufferline
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
2021-07-18 20:08:14 +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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
2021-07-10 09:19:44 +02:00
|
|
|
-- Debugging
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-10 09:19:44 +02:00
|
|
|
|
|
|
|
-- Debugger management
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
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-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-10 01:38:15 +02:00
|
|
|
|
2021-07-10 23:34:20 +02:00
|
|
|
-- TODO: remove in favor of akinsho/nvim-toggleterm.lua
|
2021-07-10 09:19:44 +02:00
|
|
|
-- Floating terminal
|
2021-07-18 20:08:14 +02:00
|
|
|
-- {
|
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-18 20:08:14 +02:00
|
|
|
-- },
|
2021-07-15 05:15:12 +02:00
|
|
|
|
2021-07-18 20:08:14 +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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-10 09:19:44 +02:00
|
|
|
|
2021-07-07 05:22:46 +02:00
|
|
|
-- Zen Mode
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
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-18 20:08:14 +02:00
|
|
|
{
|
2021-07-07 05:22:46 +02:00
|
|
|
"lervag/vimtex",
|
|
|
|
ft = "tex",
|
2021-07-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
|
|
|
-- Rust tools
|
|
|
|
-- TODO: use lazy loading maybe?
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
2021-07-07 05:22:46 +02:00
|
|
|
"simrat39/rust-tools.nvim",
|
|
|
|
disable = not O.lang.rust.rust_tools.active,
|
2021-07-18 20:08:14 +02:00
|
|
|
},
|
2021-07-07 05:22:46 +02:00
|
|
|
|
|
|
|
-- Elixir
|
2021-07-18 20:08:14 +02:00
|
|
|
{ "elixir-editors/vim-elixir", ft = { "elixir", "eelixir", "euphoria3" } },
|
2021-07-07 05:22:46 +02:00
|
|
|
|
|
|
|
-- Javascript / Typescript
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-09 07:37:03 +02:00
|
|
|
|
2021-07-17 00:26:29 +02:00
|
|
|
-- Java
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
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-18 20:08:14 +02:00
|
|
|
},
|
2021-07-13 03:51:49 +02:00
|
|
|
|
2021-07-17 00:26:29 +02:00
|
|
|
-- Scala
|
2021-07-18 20:08:14 +02:00
|
|
|
{
|
2021-07-17 00:26:29 +02:00
|
|
|
"scalameta/nvim-metals",
|
|
|
|
disable = not O.lang.scala.metals.active,
|
2021-07-18 20:08:14 +02:00
|
|
|
},
|
|
|
|
}
|