diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..b18b4fb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*.zig] +indent_style = space diff --git a/Day01/Part1.zig b/Day01/Part1.zig new file mode 100644 index 0000000..259e332 --- /dev/null +++ b/Day01/Part1.zig @@ -0,0 +1,6 @@ +const std = @import("std"); + +pub fn main() !void { + const stdout = std.io.getStdOut().writer(); + try stdout.print("Hello, {s}!\n", .{"world"}); +} diff --git a/clean b/clean index 225afb3..7f20d2d 100755 --- a/clean +++ b/clean @@ -4,5 +4,4 @@ part="$2" day="$(printf '%02d' "$day")" -rm -f ./run ./luac.out -rm -f "Day${1}/Part${2}.hi" "Day${1}/Part${2}.o" +rm -r -f run "Day${day}/Part${part}.hi" "Day${1}/Part${part}.o" "Day${day}/zig-cache" diff --git a/prepare b/prepare index 5ae7ae1..1a570eb 100755 --- a/prepare +++ b/prepare @@ -4,11 +4,15 @@ part="$2" day="$(printf '%02d' "$day")" -if test -f "Day${day}/Part${part}.lua"; then - luac -o luac.out "Day${day}/Part${part}.lua" +name="Day${day}/Part${part}" + +if zig -h > /dev/null && test -f "${name}.zig"; then + zig build-exe --name run "${name}.zig" +elif luac -v > /dev/null && test -f "${name}.lua"; then + luac -o luac.out "${name}.lua" printf '#!/bin/sh\nlua luac.out "$@"\n' > run chmod u+x run -elif test -f "Day${day}/Part${part}.hs"; then +elif stack > /dev/null && test -f "${name}.hs"; then #stack build - stack ghc -- -O3 "Day${day}/Part${part}.hs" -o run + stack ghc -- -O3 "${name}.hs" -o run fi