aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hilburn <bhilburn@gmail.com>2016-08-31 03:57:46 +0300
committerGitHub <noreply@github.com>2016-08-31 03:57:46 +0300
commit02cc43ff095a4f71ca558ff8b1de307d3b95b7d8 (patch)
tree2a8e64ce2d0da189850c76045ed9c5f1fd5aac5a
parent683ca10e369ae6699197e81f6fd5aec44c05c4f1 (diff)
parent9bc55ab175f2bf48e6673327df7e814de35f9d1e (diff)
Merge pull request #309 from krischer/conda-prompt-changes
Conda prompt speedup and configuration
-rw-r--r--README.md20
-rwxr-xr-xpowerlevel9k.zsh-theme15
2 files changed, 22 insertions, 13 deletions
diff --git a/README.md b/README.md
index d2e40da0..2d031706 100644
--- a/README.md
+++ b/README.md
@@ -140,13 +140,21 @@ The segments that are currently available are:
##### anaconda
-This segment shows your active anaconda environment.
+This segment shows your active anaconda environment. It relies on either the
+`CONDA_ENV_PATH` or the `CONDA_PREFIX` (depending on the `conda` version)
+environment variable to be set which happens when you properly `source
+activate` an environment.
-*Note: This segment relies on a perl-regex with lookbehind.
-If `ack` is not available the segment will try to use `grep`.
-Recent versions of grep offer a `-P` option to handle such things.
-On OSX, however, you want to install gnu-grep (e.g. via `brew install grep`)
-and alias the newly installed `ggrep` to `grep`. Alternatively, `brew install ack`.*
+Special configuration variables:
+
+| Variable | Default Value | Description |
+|----------|---------------|-------------|
+|`POWERLEVEL9K_ANACONDA_LEFT_DELIMITER`|"("|The left delimiter just before the environment name.|
+|`POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER`|")"|The right delimiter just after the environment name.|
+
+Additionally the following segment specific parameters can be used to customize
+it: `POWERLEVEL9K_PYTHON_ICON`, `POWERLEVEL9K_ANACONDA_BACKGROUND`, and
+`POWERLEVEL9K_ANACONDA_FOREGROUND`.
##### aws
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index bf09b4ce..e81aa6f2 100755
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -291,13 +291,14 @@ CURRENT_BG='NONE'
# Anaconda Environment
prompt_anaconda() {
- if $(hash ack 2>/dev/null); then
- local active_conda_env=$(where conda | ack -o '(?<=envs/)[\w-]+(?=/bin)')
- else
- local active_conda_env=$(where conda | grep -o -P '(?<=envs/)[\w-]+(?=/bin)')
- fi
- if [[ -n $active_conda_env ]]; then
- "$1_prompt_segment" "$0" "$2" "green" "black" "($active_conda_env)" ""
+ # Depending on the conda version, either might be set. This
+ # variant works even if both are set.
+ _path=$CONDA_ENV_PATH$CONDA_PREFIX
+ if ! [ -z "$_path" ]; then
+ # config - can be overwritten in users' zshrc file.
+ set_default POWERLEVEL9K_ANACONDA_LEFT_DELIMITER "("
+ set_default POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER ")"
+ "$1_prompt_segment" "$0" "$2" "$3" "$4" "$POWERLEVEL9K_ANACONDA_LEFT_DELIMITER$(basename $_path)$POWERLEVEL9K_ANACONDA_RIGHT_DELIMITER" 'PYTHON_ICON'
fi
}