feat(spackenv): Adding Spackenv plugin (#13191)

* Add spackenv plugin to handle Spack environment

* Use ":t" instead of 'basename'
This commit is contained in:
David Chin 2025-09-01 15:02:29 -04:00 committed by GitHub
commit 680298e920
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 0 deletions

View file

@ -0,0 +1,17 @@
# spackenv
Based on the virtualenv plugin.
The plugin displays information of the created Spack environment and allows background theming.
To use it, add `spackenv` to the plugins array of your zshrc file:
```
plugins=(... spackenv)
```
The plugin creates a `spackenv_prompt_info` function that you can use in your theme, which displays
the basename of the current `$SPACK_ENV`. It uses two variables to control how that is shown:
- `ZSH_THEME_SPACKENV_PREFIX`: sets the prefix of the SPACK_ENV. Defaults to `[`.
- `ZSH_THEME_SPACKENV_SUFFIX`: sets the suffix of the SPACK_ENV. Defaults to `]`.

View file

@ -0,0 +1,5 @@
function spackenv_prompt_info(){
[[ -n ${SPACK_ENV} ]] || return
export SPACK_ENV_PROMPT=${SPACK_ENV:t}
echo "${ZSH_THEME_SPACKENV_PREFIX=(}${SPACK_ENV:t:gs/%/%%}${ZSH_THEME_SPACKENV_SUFFIX=)}"
}