1 changed files with 36 additions and 0 deletions
@ -0,0 +1,36 @@ |
|||||||
|
-- Module for managing popup terminal |
||||||
|
|
||||||
|
local M = {} |
||||||
|
|
||||||
|
M.persistent_term = nil |
||||||
|
|
||||||
|
local create_command = function(name, command) |
||||||
|
if not name or type(name) ~= "string" then return end |
||||||
|
|
||||||
|
vim.api.nvim_create_user_command(name, function() |
||||||
|
local cmd = type(command) == "function" and command() or command |
||||||
|
M.send_cmd_to_term(cmd) |
||||||
|
end, {}) |
||||||
|
end |
||||||
|
|
||||||
|
M.setup = function() |
||||||
|
-- Setup keybinds |
||||||
|
require("keybinds").toggleterm_nvim() |
||||||
|
|
||||||
|
create_command("RunScript", "sleep 2 && ls /") |
||||||
|
create_command("ScanScript", function() |
||||||
|
local file_path = vim.fn.expand("%:p") |
||||||
|
LOG(file_path) |
||||||
|
|
||||||
|
return "ls" |
||||||
|
end) |
||||||
|
end |
||||||
|
|
||||||
|
M.send_cmd_to_term = function(cmd) |
||||||
|
local term = require("toggleterm.terminal").Terminal |
||||||
|
local default = term:new({ id = 1 }) |
||||||
|
if not default:is_open() then default:open() end |
||||||
|
default:send(cmd) |
||||||
|
end |
||||||
|
|
||||||
|
return M |
Loading…
Reference in new issue