25 lines
637 B
Lua
25 lines
637 B
Lua
local M = {}
|
|
|
|
--- Opens a TUI application in a simple centered floating window.
|
|
function M.open_terminal_app(cmd)
|
|
local buf = vim.api.nvim_create_buf(false, true)
|
|
|
|
-- Open a centered floating window (80% screen width/height)
|
|
local win = vim.api.nvim_open_win(buf, true, {
|
|
relative = "editor",
|
|
width = math.floor(vim.o.columns * 0.95),
|
|
height = math.floor(vim.o.lines * 0.95),
|
|
row = math.floor(vim.o.lines * 0.025),
|
|
col = math.floor(vim.o.columns * 0.025),
|
|
border = "rounded",
|
|
})
|
|
|
|
vim.fn.termopen(cmd, {
|
|
on_exit = function()
|
|
pcall(vim.api.nvim_win_close, win, true)
|
|
end,
|
|
})
|
|
end
|
|
|
|
return M
|