diff options
| author | Luke Smith <luke@lukesmith.xyz> | 2018-10-15 08:10:19 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-15 08:10:19 -0400 |
| commit | 3d3a35cd9af09c00576a99cf525afb6f3f23fc09 (patch) | |
| tree | 5d0c9c4d086d268c7f54c05e91d497999835b88a /.scripts/compiler | |
| parent | 2c44ee2b73bfd517fde7dbfe998f1414c712aa39 (diff) | |
| parent | 870af2c793c9f38551fb61462897600baa81c109 (diff) | |
| download | eibhear-3d3a35cd9af09c00576a99cf525afb6f3f23fc09.tar.gz eibhear-3d3a35cd9af09c00576a99cf525afb6f3f23fc09.tar.zst eibhear-3d3a35cd9af09c00576a99cf525afb6f3f23fc09.zip | |
Merge pull request #129 from bigboymate/patch-1
Run programs without extensions
Diffstat (limited to '.scripts/compiler')
| -rwxr-xr-x | .scripts/compiler | 33 |
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 + |
