Run:
sbt stage
This gives you these executables:
CmdScanner/target/universal/stage/bin/cmdscanner
RefScanner/target/universal/stage/bin/refscanner
Which you can then call from the directory with your .tex
sources.
Both executables will look for .tex
files in subdirectories.
Find all todo
s:
cmdscanner todo
Find duplicate uses of \emph{}
:
cmdscanner emph | sort -f | uniq -di
Find all \label
s that you did not reference:
refscanner -c cref,Cref,ref,autoref -i commands.tex
This is \emph{very
great} indeed!
\emph{very
absolutely
awesome}.
produces:
$ cmdscanner emph
very great
very absolutely awesome
It’s scanning all your .tex files in parallel, taking full advantage of your CPU cores.
Which is completely irrelevant because 99% is JVM startup time.
This can be alleviated by compiling to a native jvm-free image with sbt graalvm-native-image:packageBin
.