Как установить темы для Oh My Posh в Powershell 5.1?

Я ежедневно использую Powershell 5.1 в Windows Terminal. Однако через несколько дней моя тема Oh My Posh перестала работать и распечатала ошибку, в которой говорилось, что она не может найти нужную мне тему (iterm2), и вернулась к теме по умолчанию.

Я удалил ( Remove-Module -Name oh-my-posh -Force) и переустановил ( Install-Module -Name oh-my-posh -Scope CurrentUser) Oh My Posh, но это не устранило проблему. Как решить ?

Спасибо

2 ответа

Это случилось и со мной. Я исправил это, вручную загрузив темы в нужное место.

Если вы хотите упростить задачу, я создал однострочник powershell, который это исправляет:

      New-Item -Path "$home\Documents\WindowsPowerShell\Modules\oh-my-posh" -Name "themes" -ItemType Directory; Set-Location -Path "$home\Documents\WindowsPowerShell\Modules\oh-my-posh\themes"; Invoke-WebRequest -UseBasicParsing -Uri https://api.github.com/repos/JanDeDobbeleer/oh-my-posh/contents/themes | Select-Object -ExpandProperty Content | ConvertFrom-Json | ForEach-Object {$_ | Select-Object -ExpandProperty name | Select-String -Pattern ".*.omp.json"} | ForEach-Object {$_.toString().Replace(".omp.json", "")} | ForEach-Object {Invoke-WebRequest -Uri "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/$_.omp.json" -UseBasicParsing -OutFile "$_.omp.json"}

Он использует API GH для получения списка доступных тем, а затем загружает их в нужное место с помощью небольшой магии PowerShell.

После загрузки тем вручную вы также можете проверить переменную env "POSH_THEMES_PATH"

это должно быть "$home\Documents\WindowsPowerShell\Modules\oh-my-posh\themes"

Вы можете проверить это:

      echo $env:POSH_THEMES_PATH

Вы можете изменить его:

      $env:POSH_THEMES_PATH = "path"
Другие вопросы по тегам