diff options
Diffstat (limited to 'lua/lvim/config/_deprecated.lua')
-rw-r--r-- | lua/lvim/config/_deprecated.lua | 101 |
1 files changed, 88 insertions, 13 deletions
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 |