Commit cc831508 authored by Jim Hester's avatar Jim Hester

Use HISTFILE evironment variable directly rather than copying it

Use the HISTFILE environment variable in place of copying it to
_per_directory_history_global so that users can change the environment variable
after sourcing per-directory-history and have the global variable set correctly
parent baa187e4
...@@ -81,7 +81,6 @@ bindkey '^G' per-directory-history-toggle-history ...@@ -81,7 +81,6 @@ bindkey '^G' per-directory-history-toggle-history
# implementation details # implementation details
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
_per_directory_history_global=$HISTFILE
_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history" _per_directory_history_directory="$HISTORY_BASE${PWD:A}/history"
function _per-directory-history-change-directory() { function _per-directory-history-change-directory() {
...@@ -89,7 +88,7 @@ function _per-directory-history-change-directory() { ...@@ -89,7 +88,7 @@ function _per-directory-history-change-directory() {
mkdir -p ${_per_directory_history_directory:h} mkdir -p ${_per_directory_history_directory:h}
if [[ $_per_directory_history_is_global == false ]]; then if [[ $_per_directory_history_is_global == false ]]; then
#save to the global history #save to the global history
fc -AI $_per_directory_history_global fc -AI $HISTFILE
#save history to previous file #save history to previous file
local prev="$HISTORY_BASE${OLDPWD:A}/history" local prev="$HISTORY_BASE${OLDPWD:A}/history"
mkdir -p ${prev:h} mkdir -p ${prev:h}
...@@ -115,7 +114,7 @@ function _per-directory-history-addhistory() { ...@@ -115,7 +114,7 @@ function _per-directory-history-addhistory() {
function _per-directory-history-set-directory-history() { function _per-directory-history-set-directory-history() {
if [[ $_per_directory_history_is_global == true ]]; then if [[ $_per_directory_history_is_global == true ]]; then
fc -AI $_per_directory_history_global fc -AI $HISTFILE
local original_histsize=$HISTSIZE local original_histsize=$HISTSIZE
HISTSIZE=0 HISTSIZE=0
HISTSIZE=$original_histsize HISTSIZE=$original_histsize
...@@ -131,8 +130,8 @@ function _per-directory-history-set-global-history() { ...@@ -131,8 +130,8 @@ function _per-directory-history-set-global-history() {
local original_histsize=$HISTSIZE local original_histsize=$HISTSIZE
HISTSIZE=0 HISTSIZE=0
HISTSIZE=$original_histsize HISTSIZE=$original_histsize
if [[ -e "$_per_directory_history_global" ]]; then if [[ -e "$HISTFILE" ]]; then
fc -R "$_per_directory_history_global" fc -R "$HISTFILE"
fi fi
fi fi
_per_directory_history_is_global=true _per_directory_history_is_global=true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment