summaryrefslogtreecommitdiff
path: root/lua/lvim/config
diff options
context:
space:
mode:
authorChase Colman <[email protected]>2021-11-11 04:45:52 +0800
committerGitHub <[email protected]>2021-11-10 20:45:52 +0000
commit627fdd60493860c9c5194d8ec0a70ec5aaa45bf8 (patch)
treeb44a258d09bb83c65919ae3c832f0654be017cff /lua/lvim/config
parent605c14e49996f635234b1157a96580448deb1160 (diff)
fix(keymap): unset on reload, load correct order, add unset default (#1942)
fix(keymap): don't unset default keymaps on reload unless set to false fix(keymaps): prevent accessing undefined default mode fix(keymap): use unadapted mode for default check fix(keymap): apply initial lvim.keys
Diffstat (limited to 'lua/lvim/config')
-rw-r--r--lua/lvim/config/init.lua10
1 files changed, 7 insertions, 3 deletions
diff --git a/lua/lvim/config/init.lua b/lua/lvim/config/init.lua
index c932c456..20bc4c81 100644
--- a/lua/lvim/config/init.lua
+++ b/lua/lvim/config/init.lua
@@ -26,15 +26,14 @@ function M:init()
lvim.database = { save_location = utils.join_paths(home_dir, ".config", "lunarvim_db"), auto_execute = 1 }
end
+ lvim.keys = apply_defaults(lvim.keys, require("lvim.keymappings").get_defaults())
+
local builtins = require "lvim.core.builtins"
builtins.config { user_config_file = user_config_file }
local settings = require "lvim.config.settings"
settings.load_options()
- local default_keymaps = require("lvim.keymappings").get_defaults()
- lvim.keys = apply_defaults(lvim.keys, default_keymaps)
-
local autocmds = require "lvim.core.autocmds"
lvim.autocommands = apply_defaults(lvim.autocommands, autocmds.load_augroups())
@@ -89,6 +88,9 @@ function M:load(config_path)
autocmds.define_augroups(lvim.autocommands)
vim.g.mapleader = (lvim.leader == "space" and " ") or lvim.leader
+
+ local default_keymaps = require("lvim.keymappings").get_defaults()
+ lvim.keys = apply_defaults(lvim.keys, default_keymaps)
require("lvim.keymappings").load(lvim.keys)
local settings = require "lvim.config.settings"
@@ -98,6 +100,8 @@ end
--- Override the configuration with a user provided one
-- @param config_path The path to the configuration overrides
function M:reload()
+ require("lvim.keymappings").clear(lvim.keys)
+
local lvim_modules = {}
for module, _ in pairs(package.loaded) do
if module:match "lvim.core" then