summaryrefslogtreecommitdiff
path: root/mut/bin/vremote
diff options
context:
space:
mode:
Diffstat (limited to 'mut/bin/vremote')
-rwxr-xr-xmut/bin/vremote14
1 files changed, 14 insertions, 0 deletions
diff --git a/mut/bin/vremote b/mut/bin/vremote
new file mode 100755
index 0000000..6db06eb
--- /dev/null
+++ b/mut/bin/vremote
@@ -0,0 +1,14 @@
+#!/bin/bash
+server_pipe="$XDG_CACHE_HOME/nvim/server.pipe"
+if ! [ -e "$server_pipe" ]; then
+ nohup nvim --listen "$server_pipe" --headless >/dev/null 2>&1 &
+fi
+
+if nvim --headless --server ~/.cache/nvim/server.pipe --remote-expr 'luaeval("vim.json.encode(vim.iter(vim.api.nvim_list_uis()):map(function(v) return v.chan end):totable())")' | jq -r '.[]' | while read -r chan; do
+ echo "already existing ui($chan)..."
+ exit 1
+done
+then
+ nvim --server "$server_pipe" --remote "${@}"
+ exec nvim --server "$server_pipe" --remote-ui
+fi