emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Highlighting current header and its contents
@ 2010-03-21 15:51 Tom
  2010-03-21 17:59 ` Dan Davison
  0 siblings, 1 reply; 3+ messages in thread
From: Tom @ 2010-03-21 15:51 UTC (permalink / raw)
  To: emacs-orgmode

One of my main gripes with orgmode is often I cannot make out
clearly when the text content of an opened header ends and the
next header begins, because there is no apparent visual
indication.

Of course, I can add empty lines manually to the end of the
content, but this solution is not really satisfying (I don't need
empty lines there, I add them only to see better where the
content ends).

I'm still thinking of a proper solution for this problem, but I'm
posting one of my attempts for the time being which some may find
useful. It highlights the header the cursor is in and its contents with a
different background color:


(make-variable-buffer-local 'my-org-highlight-overlay)

(add-hook 'post-command-hook 'my-org-highlight)


(defun my-org-highlight ()
  (when (and (eq major-mode 'org-mode)
             (sit-for 0.1))
    (unless my-org-highlight-overlay
      (setq my-org-highlight-overlay (make-overlay 0 0))
      (overlay-put my-org-highlight-overlay 'face '(:background "azure")))

    (let ((header (save-excursion
                    (beginning-of-line)
                    (looking-at outline-regexp))))

      (move-overlay my-org-highlight-overlay
                    (save-excursion
                      (if header
                          (beginning-of-line)
                        (outline-previous-visible-heading 1))
                      (point))
                    (save-excursion
                      (outline-next-visible-heading 1)
                      (point))))))

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-03-21 18:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-21 15:51 Highlighting current header and its contents Tom
2010-03-21 17:59 ` Dan Davison
2010-03-21 18:22   ` Tom

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.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).