$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 }