From 18fc5e37c7ef82cd596bdfac50f762e64f8cab89 Mon Sep 17 00:00:00 2001 From: Jack Bennett Date: Wed, 25 Mar 2015 12:22:07 +0000 Subject: [PATCH] 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. --- vendor/profile.ps1 | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/vendor/profile.ps1 b/vendor/profile.ps1 index 4d3152c..5415783 100644 --- a/vendor/profile.ps1 +++ b/vendor/profile.ps1 @@ -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 }