mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08:00 
			
		
		
		
	feat(conda-env): add plugin for conda prompt display (#10619)
Co-authored-by: Jeonguk Choi <91456421+devj121@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									379e974d2b
								
							
						
					
					
						commit
						70cfff448d
					
				@ -20,6 +20,7 @@ function chruby_prompt_info \
 | 
			
		||||
  jenv_prompt_info \
 | 
			
		||||
  azure_prompt_info \
 | 
			
		||||
  tf_prompt_info \
 | 
			
		||||
  conda_prompt_info \
 | 
			
		||||
{
 | 
			
		||||
  return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										44
									
								
								plugins/conda-env/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								plugins/conda-env/README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
			
		||||
# conda-env
 | 
			
		||||
 | 
			
		||||
The plugin displays information of the created virtual container of conda and allows background theming.
 | 
			
		||||
 | 
			
		||||
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`.
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										9
									
								
								plugins/conda-env/conda-env.plugin.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								plugins/conda-env/conda-env.plugin.zsh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
function conda_prompt_info(){
 | 
			
		||||
  [[ -n ${CONDA_DEFAULT_ENV} ]] || return
 | 
			
		||||
  echo "${ZSH_THEME_CONDA_PREFIX=[}${CONDA_DEFAULT_ENV:t:gs/%/%%}${ZSH_THEME_CONDA_SUFFIX=]}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user