diff options
Diffstat (limited to 'lua')
-rw-r--r-- | lua/nvterm/terminal.lua | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lua/nvterm/terminal.lua b/lua/nvterm/terminal.lua index 3c77e43..b893bbb 100644 --- a/lua/nvterm/terminal.lua +++ b/lua/nvterm/terminal.lua @@ -31,6 +31,13 @@ local function get_type_last(type) return get_last(get_type(type)) end +local function get_term(key, value) + -- assumed to be unique, will only return 1 term regardless + return vim.tbl_filter(function(t) + return t[key] == value + end, terminals.list)[1] +end + local create_term_window = function(type) local existing = #get_type(type, get_still_open()) > 0 util.execute_type_cmd(type, terminals, existing) @@ -79,6 +86,16 @@ nvterm.show_term = function(term) vim.cmd("startinsert") end +nvterm.get_and_show = function(key, value) + term = get_term(key, value) + nvterm.show_term(term) +end + +nvterm.get_and_hide = function(key, value) + term = get_term(key, value) + nvterm.hide_term(term) +end + nvterm.hide = function(type) local term = type and get_type_last(type) or get_last() nvterm.hide_term(term) |