return { "akinsho/toggleterm.nvim", lazy = true, cmd = { "ToggleTerm", "TermExec", "ToggleTermToggleAll", "ToggleTermSendCurrentLine", "ToggleTermSendVisualLines", "ToggleTermSendVisualSelection", }, branch = "main", enabled = true, opts = { size = 20, open_mapping = [[]], hide_numbers = true, shade_filetypes = {}, shade_terminals = true, shading_factor = 2, start_in_insert = true, insert_mappings = true, persist_size = true, direction = "float", close_on_exit = true, shell = vim.o.shell, float_opts = { border = "curved", winblend = 0, highlights = { border = "Normal", background = "Normal", }, }, }, config = function(_, opts) require("toggleterm").setup(opts) function _G.set_terminal_keymaps() local optsn = { noremap = true } vim.api.nvim_buf_set_keymap(0, "t", "", [[]], optsn) vim.api.nvim_buf_set_keymap(0, "t", "jk", [[]], optsn) vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], optsn) vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], optsn) vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], optsn) vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], optsn) end vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") end, keys = { { "t", "", desc = "  Terminal", mode = "n" }, { "tl", "terminal live-server", desc = "Live Server", mode = "n" }, { "tP", "lua require('user.utils.whichkey')._NEWTAB_TOGGLE()", desc = "Power Shell", mode = "n" }, { "tx", "ToggleTermToggleAll!", desc = "Close Tab", mode = "n" }, { "tn", "lua require('user.utils.whichkey')._NODE_TOGGLE()", desc = "Node", mode = "n" }, { "tb", "lua require('user.utils.whichkey')._BTOP_TOGGLE()", desc = "Btop", mode = "n" }, { "tp", "lua require('user.utils.whichkey')._PYTHON_TOGGLE()", desc = "Python", mode = "n" }, { "tf", "ToggleTerm direction=float", desc = "Float", mode = "n" }, { "th", "ToggleTerm size=10 direction=horizontal", desc = "Horizontal", mode = "n" }, { "tv", "ToggleTerm size=80 direction=vertical", desc = "Vertical", mode = "n" }, { "ts", "ToggleTerm direction=tab", desc = "New Tab", mode = "n" }, { "ta", "lua require('user.utils.whichkey')._OPEN_ALACRITTY()", desc = "Open Alacritty", mode = "n" }, { "tw", "lua require('user.utils.whichkey')._OPEN_WEZTERM()", desc = "Open Wezterm", mode = "n" }, { "tt", "lua require('user.utils.whichkey')._OPEN_WEZTERM_TAB()", desc = "Open Tab Wezterm", mode = "n", }, { "tj", "lua _SET_TAB_TITLE()", desc = "Set Tab Title", mode = "n" }, }, }