]> Sergey Matveev's repositories - zsh-autoenv.git/blobdiff - README.md
Add helper functions for $PATH manipulation (#90)
[zsh-autoenv.git] / README.md
index efe063ddd4f5e722248eea57d3242092d3b7a8c2..fe81fe643195e6e6f088ecb38a6ce9e56cf14d66 100644 (file)
--- a/README.md
+++ b/README.md
@@ -8,6 +8,10 @@ typically used in project root directories.
 It handles "enter" and leave" events, nesting, and stashing of
 variables (overwriting and restoring).
 
+## Requirements
+
+- Zsh version 4.3.10 or later.
+
 ## Features
 
 - Support for enter and leave events, which can use the same file.
@@ -17,7 +21,7 @@ variables (overwriting and restoring).
   unknown `.autoenv.zsh` file, and remembers whitelisted files by their
   hashed content.
 - Test suite.
-- Written in Zsh.
+- Written in/for Zsh.
 
 ### Variable stashing
 
@@ -119,13 +123,13 @@ event was handled?
 
 Default: `1`
 
-### AUTOENV\_DISABLED
+### AUTOENV_DISABLED
 
 (Temporarily) disable zsh-autoenv. This gets looked at in the chpwd handler.
 
 Default: 0
 
-### AUTOENV\_DEBUG
+### AUTOENV_DEBUG
 
 Set debug level. If enabled (> 0) it will print information to stderr.
 
@@ -145,6 +149,24 @@ zsh-autoenv works automatically once installed.
 You can use ``autoenv-edit`` to edit the nearest/current autoenv files.
 It will use ``$AUTOENV_EDITOR``, ``$EDITOR``, or ``vim`` for editing.
 
+## Helper functions
+
+The following helper functions are available:
+
+### autoenv_append_path
+
+Appends path(s) to `$path` (`$PATH`), if they are not in there already.
+
+### autoenv_prepend_path
+
+Prepends path(s) to `$path` (`$PATH`), if they are not in there already.
+
+### autoenv_remove_path
+
+Removes path(s) from `$path` (`$PATH`).
+
+Returns 0 in case `$path` has changed, 1 otherwise.
+
 ## Recipes
 
 ### Automatically activate Python virtualenvs
@@ -169,7 +191,7 @@ if [[ $autoenv_event == 'enter' ]]; then
 
     setopt localoptions extendedglob
     local -a venv
-    venv=(./(../)#.venv(NY1:A))
+    venv=(./(../)#.venv(NY1:a))
 
     if [[ -n "$_ZSH_ACTIVATED_VIRTUALENV" && -n "$VIRTUAL_ENV" ]]; then
       if ! (( $#venv )) || [[ "$_ZSH_ACTIVATED_VIRTUALENV" != "$venv[1]" ]]; then