summary refs log tree commit diff
path: root/.vim/lua/split_term/init.lua
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-01-26 17:16:07 +0100
committerRobert Günzler <r@gnzler.io>2020-01-26 18:00:59 +0100
commitf5d56602df70950de6b7d40966b00c9939c81763 (patch)
treeb50ffeb5496fe3525cc1bab2629389ced95435b7 /.vim/lua/split_term/init.lua
Intial commit of v2
See https://drewdevault.com/2019/12/30/dotfiles.html
Diffstat (limited to '.vim/lua/split_term/init.lua')
-rw-r--r--.vim/lua/split_term/init.lua46
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