add POWERLEVEL9K_<segment>_DISABLED_DIR_PATTERN

This parameter allows you to disable a given prompt segment in
any directory that matches the specified pattern.

For example, if you have a Git repository in /foo/bar for which
you don't want to see Git status in prompt, define the following
parameter:

    POWERLEVEL9K_VCS_DISABLED_DIR_PATTERN='/foo/bar(|/*)'

See #300.
This commit is contained in:
romkatv 2019-11-02 10:42:01 +01:00
parent 2057080ec2
commit 99e632f97d

View File

@ -3432,6 +3432,8 @@ function _p9k_set_iface() {
function _p9k_build_segment() {
_p9k_segment_name=${_p9k_segment_name%_joined}
local disabled=POWERLEVEL9K_${(U)_p9k_segment_name}_DISABLED_DIR_PATTERN
[[ $_p9k_pwd == ${(P)~disabled} ]] && return
if [[ $_p9k_segment_name == custom_* ]]; then
_p9k_custom_prompt $_p9k_segment_name[8,-1]
elif (( $+functions[prompt_$_p9k_segment_name] )); then
@ -3442,6 +3444,8 @@ function _p9k_build_segment() {
function _p9k_build_instant_segment() {
_p9k_segment_name=${_p9k_segment_name%_joined}
local disabled=POWERLEVEL9K_${(U)_p9k_segment_name}_DISABLED_DIR_PATTERN
[[ $_p9k_pwd == ${(P)~disabled} ]] && return
if (( $+functions[instant_prompt_$_p9k_segment_name] )); then
local -i len=$#_p9k__prompt
_p9k_non_hermetic_expansion=0