From 5365eb11891bfeafe297759d8804b79341d7f445 Mon Sep 17 00:00:00 2001 From: Vincent Riquer Date: Thu, 16 May 2013 11:55:01 +0200 Subject: [PATCH] nicer output --- toys/createindex | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/toys/createindex b/toys/createindex index b2c15ac..1291dce 100755 --- a/toys/createindex +++ b/toys/createindex @@ -114,6 +114,18 @@ then exec > "$output" fi +printPath() { + for key in ${!pathparts[@]} + do + if [[ ${pathparts[key]} == ${oldpathparts[key]} ]] + then + echo -n " ${pathparts[key]//?/ }" + else + echo -n "${pathparts[key]}/" + fi + done +} + printline() { local print for index in ${!show[@]} @@ -129,11 +141,34 @@ printline() { 'oldtimestamp') info=$(printDate ${!info}) ;; + 'path') + while [[ $path =~ / ]] + do + pathparts+=("${path%%/*}") + path=${path#*/} + done + pathparts+=("$path") + info=$(printPath) + unset oldpathparts + for key in ${!pathparts[@]} + do + oldpathparts[key]=${pathparts[key]} + done + unset pathparts + ;; *) info="${!info}" ;; esac printtmp="${info:0:$locallength}" + if [ -z "$printtmp" ] + then + until (( ${#printtmp} == locallength/2)) + do + printtmp+=' ' + done + printtmp+='-' + fi until (( ${#printtmp} == locallength )) do printtmp+=' '