Jacek Masiulaniec
2012-11-13 23:13:27 UTC
My latest addition to the acme column tag, alongside |a-, |a+, and |fmt.
#!/usr/bin/env rc
fn f {
n=$1
if(! cat $f | cut -c1-$n | 9 grep -v '^[ ]+$' >/dev/null){
x=`{f `{expr $n + 1}}
echo '.'$"x
}
}
f=/tmp/com.$pid
cat >$f
switch($%){
case *.go *.c
c='//'
case *
c='#'
}
# Remove comment?
if(cat $f | 9 grep '^[ ]*'$c' ' >/dev/null){
cat $f | 9 sed 's|'$c' ||'
rm $f
exit
}
# Add comment.
s=`{f 1}
if(~ $#s 0)
cat $f | 9 sed 's|^|'$c' |'
if not
cat $f | 9 sed 's|^('$"s')|\1'$c' |'
rm $f
I name this |com. The original motivation was to avoid manual keying in of
the comment characters, which I found myself doing quite frequently for
short line ranges.
It also works well with Go's "imported and not used" error. Once plumbed to
the offending import line, it only takes one click to temporarily disable
an import.
#!/usr/bin/env rc
fn f {
n=$1
if(! cat $f | cut -c1-$n | 9 grep -v '^[ ]+$' >/dev/null){
x=`{f `{expr $n + 1}}
echo '.'$"x
}
}
f=/tmp/com.$pid
cat >$f
switch($%){
case *.go *.c
c='//'
case *
c='#'
}
# Remove comment?
if(cat $f | 9 grep '^[ ]*'$c' ' >/dev/null){
cat $f | 9 sed 's|'$c' ||'
rm $f
exit
}
# Add comment.
s=`{f 1}
if(~ $#s 0)
cat $f | 9 sed 's|^|'$c' |'
if not
cat $f | 9 sed 's|^('$"s')|\1'$c' |'
rm $f
I name this |com. The original motivation was to avoid manual keying in of
the comment characters, which I found myself doing quite frequently for
short line ranges.
It also works well with Go's "imported and not used" error. Once plumbed to
the offending import line, it only takes one click to temporarily disable
an import.