local Terminal = require("toggleterm.terminal").Terminal local lazygit = Terminal:new( { cmd = "lazygit", dir = "git_dir", direction = "float", float_opts = { winblend = 0, border = "shadow" }, on_open = function(term) vim.cmd("startinsert!") vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "close", {noremap = true, silent = true}) end, on_close = function(term) Terminal:close() end } ) function _lazygit_toggle() lazygit:toggle() end vim.api.nvim_set_keymap("n", "", "lua _lazygit_toggle()", {noremap = true, silent = true}) local pnpm = Terminal:new( { cmd = "pnpm dev", dir = "git_dir", size = 5, direction = "vertical", on_close = function(term) Terminal:close() end } ) function _pnpm_toggle() pnpm:toggle() end vim.api.nvim_set_keymap("n", "d", "lua _pnpm_toggle()", {noremap = true, silent = true}) local nvimConfig = Terminal:new( { cmd = "cd $HOME/.dotfiles && nvim configs/init.lua && cd -", direction = "float", on_close = function(term) Terminal:close() vim.api.nvim_command(":source $MYVIMRC") end } ) function _nvimConfig_toggle() nvimConfig:toggle() end vim.api.nvim_set_keymap("n", "", "lua _nvimConfig_toggle()", {noremap = true, silent = true}) require("toggleterm").setup { shade_terminals = true }