From: "Benjamin R. Haskell" <zsh@benizi.com>
To: Jay Levitt <jay.levitt@gmail.com>
Cc: zsh-users@zsh.org
Subject: Re: zshaddhistory confusion
Date: Mon, 26 Sep 2011 23:01:47 -0400 (EDT) [thread overview]
Message-ID: <alpine.LNX.2.01.1109261658500.10525@hp.internal> (raw)
In-Reply-To: <CANSg5mq_7ntWK6XmAih9H0Lx1qUh0fcKARHJhSXwp-4zREXJjA@mail.gmail.com>
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
next prev parent reply other threads:[~2011-09-27 3:12 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-26 17:11 Jay Levitt
2011-09-27 3:01 ` Benjamin R. Haskell [this message]
2011-09-27 14:17 ` Bart Schaefer
2011-09-28 4:11 ` Benjamin R. Haskell
2011-10-01 20:44 ` Jay Levitt
2011-10-01 21:24 ` Benjamin R. Haskell
2011-10-02 0:21 ` Geoff Wing
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LNX.2.01.1109261658500.10525@hp.internal \
--to=zsh@benizi.com \
--cc=jay.levitt@gmail.com \
--cc=zsh-users@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).