Files

28 lines
714 B
Bash
Executable File

#!/usr/bin/env bash
awk '
r==1 { r=0; if (/>=/){print ">>>="; next}
if (/>/) {print ">>>"; next}
print ">>" }
r==3 { if (/\./){ r=4; next } r=0; print "." }
r==4 { if (/\./){ r=0; print "..."; next} print ".\n."}
# digraphs
r==2 { r=0; if (/>/){print "]"; next}
if (/:/){print "::"; next}
print ":" }
r==5 { r=0; if (/:/){print "["; next}
if (/%/){print "{"; next}
print "<" }
r==6 { r=0; if (/>/){print "}"; next}
if (/:/){print "#"; next}
print "%" }
/^>>$/ {r=1;next} # java
/^:$/ {r=2;next} # c++, java classes, digraph
/^\.$/ {r=3;next} # mea culpa - ellipsis
/^<$/ {r=5;next} # digraph
/^%$/ {r=6;next} # digraph
{ print $0 }' "$@"