Windows: add env name to prompts (#48819)
This commit is contained in:
parent
4cb64e150f
commit
d2dd4e96d9
@ -49,10 +49,23 @@ def activate_header(env, shell, prompt=None, view: Optional[str] = None):
|
|||||||
cmds += 'set "SPACK_ENV=%s"\n' % env.path
|
cmds += 'set "SPACK_ENV=%s"\n' % env.path
|
||||||
if view:
|
if view:
|
||||||
cmds += 'set "SPACK_ENV_VIEW=%s"\n' % view
|
cmds += 'set "SPACK_ENV_VIEW=%s"\n' % view
|
||||||
|
if prompt:
|
||||||
|
old_prompt = os.environ.get("SPACK_OLD_PROMPT")
|
||||||
|
if not old_prompt:
|
||||||
|
old_prompt = os.environ.get("PROMPT")
|
||||||
|
cmds += f'set "SPACK_OLD_PROMPT={old_prompt}"\n'
|
||||||
|
cmds += f'set "PROMPT={prompt} $P$G"\n'
|
||||||
elif shell == "pwsh":
|
elif shell == "pwsh":
|
||||||
cmds += "$Env:SPACK_ENV='%s'\n" % env.path
|
cmds += "$Env:SPACK_ENV='%s'\n" % env.path
|
||||||
if view:
|
if view:
|
||||||
cmds += "$Env:SPACK_ENV_VIEW='%s'\n" % view
|
cmds += "$Env:SPACK_ENV_VIEW='%s'\n" % view
|
||||||
|
if prompt:
|
||||||
|
cmds += (
|
||||||
|
"function global:prompt { $pth = $(Convert-Path $(Get-Location))"
|
||||||
|
' | Split-Path -leaf; if(!"$Env:SPACK_OLD_PROMPT") '
|
||||||
|
'{$Env:SPACK_OLD_PROMPT="[spack] PS $pth>"}; '
|
||||||
|
'"%s PS $pth>"}\n' % prompt
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
bash_color_prompt = colorize(f"@G{{{prompt}}}", color=True, enclose=True)
|
bash_color_prompt = colorize(f"@G{{{prompt}}}", color=True, enclose=True)
|
||||||
zsh_color_prompt = colorize(f"@G{{{prompt}}}", color=True, enclose=False, zsh=True)
|
zsh_color_prompt = colorize(f"@G{{{prompt}}}", color=True, enclose=False, zsh=True)
|
||||||
@ -107,10 +120,19 @@ def deactivate_header(shell):
|
|||||||
cmds += 'set "SPACK_ENV="\n'
|
cmds += 'set "SPACK_ENV="\n'
|
||||||
cmds += 'set "SPACK_ENV_VIEW="\n'
|
cmds += 'set "SPACK_ENV_VIEW="\n'
|
||||||
# TODO: despacktivate
|
# TODO: despacktivate
|
||||||
# TODO: prompt
|
old_prompt = os.environ.get("SPACK_OLD_PROMPT")
|
||||||
|
if old_prompt:
|
||||||
|
cmds += f'set "PROMPT={old_prompt}"\n'
|
||||||
|
cmds += 'set "SPACK_OLD_PROMPT="\n'
|
||||||
elif shell == "pwsh":
|
elif shell == "pwsh":
|
||||||
cmds += "Set-Item -Path Env:SPACK_ENV\n"
|
cmds += "Set-Item -Path Env:SPACK_ENV\n"
|
||||||
cmds += "Set-Item -Path Env:SPACK_ENV_VIEW\n"
|
cmds += "Set-Item -Path Env:SPACK_ENV_VIEW\n"
|
||||||
|
cmds += (
|
||||||
|
"function global:prompt { $pth = $(Convert-Path $(Get-Location))"
|
||||||
|
' | Split-Path -leaf; $spack_prompt = "[spack] $pth >"; '
|
||||||
|
'if("$Env:SPACK_OLD_PROMPT") {$spack_prompt=$Env:SPACK_OLD_PROMPT};'
|
||||||
|
" $spack_prompt}\n"
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
cmds += "if [ ! -z ${SPACK_ENV+x} ]; then\n"
|
cmds += "if [ ! -z ${SPACK_ENV+x} ]; then\n"
|
||||||
cmds += "unset SPACK_ENV; export SPACK_ENV;\n"
|
cmds += "unset SPACK_ENV; export SPACK_ENV;\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user