From 23dba99eda58ddae147a2e907513fd0471c2014d Mon Sep 17 00:00:00 2001
From: Junegunn Choi <junegunn.c@gmail.com>
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
-- 
GitLab