notmuch/emacs
Austin Clements 60ebc84945 emacs: Use text properties instead of overlays for tag coloring
Previously, tag-based search result highlighting was done by creating
an overlay over each search result.  However, overlays have annoying
front- and rear-advancement semantics that make it difficult to
manipulate text at their boundaries, which the next patch will do.
They also have performance problems (creating an overlay is linear in
the number of overlays between point and the new overlay, making
highlighting a search buffer quadratic in the number of results).

Text properties have neither problem.  However, text properties make
it more difficult to apply multiple faces since, unlike with overlays,
a given character can only have a single 'face text property.  Hence,
we introduce a utility function that combines faces into any existing
'face text properties.

Using this utility function, it's straightforward to apply all of the
appropriate tag faces in notmuch-search-color-line.
2012-07-24 09:04:38 -03:00
..
coolj.el emacs: Add more functions to clean up text/plain parts 2010-04-26 10:05:46 -07:00
Makefile fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
Makefile.local emacs: create notmuch-tag.el, and move appropriate functions from notmuch.el 2012-04-29 17:39:37 -03:00
notmuch-address.el emacs: globally replace non-branching "(if (not ..." with "(unless ..." 2012-01-21 08:17:56 -04:00
notmuch-crypto.el Spelling fix 2012-03-01 19:04:21 -04:00
notmuch-hello.el emacs: fix custom queries section customization widget in notmuch-hello 2012-05-06 19:44:55 -03:00
notmuch-lib.el emacs: Use text properties instead of overlays for tag coloring 2012-07-24 09:04:38 -03:00
notmuch-logo.png emacs: Add notmuch-hello.el, a friendly frontend to notmuch 2010-04-23 12:50:18 -07:00
notmuch-maildir-fcc.el emacs: derive correct timestamp in FCC unique name 2012-06-22 07:39:21 -03:00
notmuch-message.el emacs: Fix notmuch-message-mark-replied. 2012-07-24 09:01:26 -03:00
notmuch-mua.el emacs: Do not pass stderr of notmuch reply to JSON parser 2012-05-06 08:49:38 -03:00
notmuch-print.el emacs: Put notmuch-print-mechanism in custom group notmuch-show 2012-04-24 23:25:51 -03:00
notmuch-query.el emacs: Add support for PGP/MIME verification/decryption 2011-05-27 16:22:00 -07:00
notmuch-show.el emacs: make elide messages use notmuch-show for omitting messages. 2012-06-29 22:33:31 -03:00
notmuch-tag.el emacs: allow notmuch-tag to accept string inputs and prompt for tags 2012-04-29 17:41:35 -03:00
notmuch-wash.el emacs: Add configurable wrapping width for notmuch-wash-wrap-long-lines 2012-06-29 22:38:52 -03:00
notmuch.el emacs: Use text properties instead of overlays for tag coloring 2012-07-24 09:04:38 -03:00