aboutsummaryrefslogtreecommitdiff
path: root/lua/nvterm/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/nvterm/init.lua')
-rw-r--r--lua/nvterm/init.lua51
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