Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zshaddhistory confusion
On Mon, 26 Sep 2011, Jay Levitt wrote:
In addition to my normal zsh history, I want to write to a
.zsh_history_detail file with comments showing date, pwd, etc. I'm
trying
function zshaddhistory() {
print -sr -- ${1%%\n'}
${1%%\n'} -> ${1%%$'\n'}
fc -p .zsh_history_detail
print -sr "${1%%\n'} ### ${PWD} `date '+%Y-%m-%d %R'`"
same here: missing $' before the \n'
}
but it now
1. writes what looks like a pid into .zsh_history, and
2. puts both the normal AND the detailed history into .zsh_history_detail.
I am probably misunderstanding the fairly terse zshaddhistory docs.
Any hints?
It's mostly the missing syntax. But, you also somewhat
counterintuitively also have to return 1, so that zsh doesn't append an
implicit:
print -sr -- "${1%%$'\n'}"
If you return a true value, the shell thinks you've done what you want
to do and that it should log the line normally. Also, I added ~/ (the
example in the docs is to have a per-directory history file).
zshaddhistory () {
print -sr -- "${1%%$'\n'}"
fc -p ~/.zsh_history_detail
print -sr -- "${1%%$'\n'} ### ${PWD} $(date '+%Y-%m-%d %R')"
return 1
}
The following doesn't seem to work, though I'd have thought it would
based on the documentation...
zshaddhistory () {
fc -p ~/.zsh_history_detail
print -sr -- "${1%%$'\n'} ### ${PWD} $(date '+%Y-%m-%d %R')"
fc -P
}
--
Best,
Ben
Messages sorted by:
Reverse Date,
Date,
Thread,
Author