Dynamically calculate maximal column width used in verbose feature list output.
diff --git a/git-flow-feature b/git-flow-feature
index fc1ecc4..819906d 100644
--- a/git-flow-feature
+++ b/git-flow-feature
@@ -40,6 +40,8 @@
 	cmd_list "$@"
 }
 
+max() { if [ "$1" -gt "$2" ]; then echo "$1"; else echo "$2"; fi; }
+
 cmd_list() {
 	DEFINE_boolean verbose 0 'verbose (more) output' v
 	parse_args "$@"
@@ -54,12 +56,20 @@
 	if [ $FLAGS_verbose -eq 0 ]; then
 		echo "$SHORT_NAMES"
 	else
+		# determine column width first
+		width=0
+		for branch in $SHORT_NAMES; do
+			len=$(($(echo "$branch" | wc -c) - 1))
+			width=$(max $width $len)
+		done
+		width=$(($width + 3))
+
 		for branch in $SHORT_NAMES; do
 			fullname="$PREFIX$branch"
 			base=$(git merge-base "$fullname" "$DEVELOP_BRANCH")
 			develop_sha=$(git rev-parse "$DEVELOP_BRANCH")
 			branch_sha=$(git rev-parse "$fullname")
-			printf "%-40s" "$branch"
+			printf "%-${width}s" "$branch"
 			if [ "$branch_sha" = "$develop_sha" ]; then
 				printf "(no commits yet)"
 			elif [ "$base" = "$branch_sha" ]; then