Skip to content

Commit b2adfa9

Browse files
authored
Merge pull request #2353 from seefood/feature/nvm-conditional-display
2 parents 1d79c0a + 0008d77 commit b2adfa9

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

themes/base.theme.bash

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,14 @@ function hg_prompt_vars() {
395395
}
396396

397397
function node_command_version_prompt() {
398+
# Set to 'true' to only show node version in directories with package.json
399+
NODE_VERSION_CHECK_PROJECT="${NODE_VERSION_CHECK_PROJECT:-false}"
400+
401+
# If NODE_VERSION_CHECK_PROJECT is enabled, only show version in Node.js projects
402+
if [[ "${NODE_VERSION_CHECK_PROJECT}" == "true" ]] && ! _is_node_project; then
403+
return 0
404+
fi
405+
398406
local node_version
399407
if _command_exists node; then
400408
node_version="$(node --version 2> /dev/null)"
@@ -421,11 +429,33 @@ function node_native_version_prompt() {
421429
fi
422430
}
423431

432+
function _is_node_project() {
433+
# Check if we're in a Node.js project by looking for package.json
434+
# Search current directory and parent directories up to $HOME
435+
local dir="${PWD}"
436+
while [[ "${dir}" != "${HOME-}" && "${dir}" != "/" ]]; do
437+
if [[ -f "${dir}/package.json" ]]; then
438+
return 0
439+
fi
440+
dir=$(dirname "${dir}")
441+
done
442+
# Also check $HOME itself
443+
[[ -f "${HOME-}/package.json" ]] && return 0
444+
return 1
445+
}
446+
424447
function node_version_prompt() {
425448
NODE_VERSION_STRATEGY="${NODE_VERSION_STRATEGY:-nvm}"
449+
# Set to 'true' to only show node version in directories with package.json
450+
NODE_VERSION_CHECK_PROJECT="${NODE_VERSION_CHECK_PROJECT:-false}"
426451

427452
_log_debug "node: using version strategy '$NODE_VERSION_STRATEGY'"
428453

454+
# If NODE_VERSION_CHECK_PROJECT is enabled, only show version in Node.js projects
455+
if [[ "${NODE_VERSION_CHECK_PROJECT}" == "true" ]] && ! _is_node_project; then
456+
return 0
457+
fi
458+
429459
if [ "$NODE_VERSION_STRATEGY" == "nvm" ]; then
430460
nvm_version_prompt
431461
elif [ "$NODE_VERSION_STRATEGY" == "node" ]; then

0 commit comments

Comments
 (0)