summary refs log tree commit diff
path: root/www/git.causal.agency/source-filter.sh
blob: 514272dbc9c746ffe5958f98829e838c4d592ae2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
pan title='2022-06-03 10:34:51 -0400'>2022-06-03Stop polling stdin after EOFJune McEnroe 2022-06-02Set TABSIZE=4June McEnroe Absolutely indiscriminately. 2022-06-02Do basic match highlightingJune McEnroe 2022-06-02Clean up parsing a littleJune McEnroe 2022-06-02Don't duplicate path stringJune McEnroe 2022-06-02Use stderr instead of /dev/tty, realloc buffer if lines too longJune McEnroe For some reason I haven't been able to figure out, trying to poll /dev/tty returns POLLNVAL (and this was using 100% CPU looping), but using stderr instead works fine. 2022-06-02Add initial working version of qfJune McEnroe 2022-05-29Set prompt for okshJune McEnroe