From 48ddadd782e7e57a7587a92402beb3a956a2f16a Mon Sep 17 00:00:00 2001 From: Laggard Kernel Date: Thu, 17 Jan 2019 17:15:33 +0800 Subject: [PATCH] Fix: use case-insensitive find to get local templates forgit::ignore::get should work on case-sensitive filesystems now Former-commit-id: cf4c45547cc2f7ce4e3d431c4cd39d38a61cf07c --- forgit.plugin.sh | 12 +++++++++--- forgit.plugin.zsh | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/forgit.plugin.sh b/forgit.plugin.sh index cab940d..ee55c39 100755 --- a/forgit.plugin.sh +++ b/forgit.plugin.sh @@ -208,10 +208,16 @@ __forgit_ignore_update() { done) | sed 's/.gitignore$//' | sort -f -u >| "$FORGIT_GI_INDEX" } __forgit_ignore_get() { + local item filename header for item in "$@"; do - echo "### $item" - cat "$FORGIT_GI_CACHE/gitignore/templates/${item}.gitignore" - echo "" + filename=$(find "$FORGIT_GI_CACHE/gitignore/templates" -type f -iname "${item}.gitignore" -print -quit) + if [[ -n "$filename" ]]; then + header="${filename##*/}" && header="${header%.gitignore}" + echo "### $header" + cat "$filename" + echo "" + filename= + fi done } fi diff --git a/forgit.plugin.zsh b/forgit.plugin.zsh index bb15124..ff655be 100644 --- a/forgit.plugin.zsh +++ b/forgit.plugin.zsh @@ -202,10 +202,16 @@ forgit::ignore::update() { done) | sed 's/.gitignore$//' | sort -f -u >| "$FORGIT_GI_INDEX" } forgit::ignore::get() { + local item filename header for item in "$@"; do - echo "### $item" - cat "$FORGIT_GI_CACHE/gitignore/templates/${item}.gitignore" - echo "" + filename=$(find "$FORGIT_GI_CACHE/gitignore/templates" -type f -iname "${item}.gitignore" -print -quit) + if [[ -n "$filename" ]]; then + header="${filename##*/}" && header="${header%.gitignore}" + echo "### $header" + cat "$filename" + echo "" + filename= + fi done } fi