summaryrefslogtreecommitdiffstats
path: root/.local/bin/compiler
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/compiler')
-rwxr-xr-x.local/bin/compiler29
1 files changed, 15 insertions, 14 deletions
diff --git a/.local/bin/compiler b/.local/bin/compiler
index f28ffe1..4f1ad50 100755
--- a/.local/bin/compiler
+++ b/.local/bin/compiler
@@ -12,6 +12,7 @@
file=$(readlink -f "$1")
dir=${file%/*}
base="${file%.*}"
+ext="${file##*.}"
cd "$dir" || exit
@@ -25,25 +26,25 @@ textype() { \
$command --output-directory="$dir" "$base"
}
-case "$file" in
- *\.ms) preconv "$file" | refer -PS -e | groff -me -ms -kept -T pdf > "$base".pdf ;;
- *\.mom) preconv "$file" | refer -PS -e | groff -mom -kept -T pdf > "$base".pdf ;;
- *\.[0-9]) preconv "$file" | refer -PS -e | groff -mandoc -T pdf > "$base".pdf ;;
- *\.[rR]md) Rscript -e "rmarkdown::render('$file', quiet=TRUE)" ;;
- *\.tex) textype "$file" ;;
- *\.md) if command -v lowdown >/dev/null; then
+case "$ext" in
+ ms) preconv "$file" | refer -PS -e | groff -me -ms -kept -T pdf > "$base".pdf ;;
+ mom) preconv "$file" | refer -PS -e | groff -mom -kept -T pdf > "$base".pdf ;;
+ [0-9]) preconv "$file" | refer -PS -e | groff -mandoc -T pdf > "$base".pdf ;;
+ [rR]md) Rscript -e "rmarkdown::render('$file', quiet=TRUE)" ;;
+ tex) textype "$file" ;;
+ md) if command -v lowdown >/dev/null; then
lowdown -d nointem -e super "$file" -Tms | groff -mpdfmark -ms -kept > "$base".pdf
elif command -v groffdown >/dev/null; then
groffdown -i "$file" | groff > "$base.pdf"
else
pandoc "$file" --pdf-engine=xelatex -o "$base".pdf
fi ; ;;
- *config.h) sudo make install ;;
- *\.c) cc "$file" -o "$base" && "$base" ;;
- *\.py) python "$file" ;;
- *\.m) octave "$file" ;;
- *\.scad) openscad -o "$base".stl "$file" ;;
- *\.go) go run "$file" ;;
- *\.sent) setsid -f sent "$file" 2>/dev/null ;;
+ h) sudo make install ;;
+ c) cc "$file" -o "$base" && "$base" ;;
+ py) python "$file" ;;
+ m) octave "$file" ;;
+ scad) openscad -o "$base".stl "$file" ;;
+ go) go run "$file" ;;
+ sent) setsid -f sent "$file" 2>/dev/null ;;
*) sed 1q "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;;
esac