diff --git a/init.lua b/init.lua index b0d1b93..a7e171e 100644 --- a/init.lua +++ b/init.lua @@ -7,7 +7,10 @@ end require "core" require "core.utils" require "core.options" -require("core.utils").load_mappings() + +vim.defer_fn(function() + require("core.utils").load_mappings() +end, 0) -- setup packer + plugins require("core.packer").bootstrap() diff --git a/lua/core/utils.lua b/lua/core/utils.lua index 4303015..244fc90 100644 --- a/lua/core/utils.lua +++ b/lua/core/utils.lua @@ -74,9 +74,7 @@ M.remove_default_keys = function() end M.load_mappings = function(mappings, mapping_opt) - mappings = mappings or M.load_config().mappings - - -- set mapping function with/without whichkye + -- set mapping function with/without whichkey local map_func local whichkey_exists, wk = pcall(require, "which-key") @@ -92,35 +90,33 @@ M.load_mappings = function(mappings, mapping_opt) end end - for section, section_mappings in pairs(mappings) do - if section ~= "lspconfig" then - -- skip mapping this as its mapppings are loaded in lspconfiguti - for mode, mode_mappings in pairs(section_mappings) do - for keybind, mapping_info in pairs(mode_mappings) do - -- merge default + user opts + mappings = mappings or vim.deepcopy(M.load_config().mappings) + mappings.lspconfig = nil - local default_opts = merge_tb("force", { mode = mode }, mapping_opt or {}) - local opts = merge_tb("force", default_opts, mapping_info.opts or {}) + for _, section_mappings in pairs(mappings) do + -- skip mapping this as its mapppings are loaded in lspconfig + for mode, mode_mappings in pairs(section_mappings) do + for keybind, mapping_info in pairs(mode_mappings) do + -- merge default + user opts - if mapping_info.opts then - mapping_info.opts = nil - end + local default_opts = merge_tb("force", { mode = mode }, mapping_opt or {}) + local opts = merge_tb("force", default_opts, mapping_info.opts or {}) - map_func(keybind, mapping_info, opts) + if mapping_info.opts then + mapping_info.opts = nil end + + map_func(keybind, mapping_info, opts) end end end end -- load plugin after entering vim ui -M.packer_lazy_load = function(plugin, timer) - if plugin then - timer = timer or 0 - vim.defer_fn(function() - require("packer").loader(plugin) - end, timer) - end +M.packer_lazy_load = function(plugin) + vim.defer_fn(function() + require("packer").loader(plugin) + end, 0) end -- remove plugins defined in chadrc diff --git a/lua/plugins/configs/statusline.lua b/lua/plugins/configs/statusline.lua index 6595901..1f310c7 100644 --- a/lua/plugins/configs/statusline.lua +++ b/lua/plugins/configs/statusline.lua @@ -50,7 +50,8 @@ options.icon_styles = { }, } -options.separator_style = options.icon_styles[require("core.utils").load_config().plugins.options.statusline.separator_style] +options.separator_style = + options.icon_styles[require("core.utils").load_config().plugins.options.statusline.separator_style] options.main_icon = { provider = options.separator_style.main_icon, @@ -126,6 +127,11 @@ options.git_branch = { icon = "  ", } +options.empty_space_git = { + provider = " " .. options.separator_style.left, + hl = "Feline_EmptySpace_git", +} + -- lsp options.diagnostic = { @@ -255,7 +261,7 @@ options.empty_spaceColored = { hl = function() return { fg = get_color(options.mode_hlgroups[vim.fn.mode()][2], "fg#"), - bg = get_color("Feline_EmptySpace", "fg#"), + bg = get_color("Feline_EmptySpace", "bg#"), } end, } @@ -346,8 +352,8 @@ add_table(options.right, options.diff.add) add_table(options.right, options.diff.change) add_table(options.right, options.diff.remove) add_table(options.right, options.git_branch) +add_table(options.right, options.empty_space_git) -add_table(options.right, options.empty_space) add_table(options.right, options.empty_spaceColored) add_table(options.right, options.mode_icon) add_table(options.right, options.mode_name)