diff options
-rw-r--r-- | README.md | 2 | ||||
-rwxr-xr-x | bin/fzf-tmux | 15 |
2 files changed, 11 insertions, 6 deletions
@@ -152,7 +152,7 @@ installer-generated source code: `~/.fzf.bash`, `~/.fzf.zsh`, and [fzf-tmux](bin/fzf-tmux) is a bash script that opens fzf in a tmux pane. ```sh -# usage: fzf-tmux [-h HEIGHT[%]] [-w WIDTH[%]] [--] [FZF OPTIONS] +# usage: fzf-tmux [-h [HEIGHT[%]]] [-w [WIDTH[%]]] [--] [FZF OPTIONS] # select git branches in horizontal split (15 lines) git branch | fzf-tmux -h 15 diff --git a/bin/fzf-tmux b/bin/fzf-tmux index b4e041d9..166c8111 100755 --- a/bin/fzf-tmux +++ b/bin/fzf-tmux @@ -1,6 +1,6 @@ #!/usr/bin/env bash # fzf-tmux: starts fzf in a tmux pane -# usage: fzf-tmux [-h HEIGHT[%]] [-w WIDTH[%]] [--] [FZF OPTIONS] +# usage: fzf-tmux [-h [HEIGHT[%]]] [-w [WIDTH[%]]] [--] [FZF OPTIONS] args=() opt="" @@ -8,15 +8,20 @@ while [ $# -gt 0 ]; do arg="$1" case "$arg" in -w*|-h*) + [[ "$arg" =~ ^-w ]] && opt="-h" || opt="" if [ ${#arg} -gt 2 ]; then size="${arg:2}" else shift - size="$1" + if [[ "$1" =~ ^[0-9]+%?$ ]]; then + size="$1" + else + [ -n "$1" ] && args+=("$1") + continue + fi fi - [[ "$arg" =~ ^-w ]] && opt="-h" - [[ "$size" =~ %$ ]] && opt="$opt -p ${size:0:((${#size}-1))}" || - opt="$opt -l $size" + [[ "$size" =~ %$ ]] && opt="$opt -p ${size:0:((${#size}-1))}" || + opt="$opt -l $size" ;; --) # "--" can be used to separate fzf-tmux options from fzf options to |