feat: lazyrc files are now a lazy.nvim feature

This commit is contained in:
Folke Lemaitre
2024-05-26 16:49:48 +02:00
parent 7aa37064a2
commit 3a30070a4c
4 changed files with 6 additions and 39 deletions

View File

@ -132,7 +132,7 @@ local defaults = {
} }
M.json = { M.json = {
version = 4, version = 5,
data = { data = {
version = nil, ---@type string? version = nil, ---@type string?
news = {}, ---@type table<string, string> news = {}, ---@type table<string, string>

View File

@ -1,38 +0,0 @@
--[[
Enable project-specific plugin specs.
File .lazy.lua:
is read when present in the current working directory
should return a plugin spec
has to be manually trusted for each instance of the file
This extra should be the last plugin spec added to lazy.nvim
See:
:h 'exrc'
:h :trust
--]]
local filepath = vim.fn.fnamemodify(".lazy.lua", ":p")
local file = vim.secure.read(filepath)
if not file then
return {}
end
vim.api.nvim_create_autocmd("User", {
pattern = "VeryLazy",
once = true,
callback = function()
local Config = require("lazy.core.config")
local lazyrc_idx = LazyVim.plugin.extra_idx("lazyrc")
if lazyrc_idx and lazyrc_idx ~= #Config.spec.modules then
LazyVim.warn({
"The `lazyrc` extra must be the last plugin spec added to **lazy.nvim**. ",
"",
"Add `{ import = 'lazyvim.plugins.extras.lazyrc' }` to file `config.lazy`. ",
"Do not use the `LazyExtras` command. ",
}, { title = "LazyVim", once = true })
end
end,
})
return loadstring(file)()

View File

@ -85,6 +85,10 @@ function M.migrate()
or extra == "lazyvim.plugins.extras.ui.treesitter-rewrite" or extra == "lazyvim.plugins.extras.ui.treesitter-rewrite"
) )
end, json.data.extras or {}) end, json.data.extras or {})
elseif json.data.version == 4 then
json.data.extras = vim.tbl_filter(function(extra)
return not (extra == "lazyvim.plugins.extras.lazyrc")
end, json.data.extras or {})
end end
M.save() M.save()

View File

@ -13,6 +13,7 @@ M.deprecated_extras = {
["lazyvim.plugins.extras.coding.native_snippets"] = "Native snippets are now the default for **Neovim >= 0.10**", ["lazyvim.plugins.extras.coding.native_snippets"] = "Native snippets are now the default for **Neovim >= 0.10**",
["lazyvim.plugins.extras.ui.treesitter-rewrite"] = "Disabled `treesitter-rewrite` extra for now. Not ready yet.", ["lazyvim.plugins.extras.ui.treesitter-rewrite"] = "Disabled `treesitter-rewrite` extra for now. Not ready yet.",
["lazyvim.plugins.extras.coding.mini-ai"] = "`mini.ai` is now a core LazyVim plugin (again)", ["lazyvim.plugins.extras.coding.mini-ai"] = "`mini.ai` is now a core LazyVim plugin (again)",
["lazyvim.plugins.extras.lazyrc"] = "local spec files are now a lazy.nvim feature",
} }
M.deprecated_modules = { M.deprecated_modules = {