From 2428e8529f67b1e4ffb406c69789794ac59e7171 Mon Sep 17 00:00:00 2001 From: "Dax T. Games" Date: Sat, 23 Nov 2019 11:54:53 -0500 Subject: [PATCH] dd per shell git opt out --- README.md | 5 ++++- vendor/clink.lua | 4 ++-- vendor/git-prompt.sh | 4 ++-- vendor/psmodules/Cmder.ps1 | 13 ++++++++----- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 5fdc08089..753e5eb7a 100644 --- a/README.md +++ b/README.md @@ -184,7 +184,10 @@ You can write `*.cmd|*.bat`, `*.ps1`, and `*.sh` scripts and just drop them in t ``` [cmder] - status = false + status = false # Opt out of Git status for 'ALL' Cmder supported shells. + cmdstatus = false # Opt out of Git status for 'Cmd.exe' shells. + psstatus = false # Opt out of Git status for 'Powershell.exe and 'Pwsh.exe' shells. + shstatus = false # Opt out of Git status for 'bash.exe' shells. ``` ### Aliases diff --git a/vendor/clink.lua b/vendor/clink.lua index 83f938765..76904c3df 100644 --- a/vendor/clink.lua +++ b/vendor/clink.lua @@ -285,10 +285,10 @@ end -- @return {bool} --- local function get_git_status_setting() - gitStatusSetting = io.popen("git config cmder.status") + gitStatusSetting = io.popen("git --no-pager config -l") for line in gitStatusSetting:lines() do - if string.match(line, 'false') then + if string.match(line, 'cmder.status=false') or string.match(line, 'cmder.cmdstatus=false') then gitStatusSetting:close() return false end diff --git a/vendor/git-prompt.sh b/vendor/git-prompt.sh index 632c7740a..c41a5a124 100644 --- a/vendor/git-prompt.sh +++ b/vendor/git-prompt.sh @@ -1,7 +1,7 @@ function getGitStatusSetting() { - gitStatusSetting=$(git config cmder.status 2>/dev/null) + gitStatusSetting=$(git --no-pager config -l 2>/dev/null) - if [[ -n ${gitStatusSetting} ]] && [[ ${gitStatusSetting} == false ]] + if [[ -n ${gitStatusSetting} ]] && [[ ${gitStatusSetting} =~ cmder.status=false ]] || [[ ${gitStatusSetting} =~ cmder.shstatus=false ]] then echo false else diff --git a/vendor/psmodules/Cmder.ps1 b/vendor/psmodules/Cmder.ps1 index e1954dd07..86dfb02c2 100644 --- a/vendor/psmodules/Cmder.ps1 +++ b/vendor/psmodules/Cmder.ps1 @@ -16,6 +16,7 @@ function Configure-Git($GIT_INSTALL_ROOT){ } function Import-Git(){ + $GitModule = Get-Module -Name Posh-Git -ListAvailable if($GitModule | select version | where version -le ([version]"0.6.1.20160330")){ Import-Module Posh-Git > $null @@ -46,11 +47,13 @@ function checkGit($Path) { } function getGitStatusSetting() { - $gitStatus = (git config cmder.status) | out-string + $gitStatus = (git --no-pager config -l) | out-string - if (($gitStatus -replace "`n" -replace "`r") -eq "false") { - return $false - } else { - return $true + ForEach ($line in $($gitStatus -split "`r`n")) { + if ($line -match 'cmder.status=false' -or $line -match 'cmder.psstatus=false') { + return $false + } } + + return $true }