PowerShell_Scripts/base/profile.d/Style.ps1

28 lines
1.3 KiB
PowerShell

$global:IsOutputANSICompatible = (
$PSVersionTable.Platform -eq "Unix"
) -or (
([int]((Get-CimInstance -ClassName Win32_OperatingSystem).Version -split '\.')[0]) -ge 10
) -or (
($env:ConEmuANSI -eq 'ON') -and ($Host.Name -eq 'ConsoleHost' )
)
Get-Command -ListImported Set-PSReadLineKeyHandler -ErrorAction SilentlyContinue |
ForEach-Object { Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete }
if( (Get-Command -ListImported Set-PowerLinePrompt -ErrorAction Ignore) ) {
$global:PSOSName = [SystemName]::_GetValidValues("",$true,$true) | Select-Object -First 1
if( Test-Path variable:global:GitPromptSettings ) {
$global:GitPromptSettings.TruncatedBranchSuffix = [char]0x2026
}
Set-PowerLinePrompt
} elseif( (Get-Command -ListImported Set-PoshPrompt -ErrorAction Ignore) -and $IsOutputANSICompatible ) {
$local:poshPrompt = Join-Path $HOME ".oh-my-posh.omp.json"
if( -not (Test-Path $poshPrompt) ) { $poshPrompt = "slim" }
Set-PoshPrompt -Theme $poshPrompt
} elseif( Get-Command -ListImported Set-Theme -ErrorAction SilentlyContinue ) {
Set-Theme Paradox
} elseif( Get-Module -ListAvailable posh-git -ErrorAction SilentlyContinue ) {
Import-Module posh-git
$GitPromptSettings.AnsiConsole = $IsOutputANSICompatible
}