mirror of
https://github.com/cmderdev/cmder.git
synced 2025-02-10 23:49:07 +08:00
Fix #2191 profile.ps1: CheckGit does not export $gitLoaded
This commit is contained in:
parent
5a6f873d2b
commit
661f59d0fb
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
|
|
||||||
|
* Fix #2191: profile.ps1: CheckGit does not export $gitLoaded
|
||||||
* Fix #2192: Set default prompt hooks before loading user profile
|
* Fix #2192: Set default prompt hooks before loading user profile
|
||||||
* Fix #2097, #1899: powershell foreground color changing to green
|
* Fix #2097, #1899: powershell foreground color changing to green
|
||||||
* Fix #1979: Update Clink Completions to 0.3.4
|
* Fix #1979: Update Clink Completions to 0.3.4
|
||||||
|
48
vendor/profile.ps1
vendored
48
vendor/profile.ps1
vendored
@ -32,53 +32,13 @@ $moduleInstallerAvailable = [bool](Get-Command -Name 'Install-Module' -ErrorActi
|
|||||||
# Add Cmder modules directory to the autoload path.
|
# Add Cmder modules directory to the autoload path.
|
||||||
$CmderModulePath = Join-path $PSScriptRoot "psmodules/"
|
$CmderModulePath = Join-path $PSScriptRoot "psmodules/"
|
||||||
|
|
||||||
|
$CmderFunctions = Join-Path $CmderModulePath "Cmder.ps1"
|
||||||
|
. $CmderFunctions
|
||||||
|
|
||||||
if(-not $moduleInstallerAvailable -and -not $env:PSModulePath.Contains($CmderModulePath) ){
|
if(-not $moduleInstallerAvailable -and -not $env:PSModulePath.Contains($CmderModulePath) ){
|
||||||
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
|
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
|
||||||
}
|
}
|
||||||
|
|
||||||
function Configure-Git($GIT_INSTALL_ROOT){
|
|
||||||
$env:Path += $(";" + $GIT_INSTALL_ROOT + "\cmd")
|
|
||||||
|
|
||||||
# Add "$GIT_INSTALL_ROOT\usr\bin" to the path if exists and not done already
|
|
||||||
$GIT_INSTALL_ROOT_ESC=$GIT_INSTALL_ROOT.replace('\','\\')
|
|
||||||
if ((test-path "$GIT_INSTALL_ROOT\usr\bin") -and -not ($env:path -match "$GIT_INSTALL_ROOT_ESC\\usr\\bin")) {
|
|
||||||
$env:path = "$env:path;$GIT_INSTALL_ROOT\usr\bin"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Add "$GIT_INSTALL_ROOT\mingw[32|64]\bin" to the path if exists and not done already
|
|
||||||
if ((test-path "$GIT_INSTALL_ROOT\mingw32\bin") -and -not ($env:path -match "$GIT_INSTALL_ROOT_ESC\\mingw32\\bin")) {
|
|
||||||
$env:path = "$env:path;$GIT_INSTALL_ROOT\mingw32\bin"
|
|
||||||
} elseif ((test-path "$GIT_INSTALL_ROOT\mingw64\bin") -and -not ($env:path -match "$GIT_INSTALL_ROOT_ESC\\mingw64\\bin")) {
|
|
||||||
$env:path = "$env:path;$GIT_INSTALL_ROOT\mingw64\bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$gitLoaded = $false
|
|
||||||
function Import-Git($Loaded){
|
|
||||||
if($Loaded) { return }
|
|
||||||
$GitModule = Get-Module -Name Posh-Git -ListAvailable
|
|
||||||
if($GitModule | select version | where version -le ([version]"0.6.1.20160330")){
|
|
||||||
Import-Module Posh-Git > $null
|
|
||||||
}
|
|
||||||
if(-not ($GitModule) ) {
|
|
||||||
Write-Warning "Missing git support, install posh-git with 'Install-Module posh-git' and restart cmder."
|
|
||||||
}
|
|
||||||
# Make sure we only run once by alawys returning true
|
|
||||||
return $true
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkGit($Path) {
|
|
||||||
if (Test-Path -Path (Join-Path $Path '.git') ) {
|
|
||||||
$gitLoaded = Import-Git $gitLoaded
|
|
||||||
Write-VcsStatus
|
|
||||||
return
|
|
||||||
}
|
|
||||||
$SplitPath = split-path $path
|
|
||||||
if ($SplitPath) {
|
|
||||||
checkGit($SplitPath)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
# Check if git is on PATH, i.e. Git already installed on system
|
# Check if git is on PATH, i.e. Git already installed on system
|
||||||
Get-command -Name "git" -ErrorAction Stop >$null
|
Get-command -Name "git" -ErrorAction Stop >$null
|
||||||
@ -97,6 +57,8 @@ if (Get-Module PSReadline -ErrorAction "SilentlyContinue") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Pre assign default prompt hooks so the first run of cmder gets a working prompt.
|
# Pre assign default prompt hooks so the first run of cmder gets a working prompt.
|
||||||
|
$gitLoaded = $false
|
||||||
|
$env:gitLoaded = $false
|
||||||
[ScriptBlock]$PrePrompt = {}
|
[ScriptBlock]$PrePrompt = {}
|
||||||
[ScriptBlock]$PostPrompt = {}
|
[ScriptBlock]$PostPrompt = {}
|
||||||
[ScriptBlock]$CmderPrompt = {
|
[ScriptBlock]$CmderPrompt = {
|
||||||
|
Loading…
Reference in New Issue
Block a user