diff options
Diffstat (limited to 'lua/nvterm/init.lua')
-rw-r--r-- | lua/nvterm/init.lua | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/lua/nvterm/init.lua b/lua/nvterm/init.lua index c354e6b..3794f35 100644 --- a/lua/nvterm/init.lua +++ b/lua/nvterm/init.lua @@ -20,18 +20,6 @@ local defaults = { close_on_exit = true, auto_insert = true, }, - mappings = { - toggle = { - float = "<A-i>", - horizontal = "<A-h>", - vertical = "<A-v>", - }, - new = { - horizontal = "<leader>h", - vertical = "<leader>v", - }, - }, - enable_new_mappings = false, } local set_behavior = function(behavior) @@ -60,47 +48,10 @@ local set_behavior = function(behavior) end end -M.create_mappings = function(method, map_table, opts) - opts = opts or {} - vim.tbl_deep_extend("force", { noremap = true, silent = true }, opts) - for type, mapping in pairs(map_table) do - vim.keymap.set({ "n", "t" }, mapping, function() - require("nvterm.terminal")[method](type) - end, opts) - end -end - -local setup_mappings = function(mappings) - for method, map_table in pairs(mappings) do - M.create_mappings(method, map_table) - end -end - -local map_config_shortcuts = function(config) - local shortcuts = { - { config.terminals.type_opts, { "horizontal", "vertical", "float" } }, - { config.mappings, { "toggle", "new" } }, - } - - for _, shortcut_map in ipairs(shortcuts) do - for _, key in ipairs(shortcut_map[2]) do - config[key] = config[key] or {} - shortcut_map[1][key] = shortcut_map[1][key] or {} - shortcut_map[1][key] = vim.tbl_deep_extend("force", shortcut_map[1][key], config[key] or {}) - end - end - - return config -end - M.setup = function(config) config = config and vim.tbl_deep_extend("force", defaults, config) or defaults - set_behavior(config.behavior) - config = map_config_shortcuts(config) - config.mappings.new = config.enable_new_mappings and config.mappings.new or nil - - setup_mappings(config.mappings) + set_behavior(config.behavior) require("nvterm.terminal").init(config.terminals) end |