#!/bin/bash
# title: Pathman
# homepage: https://git.rootprojects.org/root/pathman
# tagline: cross-platform PATH management for bash, zsh, fish, cmd.exe, and PowerShell
# description: |
# Manages PATH on various OSes and shells
# - Mac, Windows, Linux
# - Bash, Zsh, Fish
# - Command, Powershell
# examples: |
# ```bash
# pathman add ~/.local/bin
# ```
#
#
# ```bash
# pathman remove ~/.local/bin
# ```
#
#
# ```bash
# pathman list
# ```
set -e
set -u
# Test if in PATH
set +e
my_pathman=$(command -v pathman)
set -e
if [ -n "$my_pathman" ]; then
# TODO test pathman version
# if [ "$WEBI_VERSION" == "$(pathman version | cut -d ' ' -f2)" ]; then
if [ "$my_pathman" != "$HOME/.local/bin/pathman" ]; then
echo "a pathman installation (which make take precedence) exists at:"
echo " $my_pathman"
echo ""
fi
echo "pathman already installed"
exit 0
fi
# TODO use webi_download via releases.js
webi_download "https://rootprojects.org/pathman/dist/$(uname -s)/$(uname -m)/pathman" "$HOME/.local/bin/pathman"
# TODO use webi_extract
chmod +x "$HOME/.local/bin/pathman"
# add to ~/.local/bin to PATH even if pathman is elsewhere
# TODO pathman needs silent option and debug output (quiet "already exists" output)
"$HOME/.local/bin/pathman" add ~/.local/bin # > /dev/null 2> /dev/null
# TODO inform user to add to path, apart from pathman?