Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 27 additions & 3 deletions powerlevel9k.zsh-theme
Original file line number Diff line number Diff line change
Expand Up @@ -1171,11 +1171,35 @@ prompt_load() {

################################################################
# Segment to diplay Node version
set_default P9K_NODE_VERSION_PROJECT_ONLY false
prompt_node_version() {
local node_version=$(node -v 2>/dev/null)
[[ -z "${node_version}" ]] && return
if [ "$P9K_NODE_VERSION_PROJECT_ONLY" = true ] ; then
local foundProject=false # Variable to stop searching if a project is found
local currentDir=$(pwd) # Variable to iterate through the path ancestry tree

# Search as long as no project could been found or until the root directory
# has been reached
while [ "$foundProject" = false -a ! "$currentDir" = "/" ] ; do

# Check if directory contains a project description
if [[ -e "$currentDir/package.json" ]] ; then
foundProject=true
break
fi
# Go to the parent directory
currentDir="$(dirname "$currentDir")"
done
fi

"$1_prompt_segment" "$0" "$2" "green" "white" 'NODE_ICON' 0 '' "${${node_version:1}//\%/%%}"
# Show version if a project has been found, or set to always show
if [ "$P9K_NODE_VERSION_PROJECT_ONLY" != true -o "$foundProject" = true ] ; then
# Get the node version
local node_version=$(node -v 2>/dev/null)

# Return if node is not installed
[[ -z "${node_version}" ]] && return
"$1_prompt_segment" "$0" "$2" "green" "white" 'NODE_ICON' 0 '' "${${node_version:1}//\%/%%}"
fi
}

################################################################
Expand Down