diff options
Diffstat (limited to '')
| -rw-r--r-- | .vim/lua/split_term/init.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/.vim/lua/split_term/init.lua b/.vim/lua/split_term/init.lua new file mode 100644 index 0000000..7dcb044 --- /dev/null +++ b/.vim/lua/split_term/init.lua @@ -0,0 +1,46 @@ +local spt = {} + +function spt:create() + self = { + height = 80, + buf_nr = nil, + win_id = nil, + visible = false, + } +end + +function spt:show() + vim.eval('botright new') + if self.buf_nr then + vim.eval('buffer ' .. self.buf_nr) + else + vim.termopen(self.exec, { detach=0 }) + self.buf_nr = vim.bufnr('%') + end +end + +function spt:open() +end + +function spt:hide() +end + +function spt:close() + local force = true + vim.api.nvim_win_close(self.win_id, force) + self.buf_nr = nil + self.win_id = nil +end + +function spt_toggle() + if spt.win_id then + if spt.visible then + spt:hide() + else + spt:show() + end + else + spt:create() + spt:show() + end +end |