| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 | 
							- ---@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.lsp.float = {}
 
-   setmetatable(lvim.lsp.float, {
 
-     __newindex = function(_, k, _)
 
-       deprecate("lvim.lsp.float." .. k, "Use options provided by the handler instead")
 
-     end,
 
-   })
 
-   ---@deprecated
 
-   lvim.lsp.diagnostics = {}
 
-   setmetatable(lvim.lsp.diagnostics, {
 
-     __newindex = function(table, k, v)
 
-       deprecate("lvim.lsp.diagnostics." .. k, string.format("Use `vim.diagnostic.config({ %s = %s })` instead", k, v))
 
-       rawset(table, k, v)
 
-     end,
 
-   })
 
-   ---@deprecated
 
-   lvim.lang = {}
 
-   setmetatable(lvim.lang, mt)
 
- end
 
- function M.post_load()
 
-   if lvim.lsp.diagnostics and not vim.tbl_isempty(lvim.lsp.diagnostics) then
 
-     vim.diagnostic.config(lvim.lsp.diagnostics)
 
-   end
 
-   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",
 
-       requires = "dependencies",
 
-     }
 
-     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 "enabled = " .. vim.inspect(spec.enabled)
 
-     end
 
-     alternatives.wants = function()
 
-       return "dependencies = [value]"
 
-     end
 
-     alternatives.needs = alternatives.wants
 
-     alternatives.module = function()
 
-       spec.lazy = true
 
-       return "lazy = true"
 
-     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
 
-         local new_value = vim.inspect(spec[alternative] or "[value]")
 
-         message = message or string.format("%s = %s", alternative, new_value)
 
-         vim.schedule(function()
 
-           vim.notify_once(
 
-             string.format(
 
-               [[`%s` in `lvim.plugins` has been deprecated since the migration to lazy.nvim. Use `%s` instead.
 
- Example:
 
- `lvim.plugins = {... {... %s = %s ...} ...}`
 
- ->
 
- `lvim.plugins = {... {... %s ...} ...}`
 
- See https://github.com/folke/lazy.nvim#-migration-guide"]],
 
-               old_key,
 
-               message,
 
-               old_key,
 
-               new_value,
 
-               message
 
-             ),
 
-             vim.log.levels.WARN
 
-           )
 
-         end)
 
-       end
 
-     end
 
-     if spec[1] and spec[1]:match "^http" then
 
-       spec.url = spec[1]
 
-       spec[1] = nil
 
-       vim.schedule(function()
 
-         vim.notify_once(
 
-           string.format(
 
-             [[`"http..."` in `lvim.plugins` has been deprecated since the migration to lazy.nvim. Use `url = "http..."` instead.
 
- Example:
 
- `lvim.plugins = {... { "%s" ...} ...}`
 
- ->
 
- `lvim.plugins = {... { url = "%s" ...} ...}`
 
- See https://github.com/folke/lazy.nvim#-migration-guide"]],
 
-             spec.url,
 
-             spec.url
 
-           ),
 
-           vim.log.levels.WARN
 
-         )
 
-       end)
 
-     end
 
-   end
 
-   for _, plugin in ipairs(lvim.plugins) do
 
-     if type(plugin) == "table" then
 
-       convert_spec_to_lazy(plugin)
 
-     end
 
-   end
 
- end
 
- return M
 
 
  |