$PERL -npe 's/([^-])-([^-])/$1 $2/g ; s/-(-+)/$1/g'
}
-supercat() { cat ; }
-if [[ -z $NO_COLOR ]] && command -v spc > /dev/null 2> /dev/null ; then
- supercat() { spc $@ ; }
-fi
+# Usage: colourise ColourSpec:RegExp [ColourSpec:RegExp ...]
+# It is intended to be a drop-in replacement for supercat utility.
+# ColourSpec is comma delimited list of ANSI codes for colour setting.
+# Look for zsh'es Functions/Misc/colors documentation about possible
+# colour values. For example to set bold red on green background you use
+# "bold,fg-red,bg-green" as a ColourSpec.
+# RegExp is POSIX extended regular expression of the text you want to
+# colourise.
+colourise() {
+ if [[ -n $NO_COLOR ]] || [[ $# -eq 0 ]] ; then
+ cat
+ return
+ fi
+ (( ${+colour} )) || { autoload -Uz colors ; colors ; }
+ local lc=$'\e[' rc=m colr=""
+ local spec=(${(s/:/)1})
+ shift
+ for c (${(s/,/)${spec[1]}}) colr="${col}${lc}${colour[$c]}${rc}"
+ local re=${(j/:/)spec[2,-1]}
+ sed -E "s/${re}/${colr}&${reset_color}/g" | colourise $@
+}
delim() {
{
local i
for i ({1..40}) print -n -- -
print
- } | supercat -e mag,".*"
+ } | colourise magenta:".*"
}
print -n `cat issues/$issue/created`\\t$issue\\t
print $tagsTheir
} | sort -r |
-supercat -e grn,"^.{19}" -e cya," [^ ]*$" -e red," .*\/"
+colourise green:"^.{19}" cyan:" [^ ]*$" red:" .*\/"
. $root/lib.zsh.rc
issue=${1#issues/}
-print $issue:h | supercat -e red,".*" | read proj
+print $issue:h | colourise red:".*" | read proj
print `cat issues/$issue/created` \| $proj/`print $issue:t | dedash`
-$root/tag-list $issue | supercat -e cya,".*"
+$root/tag-list $issue | colourise cyan:".*"
deps=(issues/$issue/deps/*(N))
[[ ${#deps} -eq 0 ]] || {
delim