LunarVim/lua/lvim/config/_deprecated.lua
LostNeophyte ccb80e41ee
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 <lostneophyte@tuta.io>
Date:   Wed Dec 28 13:49:44 2022 +0100

    fix: clean folder before copying plugins

commit 64e9afa44b8e528ba527e0510d0d8c2d2237a095
Author: LostNeophyte <lostneophyte@tuta.io>
Date:   Wed Dec 28 13:35:41 2022 +0100

    feat: copy core plugins on first run

commit 2d8e72090c7624f68c09a9aa6582223373a810c1
Author: LostNeophyte <lostneophyte@tuta.io>
Date:   Wed Dec 28 13:11:22 2022 +0100

    feat(utils): fs_copy

commit 85c1f025a6ba13183e85141f75f60e2eefc77bb5
Author: LostNeophyte <lostneophyte@tuta.io>
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 <uzaaft@outlook.com>

* 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 <uzaaft@outlook.com>
Co-authored-by: opalmay <opal.mizrahi2@gmail.com>
2023-01-10 21:18:17 +01:00

159 lines
4.2 KiB
Lua

---@diagnostic disable: deprecated
local M = {}
local function deprecate(name, alternative)
local in_headless = #vim.api.nvim_list_uis() == 0
if in_headless then
return
end
alternative = alternative or "See https://github.com/LunarVim/LunarVim#breaking-changes"
local trace = debug.getinfo(3, "Sl")
local shorter_src = trace.short_src
local t = shorter_src .. ":" .. (trace.currentline or trace.lastlinedefined)
vim.schedule(function()
vim.notify_once(string.format("%s: `%s` is deprecated.\n %s.", t, name, alternative), vim.log.levels.WARN)
end)
end
function M.handle()
local mt = {
__newindex = function(_, k, _)
deprecate(k)
end,
}
---@deprecated
lvim.builtin.theme.options = {}
setmetatable(lvim.builtin.theme.options, {
__newindex = function(_, k, v)
deprecate("lvim.builtin.theme.options." .. k, "Use `lvim.builtin.theme.<theme>.options` instead")
lvim.builtin.theme.tokyonight.options[k] = v
end,
})
---@deprecated
lvim.builtin.notify = {}
setmetatable(lvim.builtin.notify, {
__newindex = function(_, k, _)
deprecate("lvim.builtin.notify." .. k, "See LunarVim#3294")
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)
if not vim.tbl_contains(lvim.lsp.automatic_configuration.skipped_servers, c) then
table.insert(lvim.lsp.automatic_configuration.skipped_servers, c)
end
end, lvim.lsp.override)
end
if lvim.autocommands.custom_groups then
deprecate(
"lvim.autocommands.custom_groups",
"Use vim.api.nvim_create_autocmd instead or check LunarVim#2592 to learn about the new syntax"
)
end
if lvim.lsp.automatic_servers_installation then
deprecate(
"lvim.lsp.automatic_servers_installation",
"Use `lvim.lsp.installer.setup.automatic_installation` instead"
)
end
local function convert_spec_to_lazy(spec)
local alternatives = {
setup = "init",
as = "name",
opt = "lazy",
run = "build",
lock = "pin",
tag = "version",
}
alternatives.requires = function()
if type(spec.requires) == "string" then
spec.dependencies = { spec.requires }
else
spec.dependencies = spec.requires
end
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