diff --git a/lua/my_plugins.lua b/lua/my_plugins.lua index 7ce826f..8cb7577 100644 --- a/lua/my_plugins.lua +++ b/lua/my_plugins.lua @@ -162,6 +162,10 @@ return require('packer').startup(function() }) end, }) + use({ + 'akinsho/toggleterm.nvim', + config = get_setup('toggleterm') + }) if packer_bootstrap then require('packer').sync() end diff --git a/lua/setup/toggleterm.lua b/lua/setup/toggleterm.lua new file mode 100644 index 0000000..2bb2040 --- /dev/null +++ b/lua/setup/toggleterm.lua @@ -0,0 +1,32 @@ +require('toggleterm').setup({}) + +local Terminal = require('toggleterm.terminal').Terminal + +function _G.set_terminal_keymaps() + local opts = { noremap = true } + vim.api.nvim_buf_set_keymap(0, 't', '', [[]], opts) + vim.api.nvim_buf_set_keymap(0, 't', 'jk', [[]], opts) + vim.api.nvim_buf_set_keymap(0, 't', '', [[h]], opts) + vim.api.nvim_buf_set_keymap(0, 't', '', [[j]], opts) + vim.api.nvim_buf_set_keymap(0, 't', '', [[k]], opts) + vim.api.nvim_buf_set_keymap(0, 't', '', [[l]], opts) +end + +-- Disbled for the moment because it is also set for lazygit +-- vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()') + +local lazygit = Terminal:new({ + cmd = 'lazygit', + -- dir = vim.fn.getcwd(), + hidden = true, + direction = 'float', + on_open = function(term) + vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "close", {noremap = true, silent = true}) + end, +}) + +function _lazygit_toggle() + lazygit:toggle() +end + +vim.api.nvim_set_keymap('n', 'g', 'lua _lazygit_toggle()', { noremap = true, silent = true })