cmder/vendor/profile.ps1
Léo Colombaro 98350e14e8 Add custom loader for Powershell, improve its implementation in Cmder
Fixes #104, fixes #53, fixes #65 (my bad), related to #136, and should
fix #139
2014-09-17 09:55:15 +02:00

40 lines
1.0 KiB
PowerShell

# Global modules directory
$global:PsGetDestinationModulePath = $PSScriptRoot + "\..\vendor\psmodules"
# Push to modules location
Push-Location -Path ($PsGetDestinationModulePath)
# Load modules from current directory
Get-ChildItem -Directory | `
Foreach-Object{
Import-Module .\$_\$_
}
# Come back to PWD
Pop-Location
# 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
}
$global:LASTEXITCODE = $realLASTEXITCODE
return "`nλ "
}
# Load special features come from posh-git
if (Get-Module posh-git) {
Enable-GitColors
Start-SshAgent -Quiet
}
# Move to the wanted location
if (Test-Path Env:\CMDER_START) {
Set-Location -Path $Env:CMDER_START
} elseif ($Env:CMDER_ROOT -and $Env:CMDER_ROOT.StartsWith($pwd)) {
Set-Location -Path $Env:USERPROFILE
}