summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rwxr-xr-xpowerlevel9k.zsh-theme18
2 files changed, 18 insertions, 1 deletions
diff --git a/README.md b/README.md
index b954d03e..bff47f24 100644
--- a/README.md
+++ b/README.md
@@ -116,6 +116,7 @@ The segments that are currently available are:
* **Python Segments:**
* `virtualenv` - Your Python [VirtualEnv](https://virtualenv.pypa.io/en/latest/).
* [`anaconda`](#anaconda) - Your active [Anaconda](https://www.continuum.io/why-anaconda) environment.
+ * `pyenv` - Your active python version as reported by the first word of [`pyenv version`](https://github.com/yyuu/pyenv). Note that the segment is not displayed if that word is _system_ i.e. the segment is inactive if you are using system python.
* **Ruby Segments:**
* [`chruby`](#chruby) - Ruby environment information using `chruby` (if one is active).
* [`rbenv`](#rbenv) - Ruby environment information using `rbenv` (if one is active).
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index 0bbeb7c5..ef6d0a5a 100755
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -481,7 +481,7 @@ prompt_dir() {
subdirectory_path=$(truncatePathFromRight "${current_dir:${#${(S%%)package_path//$~zero/}}}")
# Parse the 'name' from the package.json; if there are any problems, just
# print the file path
- if name=$( cat "$package_path/package.json" 2> /dev/null | grep "\"name\""); then
+ if name=$( cat "$package_path/package.json" 2> /dev/null | grep -m 1 "\"name\""); then
name=$(echo $name | awk -F ':' '{print $2}' | awk -F '"' '{print $2}')
# Instead of printing out the full path, print out the name of the package
@@ -927,6 +927,22 @@ prompt_virtualenv() {
fi
}
+# pyenv: current active python version (with restrictions)
+# More information on pyenv (Python version manager like rbenv and rvm):
+# https://github.com/yyuu/pyenv
+# the prompt parses output of pyenv version and only displays the first word
+prompt_pyenv() {
+ local pyenv_version="$(pyenv version 2>/dev/null)"
+ pyenv_version="${pyenv_version%% *}"
+ # XXX: The following should return the same as above.
+ # This reads better for devs familiar with sed/awk/grep/cut utilities
+ # Using shell expansion/substitution may hamper future maintainability
+ #local pyenv_version="$(pyenv version 2>/dev/null | head -n1 | cut -d' ' -f1)"
+ if [[ -n "$pyenv_version" && "$pyenv_version" != "system" ]]; then
+ "$1_prompt_segment" "$0" "$2" "blue" "$DEFAULT_COLOR" "$pyenv_version" 'PYTHON_ICON'
+ fi
+}
+
################################################################
# Prompt processing and drawing
################################################################