summaryrefslogtreecommitdiff
path: root/plugins/per-directory-history
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/per-directory-history')
-rw-r--r--plugins/per-directory-history/README.md29
-rw-r--r--plugins/per-directory-history/per-directory-history.zsh14
2 files changed, 22 insertions, 21 deletions
diff --git a/plugins/per-directory-history/README.md b/plugins/per-directory-history/README.md
index d8ff93dc0..ea445d329 100644
--- a/plugins/per-directory-history/README.md
+++ b/plugins/per-directory-history/README.md
@@ -4,13 +4,13 @@
Per directory history for zsh, as well as global history, and the
ability to toggle between them with ^G.
-This is a implementation of per directory history for zsh, some
-implementations of which exist in bash[1][],[2][]. It also implements
-a per-directory-history-toggle-history function to change from using the
-directory history to using the global history. In both cases the history is
-always saved to both the global history and the directory history, so the
-toggle state will not effect the saved histories. Being able to switch
-between global and directory histories on the fly is a novel feature as far
+This is a implementation of per directory history for zsh, some
+implementations of which exist in bash[1][],[2][]. It also implements
+a per-directory-history-toggle-history function to change from using the
+directory history to using the global history. In both cases the history is
+always saved to both the global history and the directory history, so the
+toggle state will not effect the saved histories. Being able to switch
+between global and directory histories on the fly is a novel feature as far
as I am aware.
This is a standalone repository for the script, however it is also included in
@@ -27,15 +27,14 @@ Usage
2. The default mode if per directory history, interact with your history as normal.
3. Press ^G (the Control and G keys simultaneously) to toggle between local
- and global histories.
-
-
+ and global histories. If you would prefer a different shortcut to toggle
+ set the PER_DIRECTORY_HISTORY_TOGGLE environment variable.
-------------------------------------------------------------------------------
Configuration
-------------------------------------------------------------------------------
-* HISTORY_BASE a global variable that defines the base directory in which the
+* HISTORY_BASE a global variable that defines the base directory in which the
directory histories are stored
* per-directory-history-toggle-history is the function to toggle the history
@@ -43,14 +42,14 @@ Configuration
History
-------------------------------------------------------------------------------
-The idea/inspiration for a per directory history is from [Stewart MacArthur][1]
-and [Dieter][2], the implementation idea is from [Bart Schaefer][3]. The
+The idea/inspiration for a per directory history is from [Stewart MacArthur][1]
+and [Dieter][2], the implementation idea is from [Bart Schaefer][3]. The
implementation is by [Jim Hester][5] in September 2012.
[1]: http://www.compbiome.com/2010/07/bash-per-directory-bash-history.html
[2]: http://dieter.plaetinck.be/per_directory_bash
-[3]: http://www.zsh.org/mla/users/1997/msg00226.html
+[3]: https://www.zsh.org/mla/users/1997/msg00226.html
[4]: https://github.com/robbyrussell/oh-my-zsh
[5]: http://jimhester.com
-[6]: http://github.com/jimhester/per-directory-history
+[6]: https://github.com/jimhester/per-directory-history
diff --git a/plugins/per-directory-history/per-directory-history.zsh b/plugins/per-directory-history/per-directory-history.zsh
index bdee341bd..53ad963e7 100644
--- a/plugins/per-directory-history/per-directory-history.zsh
+++ b/plugins/per-directory-history/per-directory-history.zsh
@@ -26,11 +26,11 @@
#
# [1]: http://www.compbiome.com/2010/07/bash-per-directory-bash-history.html
# [2]: http://dieter.plaetinck.be/per_directory_bash
-# [3]: http://www.zsh.org/mla/users/1997/msg00226.html
+# [3]: https://www.zsh.org/mla/users/1997/msg00226.html
#
################################################################################
#
-# Copyright (c) 2012 Jim Hester
+# Copyright (c) 2014 Jim Hester
#
# This software is provided 'as-is', without any express or implied warranty.
# In no event will the authors be held liable for any damages arising from the
@@ -57,6 +57,7 @@
#-------------------------------------------------------------------------------
[[ -z $HISTORY_BASE ]] && HISTORY_BASE="$HOME/.directory_history"
+[[ -z $PER_DIRECTORY_HISTORY_TOGGLE ]] && PER_DIRECTORY_HISTORY_TOGGLE='^G'
#-------------------------------------------------------------------------------
# toggle global/directory history used for searching - ctrl-G by default
@@ -76,7 +77,7 @@ function per-directory-history-toggle-history() {
autoload per-directory-history-toggle-history
zle -N per-directory-history-toggle-history
-bindkey '^G' per-directory-history-toggle-history
+bindkey $PER_DIRECTORY_HISTORY_TOGGLE per-directory-history-toggle-history
#-------------------------------------------------------------------------------
# implementation details
@@ -108,7 +109,7 @@ function _per-directory-history-change-directory() {
}
function _per-directory-history-addhistory() {
- print -Sr -- ${1%%$'\n'}
+ print -Sr -- "${1%%$'\n'}"
fc -p $_per_directory_history_directory
}
@@ -140,8 +141,9 @@ function _per-directory-history-set-global-history() {
#add functions to the exec list for chpwd and zshaddhistory
-chpwd_functions=(${chpwd_functions[@]} "_per-directory-history-change-directory")
-zshaddhistory_functions=(${zshaddhistory_functions[@]} "_per-directory-history-addhistory")
+autoload -U add-zsh-hook
+add-zsh-hook chpwd _per-directory-history-change-directory
+add-zsh-hook zshaddhistory _per-directory-history-addhistory
#start in directory mode
mkdir -p ${_per_directory_history_directory:h}