summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2018-10-15 08:10:24 -0400
committerLuke Smith <luke@lukesmith.xyz>2018-10-15 08:10:24 -0400
commit830a38f84db507949de0e16cf748eadf11253675 (patch)
tree658a7aba8a17ee21bbea182560e9d75bd822fbe3
parent536af07f6ba55888408e15d70a5a8a38260a2588 (diff)
parent3d3a35cd9af09c00576a99cf525afb6f3f23fc09 (diff)
downloadeibhear-830a38f84db507949de0e16cf748eadf11253675.tar.gz
eibhear-830a38f84db507949de0e16cf748eadf11253675.tar.zst
eibhear-830a38f84db507949de0e16cf748eadf11253675.zip
Merge branch 'master' of github.com:LukeSmithxyz/voidrice
-rwxr-xr-x.scripts/compiler33
1 files changed, 28 insertions, 5 deletions
diff --git a/.scripts/compiler b/.scripts/compiler
index cb47638..7338d30 100755
--- a/.scripts/compiler
+++ b/.scripts/compiler
@@ -1,20 +1,27 @@
#!/bin/sh
# This script will compile or run another finishing operation on a document. I
-# have this script run via vim.
+# have this script run via vim/emacs.
#
# tex files: Compiles to pdf, including bibliography if necessary
# md files: Compiles to pdf via pandoc
# rmd files: Compiles via R Markdown
+# c files: Compiles via whatever compiler is set to cc. Usually gcc.
+# py files: runs via python command
+# go files: compiles and runs with "go run"
# config.h files: (For suckless utils) recompiles and installs program.
# all others: run `sent` to show a presentation
+
oridir=$(pwd)
file=$(readlink -f "$1")
dir=$(dirname "$file")
base="${file%.*}"
-cd "$dir" || exit
+shebang=$(sed -n 1p $file)
+
+cd $dir
+
textype() { \
command="pdflatex"
@@ -26,11 +33,27 @@ textype() { \
$command --output-directory="$dir" "$base"
}
+shebangtest() {
+ case "$shebang" in
+ \#\!*) "$file" ;;
+ *) sent "$file" 2>/dev/null & ;;
+ esac
+}
+
+
case "$file" in
- *\.rmd) echo "require(rmarkdown); render('$file')" | R --vanilla ;;
+ *\.rmd) echo "require(rmarkdown); render('$file')" | R --vanilla && mv "$base".pdf "$dir"/pdfs;;
*\.tex) textype "$file" ;;
*\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;;
*config.h) make && sudo make install ;;
- *) sent "$file" 2>/dev/null & ;;
+ *\.c) cc "$file" -o "$base" && "$base" ;;
+ *\.py) python "$file" ;;
+ *\.go) go run "$file" ;;
+
+
+
+ *) shebangtest ;;
+
esac
-cd "$oridir" || exit
+cd $oridir
+