From ccb80e41ee929505c97e682749c74f8db4609d61 Mon Sep 17 00:00:00 2001 From: LostNeophyte Date: Tue, 10 Jan 2023 21:18:17 +0100 Subject: refactor: migrate to lazy.nvim (#3647) * refactor: convert plugins spec to lazy * refactor(lazy): remove impatient * fix(telescope): no more errors if theme is nil * refactor(lazy): use lazy in plugin_loader * refactor(lazy): pin plugins with packer's snapshot * fix: add plugins to rtp before config:init * fix: fs_stat nil check * feat: lazy cache * feat(lazy): reloading * refactor(lazy): plugin-loader functions * feat(lazy): cache reset * refactor: set runtimepath manually * fix: runtimepath * refactor(rtp) * refactor(lazy): packer -> lazy in various places * fix(lazy): disable tree-sitter ensure installed * refactor(lazy): restore order to bootstrap * refactor(lazy): remove unused impatient profiler * small fixes * `lvim.plugins` deprecation handling * fix: deprecation of `requires` in plugin specs * feat: core plugins pinning * refactor(lazy): plugin loader tests * refactor(lazy): use lazy in scripts * refactor(lazy): which-key keybinds * chore: format * fix: installer * fix: first time setup * feat: changes required for packaging commit 951ac2b7c01b5200b973660c967852d1706cce28 Author: LostNeophyte Date: Wed Dec 28 13:49:44 2022 +0100 fix: clean folder before copying plugins commit 64e9afa44b8e528ba527e0510d0d8c2d2237a095 Author: LostNeophyte Date: Wed Dec 28 13:35:41 2022 +0100 feat: copy core plugins on first run commit 2d8e72090c7624f68c09a9aa6582223373a810c1 Author: LostNeophyte Date: Wed Dec 28 13:11:22 2022 +0100 feat(utils): fs_copy commit 85c1f025a6ba13183e85141f75f60e2eefc77bb5 Author: LostNeophyte Date: Wed Dec 28 13:04:38 2022 +0100 fix: copy correct example config * fix: packer specs deprecation handling * fix: plugin specs deprecation * feat: pin lazy's version * fix: remove plugins form rtp before loading lazy * fix: plugin-loader test * feat(lazy): add keymappings for profile, log, and debug (#3665) * feat(lazy): Add keymappings for profile, log, and debug * feat(lazy): Add keymap for cleaning * chore: format * pref: lazy load many plugins Co-authored-by: Uzair Aftab * fix: bootstrap correct version of lazy * fix: also use CmdLineEnter event for cmp * fix: don't use lazy's modules before it's set up * perf: (hack) enable lazy's cache before loading lazy * fix: plugins.lua * fix: plugins bump script * chore: remove debug print * feat: add rounded border for `:Lazy` * fix: bufferline flashing * fix: don't close lazy on startup * fix: load breadcrumbs on startup * fix: don't lazy load bufferline * chore: bump lazy's version * fix: remove site from rtp (fixes treesitter issues) * revert default config copying changes * fix(bootstrap): actually remove plugins dir on windows * chore: bump lazy's version * chore: bump lazy's version Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com> Co-authored-by: Uzair Aftab <48220549+Uzaaft@users.noreply.github.com> Co-authored-by: Uzair Aftab Co-authored-by: opalmay --- lua/lvim/config/_deprecated.lua | 101 ++++++++++++++++++++++++++++++++++------ 1 file changed, 88 insertions(+), 13 deletions(-) (limited to 'lua/lvim/config/_deprecated.lua') diff --git a/lua/lvim/config/_deprecated.lua b/lua/lvim/config/_deprecated.lua index 4cf4381e..d4b15f30 100644 --- a/lua/lvim/config/_deprecated.lua +++ b/lua/lvim/config/_deprecated.lua @@ -41,6 +41,24 @@ function M.handle() end, }) + ---@deprecated + lvim.builtin.dashboard = {} + setmetatable(lvim.builtin.dashboard, { + __newindex = function(_, k, _) + deprecate("lvim.builtin.dashboard." .. k, "Use `lvim.builtin.alpha` instead. See LunarVim#1906") + end, + }) + + ---@deprecated + lvim.lsp.popup_border = {} + setmetatable(lvim.lsp.popup_border, mt) + + ---@deprecated + lvim.lang = {} + setmetatable(lvim.lang, mt) +end + +function M.post_load() if lvim.lsp.override and not vim.tbl_isempty(lvim.lsp.override) then deprecate("lvim.lsp.override", "Use `lvim.lsp.automatic_configuration.skipped_servers` instead") vim.tbl_map(function(c) @@ -64,21 +82,78 @@ function M.handle() ) end - ---@deprecated - lvim.builtin.dashboard = {} - setmetatable(lvim.builtin.dashboard, { - __newindex = function(_, k, _) - deprecate("lvim.builtin.dashboard." .. k, "Use `lvim.builtin.alpha` instead. See LunarVim#1906") - end, - }) + local function convert_spec_to_lazy(spec) + local alternatives = { + setup = "init", + as = "name", + opt = "lazy", + run = "build", + lock = "pin", + tag = "version", + } - ---@deprecated - lvim.lsp.popup_border = {} - setmetatable(lvim.lsp.popup_border, mt) + alternatives.requires = function() + if type(spec.requires) == "string" then + spec.dependencies = { spec.requires } + else + spec.dependencies = spec.requires + end - ---@deprecated - lvim.lang = {} - setmetatable(lvim.lang, mt) + return "Use `dependencies` instead" + end + + alternatives.disable = function() + if type(spec.disabled) == "function" then + spec.enabled = function() + return not spec.disabled() + end + else + spec.enabled = not spec.disabled + end + return "Use `enabled` instead" + end + + alternatives.wants = function() + return "It's not needed in most cases, otherwise use `dependencies`." + end + alternatives.needs = alternatives.wants + + alternatives.module = function() + spec.lazy = true + return "Use `lazy = true` instead." + end + + for old_key, alternative in pairs(alternatives) do + if spec[old_key] ~= nil then + local message + + if type(alternative) == "function" then + message = alternative() + else + spec[alternative] = spec[old_key] + end + spec[old_key] = nil + + message = message or string.format("Use `%s` instead.", alternative) + deprecate( + string.format("%s` in `lvim.plugins", old_key), + message .. " See https://github.com/folke/lazy.nvim#-migration-guide" + ) + end + end + + if spec[1] and spec[1]:match "^http" then + spec.url = spec[1] + spec[1] = nil + deprecate("{ 'http...' }` in `lvim.plugins", "Use { url = 'http...' } instead.") + end + end + + for _, plugin in ipairs(lvim.plugins) do + if type(plugin) == "table" then + convert_spec_to_lazy(plugin) + end + end end return M -- cgit v1.2.3