Moved plugins into individual component module files which are automatically required by lazy.nvim. Should make everything a tiny bit more modular, or at least prepare the way for true modularity if I ever have the time on my hands to ensure everything works with missing modules. Moved core settings into their own directory (`core`), and created a `personal` folder which contains functions/plugins I wrote that do not necessarily have to be their own imported plugin yet. Finally, extended the utility functions a little, so we can detect if a plugin exists and change e.g. key maps based on that (once again, extending modularity a little more). Some simple attempts have been made at that in the `mappings.lua` file, though it is nowhere near extensive yet - most keymaps are still set regardless of plugin availability. However, with this slimmer base to work off of, I feel more confident in changing future things about this setup a little more ad-hoc without having as many ripple repercussions as before.
74 lines
1.7 KiB
Lua
74 lines
1.7 KiB
Lua
return {
|
|
-- vista-like outline view for code
|
|
{ "simrat39/symbols-outline.nvim", config = true, cmd = "SymbolsOutline" },
|
|
-- show a signature whenever editing a function or similar
|
|
{ "ray-x/lsp_signature.nvim", config = true, event = "VeryLazy" },
|
|
{
|
|
"junnplus/lsp-setup.nvim",
|
|
dependencies = {
|
|
"neovim/nvim-lspconfig",
|
|
{
|
|
"williamboman/mason.nvim",
|
|
cmd = {
|
|
"Mason",
|
|
"MasonInstall",
|
|
"MasonUninstall",
|
|
"MasonUninstallAll",
|
|
"MasonLog",
|
|
"MasonUpdate",
|
|
},
|
|
build = ":MasonUpdate",
|
|
},
|
|
{
|
|
"williamboman/mason-lspconfig.nvim",
|
|
cmd = { "LspInstall", "LspUninstall" },
|
|
},
|
|
{
|
|
"jose-elias-alvarez/null-ls.nvim",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"jay-babu/mason-null-ls.nvim",
|
|
},
|
|
event = "VeryLazy",
|
|
},
|
|
},
|
|
event = "BufReadPost",
|
|
config = function()
|
|
require("plugins.config.lsp")
|
|
end,
|
|
},
|
|
{
|
|
"hrsh7th/nvim-cmp",
|
|
branch = "main",
|
|
dependencies = {
|
|
"andersevenrud/cmp-tmux",
|
|
"cbarrete/completion-vcard",
|
|
"f3fora/cmp-spell",
|
|
"hrsh7th/cmp-nvim-lsp",
|
|
"hrsh7th/cmp-path",
|
|
"hrsh7th/cmp-buffer",
|
|
"hrsh7th/cmp-calc",
|
|
"hrsh7th/cmp-cmdline",
|
|
"hrsh7th/cmp-nvim-lua",
|
|
"dmitmel/cmp-digraphs",
|
|
"jc-doyle/cmp-pandoc-references",
|
|
"kdheepak/cmp-latex-symbols",
|
|
"lukas-reineke/cmp-rg",
|
|
"crispgm/cmp-beancount",
|
|
"ray-x/cmp-treesitter",
|
|
"saadparwaiz1/cmp_luasnip",
|
|
{
|
|
"L3MON4D3/LuaSnip",
|
|
dependencies = { "rafamadriz/friendly-snippets" },
|
|
},
|
|
},
|
|
config = function()
|
|
require("plugins.config.cmp")
|
|
end,
|
|
event = { "InsertEnter", "CmdlineEnter", "VeryLazy" },
|
|
},
|
|
-- loading animations for some LSP
|
|
{ "j-hui/fidget.nvim", config = true, tag = "legacy", event = "VeryLazy" },
|
|
-- a pretend-lsp for formatters and linters
|
|
}
|