diff options
Diffstat (limited to 'www/git.causal.agency/source-filter.sh')
-rw-r--r-- | www/git.causal.agency/source-filter.sh | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/www/git.causal.agency/source-filter.sh b/www/git.causal.agency/source-filter.sh new file mode 100644 index 00000000..514272db --- /dev/null +++ b/www/git.causal.agency/source-filter.sh @@ -0,0 +1,25 @@ +#!/bin/sh +set -eu + +ctags=/usr/bin/ctags +mtags=/usr/local/libexec/mtags +hilex=/usr/local/libexec/hilex +htagml=/usr/local/libexec/htagml + +case "$1" in + (*.[chlmy]|Makefile|*.mk|*.[1-9]|.profile|.shrc|*.sh) + tmp=$(mktemp -d -t source-filter) + trap 'rm -fr "${tmp}"' EXIT + cd "${tmp}" + cat >"$1" + touch tags + case "$1" in + (*.[chlmy]) $ctags -w "$1";; + (*) $mtags "$1";; + esac + $hilex -f html "$1" | $htagml -i "$1" + ;; + (*) + exec $hilex -t -n "$1" -f html + ;; +esac |