-# If a command returns an error, halt the script.
+#!/usr/bin/env pwsh
+
+# this allows us to call ps1 files, which allows us to have spaces in filenames
+# ('powershell "$Env:USERPROFILE\test.ps1" foo' will fail if it has a space in
+# the path but '& "$Env:USERPROFILE\test.ps1" foo' will work even with a space)
+Set-ExecutionPolicy -Scope Process Bypass
+
+# If a command returns an error, halt the script.
$ErrorActionPreference = 'Stop'
# Ignore progress events from cmdlets so Invoke-WebRequest is not painfully slow
# Switch to userprofile
pushd $Env:USERPROFILE
-# Make paths if needed
-if (!(Test-Path -Path Downloads))
-{
- New-Item -Path Downloads -ItemType Directory
-}
-if (!(Test-Path -Path .local\bin))
-{
- New-Item -Path .local\bin -ItemType Directory
-}
-if (!(Test-Path -Path .local\opt))
-{
- New-Item -Path .local\opt -ItemType Directory
-}
+# Make paths
+New-Item -Path Downloads -ItemType Directory -Force | out-null
+New-Item -Path .local\bin -ItemType Directory -Force | out-null
+New-Item -Path .local\opt -ItemType Directory -Force | out-null
# {{ baseurl }}
# {{ version }}
+function webi_add_path
+{
+ Write-Host ''
+ Write-Host '*****************************' -ForegroundColor red -BackgroundColor white
+ Write-Host '* IMPORTANT - READ ME *' -ForegroundColor red -BackgroundColor white
+ Write-Host '*****************************' -ForegroundColor red -BackgroundColor white
+ Write-Host ''
+ & "$Env:USERPROFILE\.local\bin\pathman.exe" add "$args[0]"
+ # Note: not all of these work as expected, so we use the unix-style, which is most consistent
+ #& "$Env:USERPROFILE\.local\bin\pathman.exe" add ~/.local/bin
+ #& "$Env:USERPROFILE\.local\bin\pathman.exe" add "$Env:USERPROFILE\.local\bin"
+ #& "$Env:USERPROFILE\.local\bin\pathman.exe" add %USERPROFILE%\.local\bin
+}
+
+# Run pathman to set up the folder
+& "$Env:USERPROFILE\.local\bin\pathman.exe" add ~/.local/bin
+
{{ installer }}
# Done