Skip to content

Instantly share code, notes, and snippets.

@laggardkernel
laggardkernel / trigger-chpwd-hook-on-startup.md
Last active September 17, 2020 11:50
Trigger chpwd Hook on Startup #zsh #hook #direnv

By default, ZSH hook chpwd is not triggered on shell startup. The tutorial here provides some ideas to fix this.

Trigger all chpwd_functions on startup

We can use a trick to define a function run only once on precmd and destruct itself automatically.

function _self_destruct_hook {
  local f
  for f in ${chpwd_functions}; do
    "$f"