Check that git can really be used as well as posh-git

Explicitly call `import posh-git` because it doesn't have a module
manifest thus powershell can't autoload it when using a cmdlet.

At present the cmder repo doesn't try to download posh-git so it might be
missing from the users session.
This commit is contained in:
Jack Bennett 2015-03-25 12:22:07 +00:00
parent 2292348f95
commit 18fc5e37c7

13
vendor/profile.ps1 vendored
View File

@ -5,13 +5,22 @@ if( -not $env:PSModulePath.Contains($CmderModulePath) ){
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
}
try {
Get-command -Name "git" -ErrorAction Stop >$null
Import-Module -Name "posh-git" -ErrorAction Stop >$null
$gitStatus = $true
} catch {
Write-Warning "Missing git support"
$gitStatus = $false
}
# Set up a Cmder prompt, adding the git prompt parts inside git repos
function global:prompt {
$realLASTEXITCODE = $LASTEXITCODE
$Host.UI.RawUI.ForegroundColor = "White"
Write-Host $pwd.ProviderPath -NoNewLine -ForegroundColor Green
if (Get-Module posh-git) {
Write-VcsStatus
if($gitStatus){
}
$global:LASTEXITCODE = $realLASTEXITCODE
Write-Host "`nλ" -NoNewLine -ForegroundColor "DarkGray"
@ -19,7 +28,7 @@ function global:prompt {
}
# Load special features come from posh-git
if (Get-Module posh-git) {
if ($gitStatus) {
Enable-GitColors
Start-SshAgent -Quiet
}