]> Sergey Matveev's repositories - dotfiles.git/commitdiff
tmux instead of zsh widget
authorSergey Matveev <stargrave@stargrave.org>
Fri, 5 Feb 2021 12:32:14 +0000 (15:32 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 5 Feb 2021 12:32:14 +0000 (15:32 +0300)
bin/bin/tmux-git-extractor.sh [new file with mode: 0755]
tmux/.tmux.conf
zsh/.zshrc

diff --git a/bin/bin/tmux-git-extractor.sh b/bin/bin/tmux-git-extractor.sh
new file mode 100755 (executable)
index 0000000..8cf1488
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+tmux has-session -t git-extractor && tmux kill-session -t git-extractor || :
+tmux new-session -d -s git-extractor -c "$1" '
+    git status --short | fzf -m --preview="" | while read item ; do
+        item=`echo $item | cut -w -f2-`
+        echo -n "$item "
+    done | read data
+    tmux set-buffer "$data"
+    tmux detach
+'
+tmux set-option -t git-extractor status off
+exec tmux attach-session -t git-extractor
index 1d414d311af0564ff6d18b5d17ba8b8a7d961101..a107fe21e619e0975baedb5bcd12a00fa32fd976 100644 (file)
@@ -65,6 +65,12 @@ bind-key o {
     delete-buffer
 }
 
+bind-key O {
+    display-popup -KE -w 100% -R "~/bin/tmux-git-extractor.sh '#{pane_current_path}'"
+    paste-buffer
+    delete-buffer
+}
+
 bind-key Y {
     capture-pane -J -S - -E -
     save-buffer /tmp/tmux-buffer
index 9f6f8349156e3de96b7539f9ee5688c4422e3674..27a1bde2de5d70f12f08f26cb86c562eee96def7 100644 (file)
@@ -223,24 +223,5 @@ _fzf_find() {
 export FZF_CTRL_T_COMMAND="_fzf_find -o -type f -print -o -type l -print"
 export FZF_ALT_C_COMMAND=_fzf_find
 
-_fzf_git_status() {
-    local item
-    git status --short | fzf -m --preview="" | while read item ; do
-        item=`echo $item | cut -w -f2-`
-        echo -n "$item "
-    done
-    local ret=$?
-    print
-    return $ret
-}
-fzf-git-status-widget() {
-  LBUFFER="${LBUFFER}$(_fzf_git_status)"
-  local ret=$?
-  zle reset-prompt
-  return $ret
-}
-zle -N fzf-git-status-widget
-bindkey "^Y" fzf-git-status-widget
-
 . ~/work/fzf/shell/key-bindings.zsh
 # }}}