summaryrefslogtreecommitdiff
path: root/init
blob: cf1e3950f9c91eb84b12b4a56b724b387a922363 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env sh

usage="usage: init <year> <day> <language>"
year=${1?$usage}
day=${2?$usage}
lang=${3?$usage}

# get directory of this script
script=$(readlink -f $0)
script_path=$(dirname $script)

aoc_path=$script_path/$year/$day

mkdir --parents $aoc_path
touch $aoc_path/puzzle.txt

# data directory
if [ ! -d $aoc_path/data ]; then
    mkdir --parents $aoc_path/data
    for f in "test" "aoc"; do
        touch $aoc_path/data/$f.txt
        echo "silver: ???\ngold: ???" >$aoc_path/data/$f.ans
    done
fi

case $lang in
python)
    cp $script_path/template/python.py $aoc_path
    ;;
rust)
    cargo new  --vcs none --name aoc_$year-$day $aoc_path/rust
    cp $script_path/template/main.rs $aoc_path/rust/src/main.rs
    ;;
*)
    echo unknown lang: $lang
    exit 1
    ;;
esac