unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Lennart Borgman <lennart.borgman@gmail.com>
To: Juri Linkov <juri@jurta.org>
Cc: 6227@debbugs.gnu.org
Subject: bug#6227: Color isearch regexp submatches differently
Date: Wed, 9 Jun 2010 11:14:03 +0200	[thread overview]
Message-ID: <AANLkTilwC3QBYmtzPg3zrDoD44deoBsD5rxxP-dNhxnH@mail.gmail.com> (raw)
In-Reply-To: <8739ww1tjp.fsf@mail.jurta.org>

On Wed, Jun 9, 2010 at 10:36 AM, Juri Linkov <juri@jurta.org> wrote:
>> Here is a patch for the submatches highlighting.
>> (It includes a bug fix for the prompt face too
>
> What's a bug in the prompt face?


There is a variable, minibuffer-prompt-properties, that holds the name
of the face to use. I think this should be used for consistency. It
makes it much easier for users.


>> and a help window scrolling I think is useful.)
>
> Please provide an example of the scrolling bug too.


I am not sure on that one. Maybe I just forgot to remove it when you
implemented your way of doing it?


>> The current faces does not look very well together so that must be fixed.
>
> If current faces does not look well, then maybe we should completely
> get rid of using re-builder.el in isearch, its faces and messy functions
> like count-subexps, and to write this functionality for isearch from scratch.


I thought maybe something like count-subexps is needed now with the
numbered submatches.


