73 lines
2.6 KiB
PowerShell
73 lines
2.6 KiB
PowerShell
Set-PowerLinePrompt -PowerLineFont
|
|
|
|
$local:MyPowerLineSetup = [ordered]@{
|
|
Title = { "PSz" }
|
|
SetCurrentDirectory = $true
|
|
RestoreVirtualTerminal = $true
|
|
PowerLineCharacters = [ordered]@{
|
|
ColorSeparator = "$(
|
|
$PromptCache.ColorFiller
|
|
)$( $PromptCache.Separator.Trim()
|
|
)$( " "
|
|
)"
|
|
ReverseColorSeparator = "$(
|
|
" "
|
|
)$( $PromptCache.ReverseSeparator.Trim()
|
|
)$( $PromptCache.ColorFiller
|
|
)"
|
|
Separator = $(
|
|
[PoshCode.Pansies.Entities]::NerdFonts['nf-fa-angle_right']
|
|
)
|
|
ReverseSeparator = $(
|
|
[PoshCode.Pansies.Entities]::NerdFonts['nf-fa-angle_left']
|
|
)
|
|
}
|
|
Colors = [PoshCode.Pansies.RgbColor]::X11Palette |
|
|
Where-Object X11ColorName -match "^Gray\d" |
|
|
Sort-Object X11ColorName -Unique |
|
|
Where-Object {
|
|
0 -eq $([int]($_.X11ColorName -replace 'Gray','') % 11)
|
|
}
|
|
#@( [rgbcolor]"Grey18", [rgbcolor]"Grey65" )
|
|
#([rgbcolor]::ConsolePalette | Where ConsoleColor -eq ((get-host).ui.rawui.BackgroundColor)),
|
|
#@( [rgbcolor]"Grey18", [rgbcolor]"Grey65" ) #, [rgbcolor]"white", [rgbcolor]"red", [rgbcolor]"blue" )
|
|
Prompt = @(
|
|
{ Write-Host "" } # A spaced line without a ColorSeparator
|
|
{ New-PromptText -EBg VioletRed4 $MyInvocation.HistoryId }
|
|
{
|
|
if( Get-Command systemctl -ErrorAction Ignore ) {
|
|
$local:systemState = systemctl is-system-running
|
|
if( $systemState -ine 'RUNNING') {
|
|
New-PromptText -BackgroundColor VioletRed4 $systemState
|
|
}
|
|
}
|
|
}
|
|
{ Get-SegmentedPath -LengthLimit 37 }
|
|
{ Write-VcsStatus }
|
|
|
|
# Right-align block
|
|
{ "`t" }
|
|
{ "$($PromptCache.Username)@$($PromptCache.Hostname)" }
|
|
{
|
|
(Get-Elapsed -Format "{0:d\:h\:m\:s\.ffff}") `
|
|
-replace '\.(\d{1,3})\d*$','s $1ms' `
|
|
-replace '\:([^:]*)$','m $1' `
|
|
-replace ':([^:]*)','d $1' `
|
|
-replace '\b0+[dms]\b ','' `
|
|
-replace '( ?)\b0+(\d+ms)$','$1$2' `
|
|
-replace ' ?0ms','' `
|
|
-replace '^ *$','0'
|
|
}
|
|
{ Get-Date -Format 'HH:mm:ss' }
|
|
{ Get-Date -Format 'ddd(dd)' }
|
|
{ "$($PromptCache.OSName) " }
|
|
|
|
{ "`n" }
|
|
{ New-PromptText { "PS" } -Bg $Prompt.Colors[1] -Ebg Red; }
|
|
)
|
|
}
|
|
Set-PowerLinePrompt @MyPowerLineSetup
|
|
|
|
Write-Host -ForegroundColor Cyan "PowerLine Theme is ready, if you want to persist it, don't forget to run Export-PowerLinePrompt`n"
|
|
|