From 4efafd5616c70d07f88130a380547f168083d64d Mon Sep 17 00:00:00 2001 From: zbirenbaum Date: Fri, 29 Apr 2022 18:55:00 -0400 Subject: new api for getting terminals --- lua/nvterm/terminal.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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) -- cgit v1.2.3-70-g09d2