#!/usr/bin/env ion

# set path to include sniff
let PATH=$HOME/.cargo/bin:$PATH
let CLICOLOR=0

# set to a suitable path
let path_arg = "false"
for x in @args
    if test $x = "--path"
        let path_arg = "true"
    end
end
if test $path_arg = "true"
    let path = @args[2]
else
    let path = /home/vanessa/programming/haskell/forks/cabal
end

#do the actual benchmarks

echo 'find artifacts greater than 1M'
bench "du -hac -t1M $path | rg '.*?\\.(a|o|ll|keter|bc|dyn_o|out|rlib|crate|min.js|hi|dyn_hi|toc|aux|fdb_latexmk|fls|egg-info|whl|js_a|js_hi|js_o)\$|total'"
bench "du -hac -t1M $path | grep -P \".*?\\.(a|o|ll|keter|bc|dyn_o|out|rlib|crate|min\.js|hi|dyn_hi|toc|aux|fdb_latexmk|fls|egg-info|whl|js_a|js_hi|js_o)\$"
bench "sniff artifacts -tM $path"

echo 'show all files over 1M'
bench "du -had2 -t1M $path"
bench "sniff fat $path"

echo 'show all files over 1M & exclude w/ simple regex'
bench "du -had2 -t1M $path --exclude target/debug"
bench "sniff fat $path --exclude target/debug"

echo 'show the 20 biggest files/directories'
bench "du --bytes -a -d2 $path | sort -nr | head -n20"
bench "sniff sort $path"

echo 'sort files & exclude w/ simple regex'
bench "du --bytes -a -d2 $path --exclude target/debug | sort -nr | head -n20"
bench "sniff sort $path --exclude target/debug"
