diff --git a/lua/Javanvim/init.lua b/lua/Javanvim/init.lua index b623a48..f79490c 100644 --- a/lua/Javanvim/init.lua +++ b/lua/Javanvim/init.lua @@ -8,6 +8,7 @@ M.config = { ["jr"] = "JavaRun", ["nf"] = "NewJavaFile", ["np"] = "NewJavaProject", + [""] = "CloseTerminal", }, terminal = { width_pad = 10, @@ -34,6 +35,16 @@ function M.setup(opts) vim.api.nvim_create_user_command("JavaRun", M.run, {}) end +local function get_key_for_action(action) + for key, cmd in pairs(M.config.keybinds) do + if cmd == action then + return key + end + end + return nil -- Return nil if the action is not found +end + + -- Open floating terminal local function open_float_terminal(cmd) local ui = vim.api.nvim_list_uis()[1] @@ -68,7 +79,9 @@ local function open_float_terminal(cmd) vim.fn.termopen(cmd) -- vim.cmd("startinsert") - vim.api.nvim_buf_set_keymap(buf, "n", "", "i:q", { noremap = true, silent = true }) + local close_key = get_key_for_action("CloseTerminal") + + vim.api.nvim_buf_set_keymap(buf, "n", close_key, "i:q", { noremap = true, silent = true }) return buf, win end