From 23dba99eda58ddae147a2e907513fd0471c2014d Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 8 Mar 2015 15:08:27 +0900 Subject: [PATCH] [fzf-tmux] Allow -w / -h without size argument --- README.md | 2 +- bin/fzf-tmux | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 230804ff..2ef3b9e6 100644 --- a/README.md +++ b/README.md @@ -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