Skip to content

Commit

Permalink
bash doctor
Browse files Browse the repository at this point in the history
  • Loading branch information
ajeetdsouza committed Jan 8, 2025
1 parent 791deec commit 3fe42e9
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 8 deletions.
35 changes: 29 additions & 6 deletions templates/bash.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,8 @@ function __zoxide_cd() {
{{ section }}
# Hook configuration for zoxide.
#
{%- if hook != InitHook::None %}

{% if hook == InitHook::None -%}
{{ not_configured }}

{%- else -%}
# Hook to add new entries to the database.
{%- if hook == InitHook::Prompt %}
function __zoxide_hook() {
Expand All @@ -40,6 +37,7 @@ function __zoxide_hook() {
\command zoxide add -- "$(__zoxide_pwd)"
return "${retval}"
}

{%- else if hook == InitHook::Pwd %}
__zoxide_oldpwd="$(__zoxide_pwd)"

Expand All @@ -60,7 +58,29 @@ if [[ ${PROMPT_COMMAND:=} != *'__zoxide_hook'* ]]; then
PROMPT_COMMAND="__zoxide_hook;${PROMPT_COMMAND#;}"
fi

{% endif -%}
{%- endif %}

# Report common issues.
function __zoxide_doctor() {
{%- if hook == InitHook::None %}
return 0

{%- else %}
[[ ${_ZO_DOCTOR:-1} -ne 0 ]] || return 0
[[ ${PROMPT_COMMAND:=} != *'__zoxide_hook'* ]] || return 0

_ZO_DOCTOR=0
\builtin printf '%s\n' \
'zoxide: detected a possible configuration issue.' \
'Please ensure that zoxide is initialized right at the end of your shell configuration file (usually ~/.bashrc).' \
'' \
'If the issue persists, consider filing an issue at:' \
'https://github.com/ajeetdsouza/zoxide/issues' \
'' \
'Disable this message by setting _ZO_DOCTOR=0.' \
'' >&2
{%- endif %}
}

{{ section }}
# When using zoxide with --no-cmd, alias these internal functions as desired.
Expand All @@ -70,6 +90,8 @@ __zoxide_z_prefix='z#'

# Jump to a directory using only keywords.
function __zoxide_z() {
__zoxide_doctor

# shellcheck disable=SC2199
if [[ $# -eq 0 ]]; then
__zoxide_cd ~
Expand All @@ -93,6 +115,7 @@ function __zoxide_z() {

# Jump to a directory using interactive search.
function __zoxide_zi() {
__zoxide_doctor
\builtin local result
result="$(\command zoxide query --interactive -- "$@")" && __zoxide_cd "${result}"
}
Expand Down Expand Up @@ -154,6 +177,6 @@ fi
{%- endmatch %}

{{ section }}
# To initialize zoxide, add this to your configuration (usually ~/.bashrc):
# To initialize zoxide, add this to your shell configuration file (usually ~/.bashrc):
#
# eval "$(zoxide init bash)"
3 changes: 1 addition & 2 deletions templates/zsh.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ function __zoxide_hook() {
# Initialize hook.
\builtin typeset -ga precmd_functions
\builtin typeset -ga chpwd_functions

# shellcheck disable=SC2034,SC2296
precmd_functions=("${(@)precmd_functions:#__zoxide_hook}")
# shellcheck disable=SC2034,SC2296
Expand Down Expand Up @@ -69,7 +68,7 @@ function __zoxide_doctor() {
'Please ensure that zoxide is initialized right at the end of your shell configuration file (usually ~/.zshrc).' \
'' \
'If the issue persists, consider filing an issue at:' \
'https://github.com/ajeetdsouza/zoxide/issues.' \
'https://github.com/ajeetdsouza/zoxide/issues' \
'' \
'Disable this message by setting _ZO_DOCTOR=0.' \
'' >&2
Expand Down

0 comments on commit 3fe42e9

Please sign in to comment.