60 lines
2.2 KiB
Lua
60 lines
2.2 KiB
Lua
-- if true then return {} end
|
|
|
|
---@type LazySpec
|
|
return {
|
|
"akinsho/toggleterm.nvim",
|
|
cmd = { "ToggleTerm", "TermExec", "TermNew" },
|
|
version = false,
|
|
branch = "main",
|
|
keys = {
|
|
{ "<leader>tH", "<Cmd>TermNew size=20 direction=horizontal<CR>", desc = "New horizonal terminal" },
|
|
{ "<M-h>", "<Cmd>ToggleTerm size=20<CR>", 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", "<Cmd>TermSelect<CR>", desc = "Select Terminal", mode = { "t", "n" } },
|
|
|
|
-- toggle
|
|
{ ",tf", "<Cmd>ToggleTerm direction=float<CR>", desc = "Toggle terminal float", mode = { "t", "n" } },
|
|
-- { ",tn", "<Cmd>ToggleTerm direction=tab<CR>", desc = "Toggle terminal in tab" },
|
|
|
|
-- new
|
|
{ ",tn", desc = "New terminal" },
|
|
{ ",tnt", "<Cmd>TermNew name=tab direction=tab<CR>", desc = "New terminal in tab" },
|
|
{ ",tnh", "<Cmd>TermNew name=horiz direction=horizontal<CR>", desc = "New horizontal terminal" },
|
|
{ ",tnv", "<Cmd>TermNew name=verti direction=vertical<CR>", desc = "New vertical terminal" },
|
|
{ ",tnf", "<Cmd>TermNew name=float direction=float<CR>", desc = "New float terminal" },
|
|
|
|
{ "<C-Up>", "<Cmd>resize +2<CR>", desc = "Resize terminal up", mode = "t" },
|
|
{ "<C-Down>", "<Cmd>resize -2<CR>", 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,
|
|
}
|