feat(loader): warn when maplocalleader is changed after init (#1326)

* feat(loader): warn when maplocalleader is changed after init

* docs: default maplocalleader

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
This commit is contained in:
TheSast 2024-03-07 16:32:07 +00:00 committed by GitHub
parent c96fc24555
commit 0694651fd3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 14 additions and 1 deletions

View File

@ -67,6 +67,7 @@ require("lazy").setup(plugins, opts)
```lua ```lua
-- Example using a list of specs with the default options -- Example using a list of specs with the default options
vim.g.mapleader = " " -- Make sure to set `mapleader` before lazy so your mappings are correct vim.g.mapleader = " " -- Make sure to set `mapleader` before lazy so your mappings are correct
vim.g.maplocalleader = "\\" -- Same for `maplocalleader`
require("lazy").setup({ require("lazy").setup({
"folke/which-key.nvim", "folke/which-key.nvim",
@ -537,7 +538,7 @@ Any command can have a **bang** to make the command wait till it finished. For e
if you want to sync lazy from the cmdline, you can use: if you want to sync lazy from the cmdline, you can use:
```shell ```shell
$ nvim --headless "+Lazy! sync" +qa nvim --headless "+Lazy! sync" +qa
``` ```
`opts` is a table with the following key-values: `opts` is a table with the following key-values:

View File

@ -199,6 +199,9 @@ M.me = nil
---@type string ---@type string
M.mapleader = nil M.mapleader = nil
---@type string
M.maplocalleader = nil
function M.headless() function M.headless()
return #vim.api.nvim_list_uis() == 0 return #vim.api.nvim_list_uis() == 0
end end
@ -245,6 +248,7 @@ function M.setup(opts)
-- disable plugin loading since we do all of that ourselves -- disable plugin loading since we do all of that ourselves
vim.go.loadplugins = false vim.go.loadplugins = false
M.mapleader = vim.g.mapleader M.mapleader = vim.g.mapleader
M.maplocalleader = vim.g.maplocalleader
if M.headless() then if M.headless() then
require("lazy.view.commands").setup() require("lazy.view.commands").setup()

View File

@ -50,6 +50,7 @@ function M.setup()
Util.track() Util.track()
end end
Config.mapleader = vim.g.mapleader Config.mapleader = vim.g.mapleader
Config.maplocalleader = vim.g.maplocalleader
-- report any warnings & errors -- report any warnings & errors
Config.spec:report() Config.spec:report()

View File

@ -76,6 +76,13 @@ function M.check(start)
Config.mapleader = vim.g.mapleader Config.mapleader = vim.g.mapleader
end end
if Loader.init_done and Config.maplocalleader ~= vim.g.maplocalleader then
vim.schedule(function()
require("lazy.core.util").warn("You need to set `vim.g.maplocalleader` **BEFORE** loading lazy")
end)
Config.maplocalleader = vim.g.maplocalleader
end
if not (start or #changes == 0) then if not (start or #changes == 0) then
vim.schedule(function() vim.schedule(function()
if Config.options.change_detection.notify and not Config.headless() then if Config.options.change_detection.notify and not Config.headless() then