diff --git a/plugins/conda-env/README.md b/plugins/conda-env/README.md index 2ab38edd0..ccf48a392 100644 --- a/plugins/conda-env/README.md +++ b/plugins/conda-env/README.md @@ -7,12 +7,38 @@ To use it, add `conda-env` to the plugins array of your zshrc file: plugins=(... conda-env) ``` -The plugin creates a `conda_prompt_info` function that you can use in your -theme, which displays the basename of the current `$CONDA_DEFAULT_ENV`. It uses -two variables to control how that is shown: +The plugin creates a `conda_prompt_info` function that you can use in your theme, which displays the +basename of the current `$CONDA_DEFAULT_ENV`. + +You can use this prompt function in your themes, by adding it to the `PROMPT` or `RPROMPT` variables. See [Example](#example) for more information. + +## Settings + +It uses two variables to control how the information is shown: - `ZSH_THEME_CONDA_PREFIX`: sets the prefix of the CONDA_DEFAULT_ENV. Defaults to `[`. - `ZSH_THEME_CONDA_SUFFIX`: sets the suffix of the CONDA_DEFAULT_ENV. Defaults to `]`. + +## Example + +```sh +ZSH_THEME_CONDA_PREFIX='conda:%F{green}' +ZSH_THEME_CONDA_SUFFIX='%f' +RPROMPT='$(conda_prompt_info)' +``` + +## `CONDA_CHANGEPS1` + +This plugin also automatically sets the `CONDA_CHANGEPS1` variable to `false` to avoid conda changing the prompt +automatically. This has the same effect as running `conda config --set changeps1 false`. + +You can override this behavior by adding `unset CONDA_CHANGEPS1` in your `.zshrc` file, after Oh My Zsh has been +sourced. + +References: + +- https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#determining-your-current-environment +- https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#precedence diff --git a/plugins/conda-env/conda-env.plugin.zsh b/plugins/conda-env/conda-env.plugin.zsh index 3e6e779bb..c710c952f 100644 --- a/plugins/conda-env/conda-env.plugin.zsh +++ b/plugins/conda-env/conda-env.plugin.zsh @@ -1,12 +1,9 @@ function conda_prompt_info(){ - if command -v pyenv &>/dev/null && [[ $plugins == *"virtualenv"* ]]; then - return - else - [[ -n ${CONDA_DEFAULT_ENV} ]] || return - echo "${ZSH_THEME_CONDA_PREFIX=[}${CONDA_DEFAULT_ENV:t:gs/%/%%}${ZSH_THEME_CONDA_SUFFIX=]}" - fi + [[ -n ${CONDA_DEFAULT_ENV} ]] || return + echo "${ZSH_THEME_CONDA_PREFIX=[}${CONDA_DEFAULT_ENV:t:gs/%/%%}${ZSH_THEME_CONDA_SUFFIX=]}" } -# disables display (${CONDA_DEFAULT_ENV}) +# Has the same effect as `conda config --set changeps1 false` +# - https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#determining-your-current-environment +# - https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#precedence export CONDA_CHANGEPS1=false -