Skip to content

Instantly share code, notes, and snippets.

@nischalbasuti
Last active March 4, 2021 17:12
Show Gist options
  • Select an option

  • Save nischalbasuti/9bd4357d17d90015391da639b327c893 to your computer and use it in GitHub Desktop.

Select an option

Save nischalbasuti/9bd4357d17d90015391da639b327c893 to your computer and use it in GitHub Desktop.
Set-PSReadlineOption -EditMode vi
Set-Alias vi nvim
Set-Alias l ls
function e{exit}
function gd{git diff $args}
function gst{git status}
function glg{git log --stat}
# Display git branch name in the prompt.
# From https://stackoverflow.com/questions/1287718/how-can-i-display-my-current-git-branch-name-in-my-powershell-prompt
function Write-BranchName () {
try {
$branch = git rev-parse --abbrev-ref HEAD
if ($branch -eq "HEAD") {
# we're probably in detached HEAD state, so print the SHA
$branch = git rev-parse --short HEAD
Write-Host " ($branch)" -ForegroundColor "red"
}
else {
# we're on an actual branch, so print it
Write-Host " ($branch)" -ForegroundColor "blue"
}
} catch {
# we'll end up here if we're in a newly initiated git repo
Write-Host " (no branches yet)" -ForegroundColor "yellow"
}
}
function prompt {
$base = "PS "
$path = "$($executionContext.SessionState.Path.CurrentLocation)"
$userPrompt = "$('>' * ($nestedPromptLevel + 1)) "
Write-Host "`n$base" -NoNewline
if (Test-Path .git) {
Write-Host $path -NoNewline -ForegroundColor "green"
Write-BranchName
}
else {
# we're not in a repo so don't bother displaying branch name/sha
Write-Host $path -ForegroundColor "green"
}
return $userPrompt
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment