From c909df34fcdd65262541d97957af8a364ee000f2 Mon Sep 17 00:00:00 2001 From: Jonhnny Weslley Date: Wed, 10 Nov 2010 15:03:19 -0300 Subject: [PATCH] git-ignore: show all availables templates if no patterns are found. --- bin/git-ignore | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bin/git-ignore b/bin/git-ignore index 4c23546..a117fd6 100755 --- a/bin/git-ignore +++ b/bin/git-ignore @@ -9,12 +9,15 @@ done if [ ! -z "$template" ]; then gitignoredir="`dirname $0`/../etc/gitignore" + available_templates() { + find $gitignoredir -type f -name *.gitignore | xargs -i basename {} .gitignore | sort + } selected_template() { - find $gitignoredir -type f -name *.gitignore | xargs -i basename {} .gitignore | sort | grep $template + available_templates | grep $template } count=$(selected_template | wc -w) case "$count" in - 0) echo "The pattern '$template' does not match any available templates." && exit 1;; + 0) echo "The pattern '$template' does not match any available templates." && available_templates | less && exit 1;; 1) find $gitignoredir -name $(selected_template).gitignore -exec cat {} \; >> .gitignore && echo "... added patterns from template '$(selected_template)'";; *) echo "Be more specific. $count macthes found:" && selected_template | grep --color $template && exit 2;; esac