1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-03-31 19:34:00 +08:00
ohmyzsh-mirror/plugins/conda/conda.plugin.zsh
Hobeom 25488fe69d feat(conda): add environment tab completion for cna and cnrn
- Add conda command check to exit early if conda is not installed
- Convert `cna` and `cnrn` from aliases to functions to support arguments
- Add `_omz_conda_envs` completion function that fetches conda environments
  and provides tab completion for `cna` and `cnrn` commands

AI-assisted contribution disclosure
Plugin script (conda.plugin.zsh): Generated with GPT 5.4 (thinking mode), then reviewed and tested manually
README, commit messages, and PR: Written with Claude Code (claude-opus-4-6)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 16:06:52 +09:00

42 lines
1.1 KiB
Bash

if (( ! $+commands[conda] )); then
return
fi
cna() { conda activate "$@"; }
cnrn() { conda remove -y --all -n "$@"; }
alias cnab='conda activate base'
alias cncf='conda env create -f'
alias cncn='conda create -y -n'
alias cnconf='conda config'
alias cncp='conda create -y -p'
alias cncr='conda create -n'
alias cncss='conda config --show-source'
alias cnde='conda deactivate'
alias cnel='conda env list'
alias cni='conda install'
alias cniy='conda install -y'
alias cnl='conda list'
alias cnle='conda list --export'
alias cnles='conda list --explicit > spec-file.txt'
alias cnr='conda remove'
alias cnrp='conda remove -y --all -p'
alias cnry='conda remove -y'
alias cnsr='conda search'
alias cnu='conda update'
alias cnua='conda update --all'
alias cnuc='conda update conda'
_omz_conda_envs() {
emulate -L zsh
local -a envs
envs=("${(@f)$(conda env list 2>/dev/null \
| sed -nE '/^#/d;/^[[:space:]]*$/d;s/^[[:space:]]*([^[:space:]]+).*/\1/p' \
| sed '/^base$/d')}")
(( ${#envs[@]} )) && compadd -Q -a envs
}
if (( $+functions[compdef] )); then
compdef _omz_conda_envs cna cnrn
fi