From 53cce7b63d39446d2465f33f62a74c0e72bf3f48 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Tue, 22 Aug 2023 15:52:04 -0500 Subject: refactor(nvim): clean up plugin configs and types --- nvim/.config/nvim/lua/plugins/cmp-dap.lua | 2 +- nvim/.config/nvim/lua/plugins/cmp.lua | 4 +- nvim/.config/nvim/lua/plugins/comment.lua | 10 +-- nvim/.config/nvim/lua/plugins/dap.lua | 5 +- nvim/.config/nvim/lua/plugins/dressing.lua | 89 ++++++++-------------- nvim/.config/nvim/lua/plugins/firenvim.lua | 2 +- nvim/.config/nvim/lua/plugins/gitsigns.lua | 3 +- nvim/.config/nvim/lua/plugins/gruvbox.lua | 1 + nvim/.config/nvim/lua/plugins/indent_blankline.lua | 30 ++++---- nvim/.config/nvim/lua/plugins/jdtls.lua | 3 +- nvim/.config/nvim/lua/plugins/lspconfig.lua | 7 +- nvim/.config/nvim/lua/plugins/mason-lspconfig.lua | 2 +- nvim/.config/nvim/lua/plugins/mason-null-ls.lua | 2 +- nvim/.config/nvim/lua/plugins/mason-nvim-dap.lua | 2 +- nvim/.config/nvim/lua/plugins/mason-update-all.lua | 2 +- nvim/.config/nvim/lua/plugins/mason.lua | 38 +++++---- nvim/.config/nvim/lua/plugins/neodev.lua | 1 + nvim/.config/nvim/lua/plugins/noice.lua | 2 +- nvim/.config/nvim/lua/plugins/notify.lua | 1 + nvim/.config/nvim/lua/plugins/presence.lua | 2 +- nvim/.config/nvim/lua/plugins/refactoring.lua | 1 + nvim/.config/nvim/lua/plugins/rust-tools.lua | 1 + nvim/.config/nvim/lua/plugins/schemastore.lua | 1 + nvim/.config/nvim/lua/plugins/telescope-dap.lua | 2 +- nvim/.config/nvim/lua/plugins/telescope.lua | 2 +- nvim/.config/nvim/lua/plugins/todo-comments.lua | 1 + nvim/.config/nvim/lua/plugins/tokyonight.lua | 1 + nvim/.config/nvim/lua/plugins/treesitter.lua | 6 +- nvim/.config/nvim/lua/tobyvin/lazy.lua | 61 --------------- 29 files changed, 103 insertions(+), 181 deletions(-) diff --git a/nvim/.config/nvim/lua/plugins/cmp-dap.lua b/nvim/.config/nvim/lua/plugins/cmp-dap.lua index a17d6da..b0a0709 100644 --- a/nvim/.config/nvim/lua/plugins/cmp-dap.lua +++ b/nvim/.config/nvim/lua/plugins/cmp-dap.lua @@ -1,4 +1,4 @@ ----@type LazySpec +---@type LazyPluginSpec local M = { "rcarriga/cmp-dap", ft = { "dap-repl" }, diff --git a/nvim/.config/nvim/lua/plugins/cmp.lua b/nvim/.config/nvim/lua/plugins/cmp.lua index 55cdefb..871a0dc 100644 --- a/nvim/.config/nvim/lua/plugins/cmp.lua +++ b/nvim/.config/nvim/lua/plugins/cmp.lua @@ -1,3 +1,5 @@ +---@diagnostic disable: missing-fields +---@type LazyPluginSpec local M = { "hrsh7th/nvim-cmp", event = { "InsertEnter", "CmdlineEnter" }, @@ -35,7 +37,7 @@ local M = { }, } -function M.config() +function M:config() local cmp = require("cmp") local default = require("cmp.config.default")() diff --git a/nvim/.config/nvim/lua/plugins/comment.lua b/nvim/.config/nvim/lua/plugins/comment.lua index fa14f6f..c82eda1 100644 --- a/nvim/.config/nvim/lua/plugins/comment.lua +++ b/nvim/.config/nvim/lua/plugins/comment.lua @@ -6,11 +6,11 @@ local M = { dependencies = { "JoosepAlviste/nvim-ts-context-commentstring", }, + opts = { + pre_hook = function(...) + return require("ts_context_commentstring.integrations.comment_nvim").create_pre_hook()(...) + end, + }, } -function M:config(opts) - opts.pre_hook = require("ts_context_commentstring.integrations.comment_nvim").create_pre_hook() - require("Comment").setup(opts) -end - return M diff --git a/nvim/.config/nvim/lua/plugins/dap.lua b/nvim/.config/nvim/lua/plugins/dap.lua index 127294d..ec3bddb 100644 --- a/nvim/.config/nvim/lua/plugins/dap.lua +++ b/nvim/.config/nvim/lua/plugins/dap.lua @@ -1,5 +1,4 @@ ----@type LazySpec - +---@type LazyPluginSpec local M = { "mfussenegger/nvim-dap", cmd = { @@ -33,7 +32,7 @@ local M = { }, } -function M.config() +function M:config() require("dap").listeners.after.event_initialized["User"] = function() vim.api.nvim_exec_autocmds("User", { pattern = "DapAttach" }) end diff --git a/nvim/.config/nvim/lua/plugins/dressing.lua b/nvim/.config/nvim/lua/plugins/dressing.lua index 02ec398..760c1ec 100644 --- a/nvim/.config/nvim/lua/plugins/dressing.lua +++ b/nvim/.config/nvim/lua/plugins/dressing.lua @@ -1,8 +1,41 @@ +---@type LazyPluginSpec local M = { "stevearc/dressing.nvim", dependencies = { "nvim-telescope/telescope.nvim", }, + opts = { + input = { + get_config = function(opts) + if opts.kind == "cmd" then + return { + relative = "win", + insert_only = false, + } + end + end, + }, + select = { + get_config = function(opts) + if opts.kind == "Ring history" then + return { + telescope = require("telescope.themes").get_dropdown({ preview = true }), + } + end + end, + format_item_override = { + ["rust-tools/debuggables"] = function(item) + item = item:gsub(" %-%-no%-run", "") + item = item:gsub(" %-%-package", " -p") + item = item:gsub(" %-%-all%-features", "") + item = item:gsub(" %-%-all%-targets", "") + item = item:gsub(" %-%-exact", "") + item = item:gsub(" %-%-nocapture", "") + return item + end, + }, + }, + }, } function M.init() @@ -19,60 +52,4 @@ function M.init() end end -function M.config() - local dressing = require("dressing") - - local format_item_override = { - ["rust-tools/debuggables"] = function(item) - item = item:gsub(" %-%-no%-run", "") - item = item:gsub(" %-%-package", " -p") - item = item:gsub(" %-%-all%-features", "") - item = item:gsub(" %-%-all%-targets", "") - item = item:gsub(" %-%-exact", "") - item = item:gsub(" %-%-nocapture", "") - return item - end, - } - - local config_overrides = { - select = { - ["Ring history"] = { - telescope = require("telescope.themes").get_dropdown({ preview = true }), - }, - }, - input = { - cmd = { - relative = "win", - insert_only = false, - }, - }, - } - - dressing.setup({ - input = { - get_config = function(opts) - local overrides = config_overrides.input - - if overrides[opts.kind] ~= nil then - return overrides[opts.kind] - elseif overrides[opts.prompt] ~= nil then - return overrides[opts.prompt] - end - end, - }, - select = { - get_config = function(opts) - local overrides = config_overrides.select - - if overrides[opts.kind] ~= nil then - return overrides[opts.kind] - elseif overrides[opts.prompt] ~= nil then - return overrides[opts.prompt] - end - end, - format_item_override = format_item_override, - }, - }) -end - return M diff --git a/nvim/.config/nvim/lua/plugins/firenvim.lua b/nvim/.config/nvim/lua/plugins/firenvim.lua index 68423b1..eaeaecd 100644 --- a/nvim/.config/nvim/lua/plugins/firenvim.lua +++ b/nvim/.config/nvim/lua/plugins/firenvim.lua @@ -1,4 +1,4 @@ ----@type LazyPlugin +---@type LazyPluginSpec local M = { "glacambre/firenvim", lazy = false, diff --git a/nvim/.config/nvim/lua/plugins/gitsigns.lua b/nvim/.config/nvim/lua/plugins/gitsigns.lua index 3d42309..5a4beba 100644 --- a/nvim/.config/nvim/lua/plugins/gitsigns.lua +++ b/nvim/.config/nvim/lua/plugins/gitsigns.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "lewis6991/gitsigns.nvim", version = "*", @@ -99,7 +100,7 @@ local M = { }, } -function M.config(_, opts) +function M:config(opts) local popup = require("gitsigns.popup") local popup_create = popup.create diff --git a/nvim/.config/nvim/lua/plugins/gruvbox.lua b/nvim/.config/nvim/lua/plugins/gruvbox.lua index 4e839f6..d92d227 100644 --- a/nvim/.config/nvim/lua/plugins/gruvbox.lua +++ b/nvim/.config/nvim/lua/plugins/gruvbox.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "ellisonleao/gruvbox.nvim", priority = 1000, diff --git a/nvim/.config/nvim/lua/plugins/indent_blankline.lua b/nvim/.config/nvim/lua/plugins/indent_blankline.lua index ed3c328..1dcfcd3 100644 --- a/nvim/.config/nvim/lua/plugins/indent_blankline.lua +++ b/nvim/.config/nvim/lua/plugins/indent_blankline.lua @@ -1,23 +1,9 @@ +---@type LazyPluginSpec local M = { "lukas-reineke/indent-blankline.nvim", version = "*", event = "BufReadPre", -} - -function M.init() - vim.api.nvim_set_hl(0, "IndentContext1", { fg = "Red", default = true }) - vim.api.nvim_set_hl(0, "IndentContext2", { fg = "Brown", default = true }) - vim.api.nvim_set_hl(0, "IndentContext3", { fg = "Yellow", default = true }) - vim.api.nvim_set_hl(0, "IndentContext4", { fg = "Green", default = true }) - vim.api.nvim_set_hl(0, "IndentContext5", { fg = "Cyan", default = true }) - vim.api.nvim_set_hl(0, "IndentContext6", { fg = "Blue", default = true }) - vim.api.nvim_set_hl(0, "IndentContext7", { fg = "Magenta", default = true }) -end - -function M.config() - local indent_blankline = require("indent_blankline") - - indent_blankline.setup({ + opts = { context_highlight_list = { "IndentContext1", "IndentContext2", @@ -32,7 +18,17 @@ function M.config() show_current_context = true, use_treesitter = true, use_treesitter_scope = true, - }) + }, +} + +function M.init() + vim.api.nvim_set_hl(0, "IndentContext1", { fg = "Red", default = true }) + vim.api.nvim_set_hl(0, "IndentContext2", { fg = "Brown", default = true }) + vim.api.nvim_set_hl(0, "IndentContext3", { fg = "Yellow", default = true }) + vim.api.nvim_set_hl(0, "IndentContext4", { fg = "Green", default = true }) + vim.api.nvim_set_hl(0, "IndentContext5", { fg = "Cyan", default = true }) + vim.api.nvim_set_hl(0, "IndentContext6", { fg = "Blue", default = true }) + vim.api.nvim_set_hl(0, "IndentContext7", { fg = "Magenta", default = true }) end return M diff --git a/nvim/.config/nvim/lua/plugins/jdtls.lua b/nvim/.config/nvim/lua/plugins/jdtls.lua index 7ecc0f1..d5b5ed9 100644 --- a/nvim/.config/nvim/lua/plugins/jdtls.lua +++ b/nvim/.config/nvim/lua/plugins/jdtls.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "mfussenegger/nvim-jdtls", ft = "java", @@ -6,7 +7,7 @@ local M = { }, } -function M.config(_, opts) +function M:config(opts) require("jdtls").start_or_attach(opts) end diff --git a/nvim/.config/nvim/lua/plugins/lspconfig.lua b/nvim/.config/nvim/lua/plugins/lspconfig.lua index 4a0d078..a6e9b77 100644 --- a/nvim/.config/nvim/lua/plugins/lspconfig.lua +++ b/nvim/.config/nvim/lua/plugins/lspconfig.lua @@ -1,15 +1,16 @@ +---@type LazyPluginSpec local M = { "neovim/nvim-lspconfig", event = "BufReadPre", dependencies = { "folke/neodev.nvim", "hrsh7th/cmp-nvim-lsp", + "creativenull/efmls-configs-nvim", }, } -function M.config() +function M:config() local lspconfig = require("lspconfig") - local configs = require("tobyvin.lsp.configs") require("lspconfig.ui.windows").default_options.border = "single" @@ -18,7 +19,7 @@ function M.config() }) local available = lspconfig.util.available_servers() - for name, config in pairs(configs) do + for name, config in pairs(require("tobyvin.lsp.configs")) do if not vim.tbl_contains(available, name) then lspconfig[name].setup(config) end diff --git a/nvim/.config/nvim/lua/plugins/mason-lspconfig.lua b/nvim/.config/nvim/lua/plugins/mason-lspconfig.lua index 3b905e7..d7b9d71 100644 --- a/nvim/.config/nvim/lua/plugins/mason-lspconfig.lua +++ b/nvim/.config/nvim/lua/plugins/mason-lspconfig.lua @@ -1,4 +1,4 @@ ----@type LazySpec +---@type LazyPluginSpec local M = { "williamboman/mason-lspconfig.nvim", version = "*", diff --git a/nvim/.config/nvim/lua/plugins/mason-null-ls.lua b/nvim/.config/nvim/lua/plugins/mason-null-ls.lua index 582e8a6..800badd 100644 --- a/nvim/.config/nvim/lua/plugins/mason-null-ls.lua +++ b/nvim/.config/nvim/lua/plugins/mason-null-ls.lua @@ -1,4 +1,4 @@ ----@type LazySpec +---@type LazyPluginSpec local M = { "jayp0521/mason-null-ls.nvim", version = "*", diff --git a/nvim/.config/nvim/lua/plugins/mason-nvim-dap.lua b/nvim/.config/nvim/lua/plugins/mason-nvim-dap.lua index 97d6d3f..12e8593 100644 --- a/nvim/.config/nvim/lua/plugins/mason-nvim-dap.lua +++ b/nvim/.config/nvim/lua/plugins/mason-nvim-dap.lua @@ -1,4 +1,4 @@ ----@type LazySpec +---@type LazyPluginSpec local M = { "jayp0521/mason-nvim-dap.nvim", version = "*", diff --git a/nvim/.config/nvim/lua/plugins/mason-update-all.lua b/nvim/.config/nvim/lua/plugins/mason-update-all.lua index fa1f17c..368e518 100644 --- a/nvim/.config/nvim/lua/plugins/mason-update-all.lua +++ b/nvim/.config/nvim/lua/plugins/mason-update-all.lua @@ -1,4 +1,4 @@ ----@type LazySpec +---@type LazyPluginSpec local M = { "RubixDev/mason-update-all", cmd = { diff --git a/nvim/.config/nvim/lua/plugins/mason.lua b/nvim/.config/nvim/lua/plugins/mason.lua index eba1cfe..e62ee32 100644 --- a/nvim/.config/nvim/lua/plugins/mason.lua +++ b/nvim/.config/nvim/lua/plugins/mason.lua @@ -1,24 +1,22 @@ ----@type LazySpec +---@type LazyPluginSpec local M = { - { - "williamboman/mason.nvim", - version = "*", - build = ":MasonUpdate", - cmd = { - "Mason", - "MasonLog", - "MasonInstall", - "MasonUninstall", - }, - dependencies = {}, - opts = { - ui = { - border = "single", - icons = { - package_installed = "✓", - package_pending = "➜", - package_uninstalled = "✗", - }, + "williamboman/mason.nvim", + version = "*", + build = ":MasonUpdate", + cmd = { + "Mason", + "MasonLog", + "MasonInstall", + "MasonUninstall", + }, + dependencies = {}, + opts = { + ui = { + border = "single", + icons = { + package_installed = "✓", + package_pending = "➜", + package_uninstalled = "✗", }, }, }, diff --git a/nvim/.config/nvim/lua/plugins/neodev.lua b/nvim/.config/nvim/lua/plugins/neodev.lua index 68b2c6b..466465e 100644 --- a/nvim/.config/nvim/lua/plugins/neodev.lua +++ b/nvim/.config/nvim/lua/plugins/neodev.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "folke/neodev.nvim", opts = { diff --git a/nvim/.config/nvim/lua/plugins/noice.lua b/nvim/.config/nvim/lua/plugins/noice.lua index 4831175..fe13540 100644 --- a/nvim/.config/nvim/lua/plugins/noice.lua +++ b/nvim/.config/nvim/lua/plugins/noice.lua @@ -1,4 +1,4 @@ ----@type LazyPlugin +---@type LazyPluginSpec local M = { "folke/noice.nvim", version = "*", diff --git a/nvim/.config/nvim/lua/plugins/notify.lua b/nvim/.config/nvim/lua/plugins/notify.lua index a977821..d45c3e8 100644 --- a/nvim/.config/nvim/lua/plugins/notify.lua +++ b/nvim/.config/nvim/lua/plugins/notify.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "rcarriga/nvim-notify", opts = { diff --git a/nvim/.config/nvim/lua/plugins/presence.lua b/nvim/.config/nvim/lua/plugins/presence.lua index 775dac6..e4b8f6b 100644 --- a/nvim/.config/nvim/lua/plugins/presence.lua +++ b/nvim/.config/nvim/lua/plugins/presence.lua @@ -1,4 +1,4 @@ ----@type LazySpec +---@type LazyPluginSpec local M = { "andweeb/presence.nvim", event = { diff --git a/nvim/.config/nvim/lua/plugins/refactoring.lua b/nvim/.config/nvim/lua/plugins/refactoring.lua index 02a11e9..2d2631c 100644 --- a/nvim/.config/nvim/lua/plugins/refactoring.lua +++ b/nvim/.config/nvim/lua/plugins/refactoring.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "ThePrimeagen/refactoring.nvim", dependencies = { diff --git a/nvim/.config/nvim/lua/plugins/rust-tools.lua b/nvim/.config/nvim/lua/plugins/rust-tools.lua index c12c496..36d4af4 100644 --- a/nvim/.config/nvim/lua/plugins/rust-tools.lua +++ b/nvim/.config/nvim/lua/plugins/rust-tools.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "MunifTanjim/rust-tools.nvim", ft = "rust", diff --git a/nvim/.config/nvim/lua/plugins/schemastore.lua b/nvim/.config/nvim/lua/plugins/schemastore.lua index 0103a6c..e358945 100644 --- a/nvim/.config/nvim/lua/plugins/schemastore.lua +++ b/nvim/.config/nvim/lua/plugins/schemastore.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "b0o/SchemaStore.nvim", } diff --git a/nvim/.config/nvim/lua/plugins/telescope-dap.lua b/nvim/.config/nvim/lua/plugins/telescope-dap.lua index 5f2e205..eff291c 100644 --- a/nvim/.config/nvim/lua/plugins/telescope-dap.lua +++ b/nvim/.config/nvim/lua/plugins/telescope-dap.lua @@ -1,4 +1,4 @@ ----@type LazySpec +---@type LazyPluginSpec local M = { "nvim-telescope/telescope-dap.nvim", keys = { diff --git a/nvim/.config/nvim/lua/plugins/telescope.lua b/nvim/.config/nvim/lua/plugins/telescope.lua index 375e393..00b528d 100644 --- a/nvim/.config/nvim/lua/plugins/telescope.lua +++ b/nvim/.config/nvim/lua/plugins/telescope.lua @@ -1,4 +1,4 @@ ----@type LazySpec +---@type LazyPluginSpec local M = { "nvim-telescope/telescope.nvim", dependencies = { diff --git a/nvim/.config/nvim/lua/plugins/todo-comments.lua b/nvim/.config/nvim/lua/plugins/todo-comments.lua index ba7362d..09dedb6 100644 --- a/nvim/.config/nvim/lua/plugins/todo-comments.lua +++ b/nvim/.config/nvim/lua/plugins/todo-comments.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "folke/todo-comments.nvim", cmd = { "TodoTrouble", "TodoTelescope" }, diff --git a/nvim/.config/nvim/lua/plugins/tokyonight.lua b/nvim/.config/nvim/lua/plugins/tokyonight.lua index 0304acd..a4439bd 100644 --- a/nvim/.config/nvim/lua/plugins/tokyonight.lua +++ b/nvim/.config/nvim/lua/plugins/tokyonight.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "folke/tokyonight.nvim", opts = { diff --git a/nvim/.config/nvim/lua/plugins/treesitter.lua b/nvim/.config/nvim/lua/plugins/treesitter.lua index 86af351..9efcd48 100644 --- a/nvim/.config/nvim/lua/plugins/treesitter.lua +++ b/nvim/.config/nvim/lua/plugins/treesitter.lua @@ -1,3 +1,4 @@ +---@type LazyPluginSpec local M = { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", @@ -7,6 +8,7 @@ local M = { "JoosepAlviste/nvim-ts-context-commentstring", "mfussenegger/nvim-ts-hint-textobject", }, + main = "nvim-treesitter.configs", opts = { ensure_installed = { "bash", @@ -113,9 +115,7 @@ local M = { }, } -function M:config(opts) - require("nvim-treesitter.configs").setup(opts) - +function M:init() vim.opt.foldmethod = "expr" vim.opt.foldexpr = "nvim_treesitter#foldexpr()" vim.opt.foldenable = false diff --git a/nvim/.config/nvim/lua/tobyvin/lazy.lua b/nvim/.config/nvim/lua/tobyvin/lazy.lua index b37cc49..3fee88c 100644 --- a/nvim/.config/nvim/lua/tobyvin/lazy.lua +++ b/nvim/.config/nvim/lua/tobyvin/lazy.lua @@ -11,67 +11,6 @@ if not vim.loop.fs_stat(lazypath) then end vim.opt.rtp:prepend(lazypath) -local config = require("lazy.view.config") -local commands = require("lazy.view.commands") - -config.commands.reload = { - desc = "Reload a plugin", - id = 14, - plugins = true, - plugins_required = true, -} - -commands.commands.reload = function(opts) - local Config = require("lazy.core.config") - local Util = require("lazy.core.util") - - for _, plugin in pairs(opts.plugins) do - if type(plugin) == "string" then - if Config.plugins[plugin] then - plugin = Config.plugins[plugin] - elseif Config.spec.disabled[plugin] then - plugin = nil - else - Util.error("Plugin " .. plugin .. " not found") - plugin = nil - end - end - - if plugin then - require("lazy.core.loader").reload(plugin) - end - end -end - -config.commands.deactivate = { - desc = "Deactivate a plugin", - id = 15, - plugins = true, - plugins_required = true, -} - -commands.commands.deactivate = function(opts) - local Config = require("lazy.core.config") - local Util = require("lazy.core.util") - - for _, plugin in pairs(opts.plugins) do - if type(plugin) == "string" then - if Config.plugins[plugin] then - plugin = Config.plugins[plugin] - elseif Config.spec.disabled[plugin] then - plugin = nil - else - Util.error("Plugin " .. plugin .. " not found") - plugin = nil - end - end - - if plugin and plugin._.loaded then - require("lazy.core.loader").deactivate(plugin) - end - end -end - require("lazy").setup("plugins", { defaults = { lazy = true, -- cgit v1.2.3-70-g09d2