Use variable to prevent hook redefinition #1

This commit is contained in:
Ajeet D'Souza 2021-03-06 02:39:25 +05:30
parent 22d19a74b2
commit 1789a70b55
3 changed files with 22 additions and 22 deletions

View File

@ -51,10 +51,10 @@ function __zoxide_hook() {
{{ NOT_CONFIGURED }} {{ NOT_CONFIGURED }}
{%- else %} {%- else %}
case "${PROMPT_COMMAND}" in if [ "${__zoxide_hooked}" != '1' ]; then
*__zoxide_hook*) ;; PROMPT_COMMAND="${PROMPT_COMMAND:+${PROMPT_COMMAND};}__zoxide_hook"
*) PROMPT_COMMAND="${PROMPT_COMMAND:+${PROMPT_COMMAND};}__zoxide_hook" ;; __zoxide_hooked='1'
esac fi
{%- endif %} {%- endif %}

View File

@ -52,10 +52,10 @@ __zoxide_hook() {
{{ NOT_CONFIGURED }} {{ NOT_CONFIGURED }}
{%- when Hook::Prompt %} {%- when Hook::Prompt %}
case "${PS1}" in if [ "${__zoxide_hooked}" != '1' ]; then
*\$\(__zoxide_hook\)*) ;; PS1="${PS1}\$(__zoxide_hook)"
*) PS1="${PS1}\$(__zoxide_hook)" ;; __zoxide_hooked='1'
esac fi
{%- when Hook::Pwd %} {%- when Hook::Pwd %}
{{ NOT_CONFIGURED }} {{ NOT_CONFIGURED }}

View File

@ -76,21 +76,21 @@ def __zoxide_errhandler(func):
# #
# Initialize hook to add new entries to the database. # Initialize hook to add new entries to the database.
{%- match hook %} if globals().get("__zoxide_hooked") is not True:
{%- when Hook::None %} globals()["__zoxide_hooked"] = True
{{ NOT_CONFIGURED }}
{%- when Hook::Prompt %} {% match hook -%}
@events.on_post_prompt # type: ignore # pylint:disable=undefined-variable {%- when Hook::None -%}
{{ NOT_CONFIGURED }}
{%- when Hook::Pwd %} {%- when Hook::Prompt -%}
@events.on_chdir # type: ignore # pylint:disable=undefined-variable @events.on_post_prompt # type: ignore # pylint:disable=undefined-variable
{%- when Hook::Pwd -%}
{%- endmatch %} @events.on_chdir # type: ignore # pylint:disable=undefined-variable
def __zoxide_hook(**_kwargs): {%- endmatch %}
"""Hook to add new entries to the database.""" def __zoxide_hook(**_kwargs):
pwd = __zoxide_pwd() """Hook to add new entries to the database."""
subprocess.run(["zoxide", "add", pwd], check=False) pwd = __zoxide_pwd()
subprocess.run(["zoxide", "add", pwd], check=False)
{{ SECTION }} {{ SECTION }}