From: David Koppelman <koppel@ece.lsu.edu>
To: Jambunathan K <kjambunathan@gmail.com>
Cc: 13686@debbugs.gnu.org
Subject: bug#13686: hi-yellow vs. hi-lock-1
Date: Wed, 10 Apr 2013 13:33:37 -0500 [thread overview]
Message-ID: <yg5r4iiutfi.fsf@sky.ece.lsu.edu> (raw)
In-Reply-To: <87y5cttwpw.fsf@gmail.com> (Jambunathan K.'s message of "Mon, 08 Apr 2013 11:01:07 +0530")
Jambunathan K <kjambunathan@gmail.com> writes:
> Let me propose a new scheme which will work as below.
...
I'm not sure I understand the point. I'm pretty sure you are not
suggesting that the hi-lock commands be replaced by something like
highlight-other-matches to be used after a sequence of facemenu
commands. That would be too cumbersome.
Stefan's concise face description format sounds reasonable, especially
since it could be used in other modes maybe through a function like
(concise-face-get-face STR) that creates a new face or returns an
existing one. That would avoid loading hi-lock with unneeded
complexity.
I think there are more useful improvements than face handling that can
be made to hi-lock. For example, a way to save highlighting patterns in
a separate file.
Jambunathan K <kjambunathan@gmail.com> writes:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>> How 'bout designing a concise "face description" format, so that instead
>> of choosing "hi-yellow", the user can choose (say) "b:yellow",
>> "f:blue", or "s:bold". This would give access to "any color", and in
>> order not to overwhelm the user, the completion would default to only
>> completing among a predefined set (corresponding to the current
>> predefined faces)?
>
> I was trying to refine this line of thought. It leads to facemenu.el,
> specifically `facemenu-set-foreground' and `facemenu-set-background'.
>
> Stay with me, as I explain.
>
> ----------------------------------------------------------------
>
> Currently highlighting works as follows:
>
> 1. Choose a regexp via minibuffer
> 2. Choose a face via minibuffer
> 3. Decorate the buffer via font lock keywords.
>
> Let me call this model, "Tell and Do". Highlighting is explicitly
> "Told" via minibuffer.
>
> ----------------------------------------------------------------
>
> Let me propose a new scheme which will work as below.
>
> 1. Mark a word or a symbol under point
> C-M-@
>
> 2. Decorate region which is but a instance to be highlighted
>
> M-x facemenu-set-foreground RET
> M-x facemenu-set-background RET
> M-x facemenu-set-bold RET
> & co.
>
> 3. Highlight
> M-s h r or C-x w h.
>
> Face properties used for highlighting will be use results determined
> by 2.
>
> This model is "Show and Tell". Face properties of highlighting are
> "Shown" right in the buffer that is edited (as opposed to a minibuffer
> prompt) and highlighting library infers the face properties based on
> text at point.
>
> ----------------------------------------------------------------
>
> There is a functional parity between `hi-lock-face-defaults' and
> `facemenu-listed-faces'.
>
> ----------------------------------------------------------------
>
> Problem statement/Possible way ahead
> ====================================
>
> Of course facemenu.el, "works" only for certain modes.
>
> More specifically it works only for those modes that defines a
> `facemenu-enable-faces-p'. The notion of persistence of face properties
> (as in serializing/encoding face properties in to the edited text) is
> "in built" in to facemenu.el.
>
> I have more ideas on how facemenu.el can play nicely with other
> libraries. I will dump my thoughts in a separate bug report.
>
> ----------------------------------------------------------------
next prev parent reply other threads:[~2013-04-10 18:33 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-11 6:14 bug#13686: 24.3.50; Re-look hi-lock-face-defaults (aka Provide more "core" faces for highlighting) Jambunathan K
2013-02-15 15:03 ` Stefan Monnier
2013-02-15 18:29 ` David Koppelman
2013-02-15 20:39 ` Stefan Monnier
2013-02-26 23:11 ` bug#13686: hi-yellow vs. hi-lock-1 David Koppelman
2013-02-27 0:33 ` Drew Adams
2013-02-27 1:35 ` Stefan Monnier
2013-02-27 3:59 ` Jambunathan K
2013-02-27 4:58 ` Drew Adams
2013-02-27 5:10 ` Jambunathan K
2013-02-27 5:38 ` Drew Adams
2013-02-27 5:54 ` Jambunathan K
2013-02-27 6:01 ` Drew Adams
2013-02-27 23:45 ` Juri Linkov
2013-03-06 18:43 ` Jambunathan K
2013-03-06 19:54 ` David Koppelman
2013-03-07 9:16 ` Juri Linkov
2013-03-06 19:04 ` Jambunathan K
2013-02-27 3:49 ` Jambunathan K
2013-02-27 13:46 ` Stefan Monnier
2013-02-27 14:56 ` Jambunathan K
2013-02-27 16:27 ` Stefan Monnier
2013-03-06 18:56 ` Jambunathan K
2013-03-06 19:55 ` David Koppelman
2013-03-06 20:06 ` Jambunathan K
2013-03-07 0:54 ` David Koppelman
2013-03-07 3:23 ` Jambunathan K
2013-03-09 1:33 ` Stefan Monnier
2013-03-09 2:47 ` Jambunathan K
2013-03-09 3:26 ` Stefan Monnier
2013-04-08 5:31 ` Jambunathan K
2013-04-10 4:11 ` Jambunathan K
2013-04-10 18:33 ` David Koppelman [this message]
2013-04-11 4:24 ` Jambunathan K
2013-02-27 3:36 ` Jambunathan K
2013-02-27 4:08 ` Jambunathan K
2013-11-15 4:45 ` bug#13686: 24.3.50; Re-look hi-lock-face-defaults (aka Provide more "core" faces for highlighting) Jambunathan K
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=yg5r4iiutfi.fsf@sky.ece.lsu.edu \
--to=koppel@ece.lsu.edu \
--cc=13686@debbugs.gnu.org \
--cc=kjambunathan@gmail.com \
/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).