-- if true then return {} end ---@type LazySpec return { "akinsho/toggleterm.nvim", cmd = { "ToggleTerm", "TermExec", "TermNew" }, version = false, branch = "main", keys = { { "tH", "TermNew size=20 direction=horizontal", desc = "New horizonal terminal" }, { "", "ToggleTerm size=20", desc = "Toggle terminal", mode = { "n", "t" } }, { ",tt", function() local term = require "toggleterm.terminal" local id = term.get_focused_id() local last = term.get_last_focused() if id then require("toggleterm").toggle(id) elseif last then require("toggleterm").toggle(last.id) else require("astrocore").notify("No terminal is opening", vim.log.levels.INFO, { title = "Toggle Term" }) end end, mode = { "n", "t" }, desc = "Toggle terminal", }, -- select { ",ts", "TermSelect", desc = "Select Terminal", mode = { "t", "n" } }, -- toggle { ",tf", "ToggleTerm direction=float", desc = "Toggle terminal float", mode = { "t", "n" } }, -- { ",tn", "ToggleTerm direction=tab", desc = "Toggle terminal in tab" }, -- new { ",tn", desc = "New terminal" }, { ",tnt", "TermNew name=tab direction=tab", desc = "New terminal in tab" }, { ",tnh", "TermNew name=horiz direction=horizontal", desc = "New horizontal terminal" }, { ",tnv", "TermNew name=verti direction=vertical", desc = "New vertical terminal" }, { ",tnf", "TermNew name=float direction=float", desc = "New float terminal" }, { "", "resize +2", desc = "Resize terminal up", mode = "t" }, { "", "resize -2", desc = "Resize terminal down", mode = "t" }, }, config = function(plugin, opts) -- override size require("toggleterm").setup { -- size can be a number or function which is passed the current terminal size = function(term) if term.direction == "horizontal" then return vim.o.lines * 0.4 elseif term.direction == "vertical" then return vim.o.columns * 0.4 end end, } --[[@type ToggleTermConfig]] end, }