Skip to content
Avindra Goolcharan edited this page Jun 19, 2021 · 6 revisions

Implementation

dirp is referenced by a shell function named dir, which is generally defined in an auto-loaded profile script. The core dirp binary generates a directory picker, powered by fzf. Changing the current directory is generally a concern of the shell, and thus dir MUST be implemented as a shell function.

Users call the shell function dir, which delegates to dirp to select the folder. This design allows us to write the majority of the program code in the host language, and supporting many different shell languages is simply the task of creating a shell function that delegates to dirp.

Why bother

  • Novel interface for quickly changing directories
  • Consistent interface to change directories
  • Test baseline capabilities of novel shells by implementing hooks for them
  • Encourage the practice of bookmarking directories in a config file
Clone this wiki locally