> Do you think something more complicated is necessary for this
> functionality than the following simple code:
>
> (defvar isearch-sub-overlays nil)
> (add-hook 'isearch-update-post-hook
>          (lambda ()
>            ;; This code could be added to `isearch-highlight'.
>            (mapc 'delete-overlay isearch-sub-overlays)
>            (setq isearch-sub-overlays nil)
>            (when isearch-regexp
>              (dolist (i '(1 2 3 4))
>                (when (match-beginning i)
>                  (let ((ov (make-overlay (match-beginning i) (match-end i))))
>                    (overlay-put ov 'face (intern-soft (format "isearch-%d" i)))
>                    (overlay-put ov 'priority 1002)
>                    (push ov isearch-sub-overlays)))))))


It does not take care of numbered matches. But, yes, why not guess? I
agree, your approach is probably better. But check for more
submatches. Maybe upto the value of some variable, say
isearch-max-submatch-num.


> It relies on new faces `isearch-1', `isearch-2', `isearch-3', `isearch-4'.
> As for face colors, I tried "magenta1", "magenta2", "magenta3", "magenta4"
> for background colors, and they look good.


The problem with mixing isearch faces with re-builder dito was the
resulting colors from merging. If it works then just use your
suggestions.

I  have rewritten re-builder.el and got rid of its internal. Just need
to cleanup a bit. Now it is just a front end to isearch with more
editing capabilities, like rx. I think that can be useful.

I plan to keep three "regexp source styles" there and maybe rename
them a bit: regexp, string (or maybe read) and rx. I think those names
are self explanatory. Unfortunately re-builder now uses string/read
instead of regexp/string which is more user-level names.





  reply	other threads:[~2010-06-09  9:14 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-20 11:01 bug#6227: Color isearch regexp submatches differently Lennart Borgman
2010-05-20 13:21 ` Drew Adams
2010-05-20 13:28   ` Lennart Borgman
2010-05-20 13:33     ` Drew Adams
2010-05-20 15:02       ` Drew Adams
2010-05-21  0:07 ` Juri Linkov
2010-05-21  1:19   ` Lennart Borgman
2010-05-22 23:44     ` Juri Linkov
2010-05-23  0:51       ` Lennart Borgman
2010-05-23  0:54         ` Juri Linkov
2010-05-23 10:04           ` Lennart Borgman
2010-05-23 16:12             ` Juri Linkov
2010-05-23 16:40               ` Lennart Borgman
2010-06-08 13:37                 ` Lennart Borgman
2010-06-09  8:36                   ` Juri Linkov
2010-06-09  9:14                     ` Lennart Borgman [this message]
2010-06-10 15:28                       ` Juri Linkov
2010-06-10 15:52                         ` Lennart Borgman
2010-06-10 20:52                         ` Juri Linkov
2010-06-10 21:41                           ` Lennart Borgman
2010-06-11  0:44                             ` Stefan Monnier
2010-06-11  8:17                               ` Juri Linkov
2020-09-19 21:29                           ` Lars Ingebrigtsen
2020-09-19 22:19                             ` Drew Adams
2020-09-20  5:39                             ` Eli Zaretskii
2020-09-20  9:41                               ` Lars Ingebrigtsen
2020-09-20  9:53                                 ` Eli Zaretskii
2020-09-20 10:04                                   ` Lars Ingebrigtsen
2020-09-20 13:47                                     ` Lars Ingebrigtsen
2020-09-20 14:18                                       ` Eli Zaretskii
2020-09-20 19:45                                         ` Lars Ingebrigtsen
2020-09-20 20:25                                           ` Drew Adams
2020-09-21  2:25                                           ` Eli Zaretskii
2020-09-21 13:48                                             ` Lars Ingebrigtsen
2020-09-20 16:41                                     ` Drew Adams
2020-09-20 16:45                                       ` Eli Zaretskii
     [not found] <<AANLkTikUlBKGt388RPJkU8tM6A_fpMPsTkvo6cbI3D56@mail.gmail.com>
     [not found] ` <<87bpca15ja.fsf@mail.jurta.org>
     [not found]   ` <<AANLkTilV0TlRQRCC7-uAuspGAwTYhMySTbh4dOjKIDM0@mail.gmail.com>
     [not found]     ` <<87wruv1ohr.fsf@mail.jurta.org>
     [not found]       ` <<AANLkTimRAHa4K6FlX_952j3s2saDmcXMIbDOYx9xk8Fh@mail.gmail.com>
     [not found]         ` <<877hmvtn9t.fsf@mail.jurta.org>
     [not found]           ` <<AANLkTiljPa2oALTtTabtFb3_KHhPB9NNqnKzXZWIh_v4@mail.gmail.com>
     [not found]             ` <<874ohyppfs.fsf@mail.jurta.org>
     [not found]               ` <<AANLkTilPUyzW5lCEdQv-WD6_0WdVbDiofmN34UHMVLNA@mail.gmail.com>
     [not found]                 ` <<AANLkTileYK0D0RTKAePLbax_9o9JbgNlpuNXbLBzBssY@mail.gmail.com>
     [not found]                   ` <<8739ww1tjp.fsf@mail.jurta.org>
     [not found]                     ` <<AANLkTilwC3QBYmtzPg3zrDoD44deoBsD5rxxP-dNhxnH@mail.gmail.com>
     [not found]                       ` <<87d3vyaodq.fsf@mail.jurta.org>
     [not found]                         ` <<87hbla4nl4.fsf@mail.jurta.org>
     [not found]                           ` <<87mu1llak3.fsf@gnus.org>
     [not found]                             ` <<83lfh50zxa.fsf@gnu.org>
     [not found]                               ` <<87eemwss3t.fsf@gnus.org>
     [not found]                                 ` <<834kns22q2.fsf@gnu.org>
     [not found]                                   ` <<87sgbcrcgd.fsf@gnus.org>
     [not found]                                     ` <<874knso90e.fsf@gnus.org>
     [not found]                                       ` <<83pn6gzg3j.fsf@gnu.org>
     [not found]                                         ` <<87363ckza5.fsf@gnus.org>
     [not found]                                           ` <<835z87zx16.fsf@gnu.org>
2020-09-21  4:49                                             ` Drew Adams

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTilwC3QBYmtzPg3zrDoD44deoBsD5rxxP-dNhxnH@mail.gmail.com \
    --to=lennart.borgman@gmail.com \
    --cc=6227@debbugs.gnu.org \
    --cc=juri@jurta.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.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).