export zig_version := "master"

hello-world:
  echo "Hello World"

# Full zig install
setup-zig: setup-zig-lib setup-zig-path setup-zls

# Install zig into ~/.local/zig
setup-zig-lib:
  #!/usr/bin/env bash
  mkdir -p ~/.local/zig
  set -euxo pipefail
  zig_download="$(mktemp --suffix=zig_download)"
  zig_download_url="$(curl -s https://ziglang.org/download/index.json |
    jq -r ".${zig_version}.[\"x86_64-linux\"].tarball")"
  zig_download_file="${zig_download_url##*/}"
  curl -s -o "${zig_download}" "${zig_download_url}"
  tar xvf "${zig_download}" -C ~/.local/zig >/dev/null
  rm -f ~/.local/zig/zig-bin
  ln -s ~/.local/zig/${zig_download_file%%.tar.xz} ~/.local/zig/zig-bin
  rm -f "${zig_download}"

setup-zls:
  #!/usr/bin/env bash
  which -a zig || source ~/.bashrc
  ./setup-vim.sh zls-install

setup-zig-path:
  #!/usr/bin/env bash
  mkdir -p ~/.bashrc.d
  cat <<'EOF'>~/.bashrc.d/zig
  # Custom zig path
  if [[ -d "$HOME/.local/zig/zig-bin" ]]; then
    PATH="$HOME/.local/zig/zig-bin:$PATH"
  fi
  export PATH
  EOF
