using namespace System.Management.Automation Import-Module PSReadLine $versionMinimum = [Version]'7.1.999' if (($Host.Name -eq 'ConsoleHost') -and ($PSVersionTable.PSVersion -ge $versionMinimum)) { Set-PSReadLineOption -PredictionSource HistoryAndPlugin } else { Set-PSReadLineOption -PredictionSource History } Set-PSReadLineOption -HistorySearchCursorMovesToEnd Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward Set-PSReadLineOption -PredictionViewStyle ListView Set-PSReadlineOption -Color @{ "Command" = [ConsoleColor]::Green "Parameter" = [ConsoleColor]::Gray "Operator" = [ConsoleColor]::Magenta "Variable" = [ConsoleColor]::White "String" = [ConsoleColor]::Yellow "Number" = [ConsoleColor]::Blue "Type" = [ConsoleColor]::Cyan "Comment" = [ConsoleColor]::DarkCyan } Import-Module posh-git $GitPromptSettings.DefaultPromptPrefix.Text = "$([char]0x2192) " # arrow unicode symbol $GitPromptSettings.DefaultPromptPrefix.ForegroundColor = [ConsoleColor]::Green $GitPromptSettings.DefaultPromptPath.ForegroundColor =[ConsoleColor]::Cyan $GitPromptSettings.DefaultPromptSuffix.Text = "$([char]0x203A) " # chevron unicode symbol $GitPromptSettings.DefaultPromptSuffix.ForegroundColor = [ConsoleColor]::Magenta $GitPromptSettings.BeforeStatus.ForegroundColor = [ConsoleColor]::Blue $GitPromptSettings.BranchColor.ForegroundColor = [ConsoleColor]::Blue $GitPromptSettings.AfterStatus.ForegroundColor = [ConsoleColor]::Blue $GitPromptSettings.DefaultPromptAbbreviateHomeDirectory = $true $GitPromptSettings.DefaultPromptBeforeSuffix.Text = '`n' $GitPromptSettings.DefaultPromptWriteStatusFirst = $true $GitPromptSettings.BeforePath = '{' $GitPromptSettings.AfterPath = '}' $GitPromptSettings.BeforePath.ForegroundColor = 'Red' $GitPromptSettings.AfterPath.ForegroundColor = 'Red' function global:PromptWriteErrorInfo() { if ($global:GitPromptValues.DollarQuestion) { return } if ($global:GitPromptValues.LastExitCode) { "`e[31m(" + $global:GitPromptValues.LastExitCode + ") `e[0m" } else { "`e[31m! `e[0m" } } $global:GitPromptSettings.DefaultPromptBeforeSuffix.Text = '`n$(PromptWriteErrorInfo)' # Chocolatey profile $ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1" if (Test-Path($ChocolateyProfile)) { Import-Module "$ChocolateyProfile" } function lsPretty { lsd -A -L -l $args[0] } function mklink { [string] $original = $args[0] [string] $target = $args[1] sudo New-Item -ItemType SymbolicLink -Path "$target" -Target "$original" } function download { Set-Location ~\Downloads aria2c -j 16 -s 16 -x 16 -k 5M --file-allocation=none $args[0] } Set-Alias -Name ls -Value lsPretty Set-Alias -Name ln -Value mklink