Forge
powershelldeeb25a2
1# One-off: OmniSharp folder + Marksman on User PATH (run: powershell -File ...)
2$ErrorActionPreference = "Stop"
3$omni = "C:\Users\dkara\Tools\omnisharp-win-x64-net6.0"
4$marksDir = "C:\Users\dkara\Tools\marksman"
5New-Item -ItemType Directory -Force -Path $marksDir | Out-Null
6
7$marksExe = Join-Path $marksDir "marksman.exe"
8if (-not (Test-Path $marksExe)) {
9 Write-Host "Downloading Marksman 2026-02-08..."
10 Invoke-WebRequest -Uri "https://github.com/artempyanykh/marksman/releases/download/2026-02-08/marksman.exe" -OutFile $marksExe -UseBasicParsing
11}
12
13function Add-UserPath {
14 param([string]$dir)
15 $userPath = [Environment]::GetEnvironmentVariable("Path", "User")
16 if ([string]::IsNullOrEmpty($userPath)) { $userPath = "" }
17 $parts = $userPath -split ";" | ForEach-Object { $_.Trim() } | Where-Object { $_ }
18 foreach ($p in $parts) {
19 if ($p -ieq $dir) {
20 Write-Host "PATH already contains: $dir"
21 return
22 }
23 }
24 $newPath = if ([string]::IsNullOrWhiteSpace($userPath)) { $dir } else { $userPath.TrimEnd(";") + ";" + $dir }
25 [Environment]::SetEnvironmentVariable("Path", $newPath, "User")
26 Write-Host "Added to User PATH: $dir"
27}
28
29$omniExe = Join-Path $omni "OmniSharp.exe"
30if (-not (Test-Path $omniExe)) {
31 Write-Error "OmniSharp.exe not found under $omni - unpack omnisharp-win-x64-net6.0.zip there first."
32}
33Add-UserPath $omni
34Add-UserPath $marksDir
35
36$machinePath = [Environment]::GetEnvironmentVariable("Path", "Machine")
37$userPathOnly = [Environment]::GetEnvironmentVariable("Path", "User")
38$env:Path = $machinePath + ";" + $userPathOnly
39
40Write-Host ""
41Write-Host "Smoke:"
42& $omniExe -v 2>&1 | Select-Object -First 3
43& $marksExe --version 2>&1
44
View only · write via MCP/CIDE