diff --git a/lua/direnv.lua b/lua/direnv.lua index a4609e0..b3448c7 100644 --- a/lua/direnv.lua +++ b/lua/direnv.lua @@ -7,11 +7,11 @@ local M = {} --- @field statusline table Configuration for statusline integration --- @field statusline.enabled boolean Enable statusline integration --- @field statusline.icon string Icon to show in statusline ---- @field keybindings table | boolean Keybindings configuration ---- @field keybindings.allow string | boolean Keybinding to allow direnv ---- @field keybindings.deny string | boolean Keybinding to deny direnv ---- @field keybindings.reload string | boolean Keybinding to reload direnv ---- @field keybindings.edit string | boolean Keybinding to edit .envrc +--- @field keybindings table Keybindings configuration +--- @field keybindings.allow string Keybinding to allow direnv +--- @field keybindings.deny string Keybinding to deny direnv +--- @field keybindings.reload string Keybinding to reload direnv +--- @field keybindings.edit string Keybinding to edit .envrc --- @field notifications table Notification settings --- @field notifications.level integer Log level for notifications --- @field notifications.silent_autoload boolean Don't show notifications during autoload and initialization @@ -70,9 +70,7 @@ local function setup_keymaps(keymaps, mode) { noremap = true, silent = true }, map[3] or {} ) - if map[1] then - vim.keymap.set(mode, map[1], map[2], options) - end + vim.keymap.set(mode, map[1], map[2], options) end end @@ -447,24 +445,6 @@ end --- Setup the plugin with user configuration --- @param user_config? table User configuration table M.setup = function(user_config) - if user_config and user_config.keybindings == true then - user_config.keybindings = nil - end - - local function check_bind(command) - ---@diagnostic disable-next-line: need-check-nil - if user_config.keybindings[command] == true then - ---@diagnostic disable-next-line: need-check-nil - user_config.keybindings[command] = nil - end - end - - if user_config and user_config.keybindings then - for k, _ in pairs(user_config.keybindings) do - check_bind(k) - end - end - M.config = vim.tbl_deep_extend("force", { bin = "direnv", autoload_direnv = false, @@ -540,38 +520,36 @@ M.setup = function(user_config) }) -- Setup keybindings - if M.config.keybindings then - setup_keymaps({ - { - M.config.keybindings.allow, - function() - M.allow_direnv() - end, - { desc = "Allow direnv" }, - }, - { - M.config.keybindings.deny, - function() - M.deny_direnv() - end, - { desc = "Deny direnv" }, - }, - { - M.config.keybindings.reload, - function() - M.check_direnv() - end, - { desc = "Reload direnv" }, - }, - { - M.config.keybindings.edit, - function() - M.edit_envrc() - end, - { desc = "Edit .envrc file" }, - }, - }, "n") - end + setup_keymaps({ + { + M.config.keybindings.allow, + function() + M.allow_direnv() + end, + { desc = "Allow direnv" }, + }, + { + M.config.keybindings.deny, + function() + M.deny_direnv() + end, + { desc = "Deny direnv" }, + }, + { + M.config.keybindings.reload, + function() + M.check_direnv() + end, + { desc = "Reload direnv" }, + }, + { + M.config.keybindings.edit, + function() + M.edit_envrc() + end, + { desc = "Edit .envrc file" }, + }, + }, "n") -- Check for .envrc files and set up autoload local group_id = vim.api.nvim_create_augroup("DirenvNvim", { clear = true })