Improved git prompt styling

This commit is contained in:
lksz 2021-10-11 22:29:08 -04:00
parent 532f82775b
commit 3d52285361
2 changed files with 33 additions and 10 deletions

View File

@ -18,15 +18,15 @@ $local:MyPowerLineSetup = [ordered]@{
Prompt = @(
{ "`n" } # A spaced line
{ New-PromptText -EBg VioletRed4 $MyInvocation.HistoryId }
{ Get-Elapsed -Trim }
{ Get-SegmentedPath -LengthLimit 30 }
{ Write-VcsStatus }
# Right-align block
{ "`t" }
{ "$env:USERNAME @ $env:COMPUTERNAME" }
{ "$($PromptCache.Username)@$($PromptCache.Hostname)" }
{ Get-Elapsed -Trim }
{ Get-Date -Format 'HH:mm:ss' }
{ Get-Date -Format 'MM/dd ddd' }
{ Get-Date -Format 'ddd(dd)' }
{ "$PSOSName " }
{ "`n" }

View File

@ -7,15 +7,38 @@ $global:IsOutputANSICompatible = (
)
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( Get-Command -ListImported Get-GitDirectory -ErrorAction Ignore ) { $null = Get-GitDirectory }
if( Test-Path variable:global:GitPromptSettings ) {
$global:GitPromptSettings.TruncatedBranchSuffix = [char]0x2026
$global:GitPromptSettings.BeforeStatus.Text = [PoshCode.Pansies.Entities]::ExtendedCharacters.Branch
$global:GitPromptSettings.AfterStatus.Text = [string]::Empty
# Initialize posh-git
Get-Command -ListImported Get-GitDirectory -ErrorAction Ignore |
ForEach-Object {
$null = Get-GitDirectory
if( Test-Path variable:global:GitPromptSettings ) {
$local:g = $global:GitPromptSettings
$g.WorkingColor.ForegroundColor = [System.ConsoleColor]::DarkYellow
$g.TruncatedBranchSuffix = [char]0x2026
$g.PathStatusSeparator = [PoshCode.Pansies.Entities]::ExtendedCharacters.Branch
$g.BeforeStatus.Text = [string]::Empty
$g.AfterStatus.Text = [string]::Empty
$g.BranchGoneStatusSymbol.Text = [char]0x2262
$g.LocalWorkingStatusSymbol.Text = [char]0xF044
$g.LocalStagedStatusSymbol.Text = [char]0xF046
$g.BeforeStash.Text = " $([char]0xF692)"
$g.AfterStash.Text = [string]::Empty
$g.EnableStashStatus = $true
$global:GitPromptSettings = $g
Remove-Variable g
}
}
if( (Get-Command -ListImported Set-PowerLinePrompt -ErrorAction Ignore) ) {
$global:PromptCache = [ordered]@{
OSName = [SystemName]::_GetValidValues("",$true,$true) | Select-Object -First 1
Username = @($env:USER, $env:USERNAME -ne "")[0]
Hostname = $(hostname).Trim()
}
Set-PowerLinePrompt
} elseif( (Get-Command -ListImported Set-PoshPrompt -ErrorAction Ignore) -and $IsOutputANSICompatible ) {
$local:poshPrompt = Join-Path $HOME ".oh-my-posh.omp.json"