default: run recentFile := `find src -type f -printf '%T@ %p\n' | sort -n | cut -d " " -f 2- | tail -1` recentFolder := `find src -type d -printf '%T@ %p\n' | sort -n | cut -d' ' -f 2- | sed 's/src\///' | tail -2 | grep -v "src"` echo: echo {{recentFile}} echo {{recentFolder}} run file=recentFile: if [ -f ./src/{{recentFolder}}/Main.java ]; then java --enable-preview -XX:+ShowCodeDetailsInExceptionMessages -cp ./out {{recentFolder}}.Main; else java {{file}}; fi all: for file in `find src -type f -printf '%T@ %p\n' | sort -n | cut -d " " -f 2-`; do just run $file; done zip folder=recentFolder: rm -rf ./zips/{{folder}}.zip zip -r ./zips/{{folder}}.zip ./src/{{folder}} alias r := run alias a := all alias z := zip