Files
vim-ale/pwsh/install.sh

56 lines
1.3 KiB
Bash

#!/bin/sh
set -e
set -u
__init_pwsh() {
pkg_cmd_name="pwsh"
# note: no ./bin prefix
pkg_src_cmd="$HOME/.local/opt/pwsh-v$WEBI_VERSION/pwsh"
pkg_src_dir="$HOME/.local/opt/pwsh-v$WEBI_VERSION/"
pkg_src="$HOME/.local/opt/pwsh-v$WEBI_VERSION/"
pkg_dst_cmd="$HOME/.local/opt/pwsh/pwsh"
pkg_dst_dir="$HOME/.local/opt/pwsh"
pkg_dst="$HOME/.local/opt/pwsh"
pkg_get_current_version() {
# 'pwsh --version' has output in this format:
# PowerShell 7.0.2
# This trims it down to just the version number:
# 7.0.2
pwsh --version 2> /dev/null | head -n 1 | cut -d' ' -f2
}
pkg_install() {
# mv ./* "$HOME/.local/opt/pwsh-v7.0.2"
mkdir -p "$pkg_src"
mv ./* "$pkg_src"
# symlink pwsh as powershell
(
cd "$pkg_src" > /dev/null
rm -rf powershell
ln -s pwsh powershell
)
}
pkg_link() {
# rm -f "$HOME/.local/opt/pwsh"
rm -rf "$pkg_dst"
# ln -s "$HOME/.local/opt/pwsh-v7.0.2" "$HOME/.local/opt/pwsh"
ln -s "$pkg_src" "$pkg_dst"
}
pkg_done_message() {
# We print the version here to ensure the install completed without
# errors - no missing libraries, not incompatible arch, etc
echo ""
"$pkg_dst_cmd" -V
}
}
__init_pwsh