aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzbirenbaum <zacharyobirenbaum@gmail.com>2022-04-29 18:55:00 -0400
committerzbirenbaum <zacharyobirenbaum@gmail.com>2022-04-29 18:55:00 -0400
commit4efafd5616c70d07f88130a380547f168083d64d (patch)
tree44d6272ab9d3ba2234348e6470c8eee61ee27f29
parentfix NvChad/Nvchad#978 (diff)
new api for getting terminals
-rw-r--r--lua/nvterm/terminal.lua17
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)