From: Roman Perepelitsa <roman.perepelitsa@gmail.com>
To: Ray Andrews <rayandrews@eastlink.ca>
Cc: zsh-users@zsh.org
Subject: Re: coloring substitution seems to eat next line.
Date: Thu, 10 Nov 2022 19:36:24 +0100 [thread overview]
Message-ID: <CAN=4vMoDkfG=SgpLjreoWZhwrhfEucGgeiKoRXB+ZQgi=nHohA@mail.gmail.com> (raw)
In-Reply-To: <549715c2-8b36-8b7e-e3ac-cac02f43dd0f@eastlink.ca>
On Thu, Nov 10, 2022 at 7:25 PM Ray Andrews <rayandrews@eastlink.ca> wrote:
>
> On 2022-11-10 00:02, Roman Perepelitsa wrote:
>
> > Differences in the second version compared to the first:
> Sorry about the sloppy code Roman, the differences there don't matter
> but you have no way of knowing that.
> > - aa instead of $aa
> Does that matter? I thought it was one of those situations where the
> dollar sign is optional.
It matters if cc is an associative array. Given that you've
(accidentally) used slice assignment with cc, it cannot be an
associative array.
> > - slice assignment instead of scalar (almost certainly unintended)
> I've never heard of slice assignment :(
These two aren't the same:
cc[42]="foo bar"
cc[42]=(foo bar)
The second is a slice assignment.
> > This means you can replace
> > the whole loop with this:
> >
> > local MATCH MBEGIN MEND
> > cc=(${cc//(#m)$~zsh_case$filter/$'\e[31;1m'$MATCH$'\e[0m'})
>
> Unfortunately not. That works as you intend, but I need to filter not
> just colorize. Any line without all matches must be deleted
You can filter beforehand like this:
cc=(${(M)cc:#*$filter*})
This assumes that $filter doesn't have metacharacters. If it does and
you want to treat them as such, use $~filter.
Roman.
next prev parent reply other threads:[~2022-11-10 18:37 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-10 0:43 Ray Andrews
2022-11-10 8:02 ` Roman Perepelitsa
2022-11-10 18:25 ` Ray Andrews
2022-11-10 18:36 ` Roman Perepelitsa [this message]
2022-11-10 18:45 ` Ray Andrews
2022-11-10 18:54 ` Bart Schaefer
2022-11-10 19:28 ` Ray Andrews
2022-11-10 20:22 ` Bart Schaefer
2022-11-10 21:42 ` Ray Andrews
2022-11-10 21:51 ` Roman Perepelitsa
2022-11-11 17:24 ` Ray Andrews
2022-11-10 22:47 ` Bart Schaefer
2022-11-10 23:07 ` Ray Andrews
2022-11-10 23:27 ` Bart Schaefer
2022-11-11 15:00 ` Ray Andrews
2022-11-11 18:15 ` Bart Schaefer
2022-11-11 18:50 ` Ray Andrews
2022-11-11 19:25 ` Bart Schaefer
2022-11-11 21:26 ` Ray Andrews
2022-11-12 4:24 ` Bart Schaefer
2022-11-12 14:03 ` Ray Andrews
2022-11-13 15:09 ` Ray Andrews
2022-11-14 14:12 ` Roman Perepelitsa
2022-11-14 17:08 ` Ray Andrews
2022-11-14 17:12 ` Roman Perepelitsa
2022-11-14 18:58 ` Ray Andrews
2022-11-14 20:00 ` Bart Schaefer
2022-11-14 23:25 ` Ray Andrews
2022-11-15 14:17 ` Belaboring substitution syntax Ray Andrews
2022-11-16 1:49 ` Bart Schaefer
2022-11-16 2:54 ` Ray Andrews
2022-11-16 6:26 ` Bart Schaefer
2022-11-16 14:08 ` Ray Andrews
2022-11-16 14:13 ` Roman Perepelitsa
2022-11-17 2:31 ` Bart Schaefer
2022-11-17 8:59 ` Roman Perepelitsa
2022-11-17 16:02 ` Ray Andrews
2022-11-16 20:46 ` Ray Andrews
2022-11-16 10:32 ` Roman Perepelitsa
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='CAN=4vMoDkfG=SgpLjreoWZhwrhfEucGgeiKoRXB+ZQgi=nHohA@mail.gmail.com' \
--to=roman.perepelitsa@gmail.com \
--cc=rayandrews@eastlink.ca \
--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).