dotfiles

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 830a38f84db507949de0e16cf748eadf11253675
parent 536af07f6ba55888408e15d70a5a8a38260a2588
Author: Luke Smith <luke@lukesmith.xyz>
Date:   Mon, 15 Oct 2018 08:10:24 -0400

Merge branch 'master' of github.com:LukeSmithxyz/voidrice

Diffstat:
M.scripts/compiler | 33++++++++++++++++++++++++++++-----
1 file changed, 28 insertions(+), 5 deletions(-)

diff --git 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 +