At work, I use [PowerShell] (http://en.wikipedia.org/wiki/Windows_PowerShell) a lot, mostly for Git commands. By default, the powershell prompt message shows you the full path of the current working directory. i.e. something like this;
PS C:\vraa\workspace
Which is fine, but I'd like this prompt to be short and informative. In short, I'd want the prompt to:
- Show only the folder name, instead of full path.
- Show the current branch name if inside a Git repo.
Powershell provides an option to customize its behavior. You can write your customization, in terms of functions, and keep them in your $PROFILE file. So, in order to achive my requirement, I used following function.
- In Powershell, type
notepad.exe $PROFILE
. - Add following function there.
function prompt{
$p = Split-Path (
Get-Location
) -Leaf
git branch | foreach{
if($_ -match "^\*(.*)"){
$p += " [" + $matches[1] + " ] "
}
}
$p = $p + ">"
Write-Host $p -NoNewline -ForegroundColor Green
return " "
}
Be sure to keep the function name as prompt
. Save and restart Powershell.
After the above customization, when you are in a normal folder, Powershell prompt will look like this:
foldername>
And, when inside a Git repo, the prompt message will look like:
gitrepo [ master ] >
Thanks to [this] (http://techblogging.wordpress.com/2008/10/12/displaying-git-branch-on-your-powershell-prompt/) for the script to detect current Git branch name.
So, what is your [Powershell customization] (https://veerasundar.com/blog/using-multiple-versions-of-jdk-and-eclipse-in-single-machine/)?