diff options
author | Chase Colman <[email protected]> | 2021-11-11 04:45:52 +0800 |
---|---|---|
committer | GitHub <[email protected]> | 2021-11-10 20:45:52 +0000 |
commit | 627fdd60493860c9c5194d8ec0a70ec5aaa45bf8 (patch) | |
tree | b44a258d09bb83c65919ae3c832f0654be017cff /lua/lvim/config | |
parent | 605c14e49996f635234b1157a96580448deb1160 (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.lua | 10 |
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 |