Hi, Here is a small patch that allows to add custom faces to QUOTE and VERSE blocks. As I'm quite new to emacs lisp and as it is the first time I submit a patch to a project, please feel free to correct or reject it if its form or quality is not sufficient.
Thanks a lot for all your work on org-mode ! Julien --- lisp/org-faces.el | 28 ++++++++++++++++++++++++++++ lisp/org.el | 15 +++++++++++---- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/lisp/org-faces.el b/lisp/org-faces.el index 4543d38..fbac871 100644 --- a/lisp/org-faces.el +++ b/lisp/org-faces.el @@ -468,6 +468,34 @@ changes." :group 'org-faces :version "22.1") +(defface org-quote + (org-compatible-face nil + '((((class color grayscale) (min-colors 88) (background light)) + (:foreground "grey50" :slant italic)) + (((class color grayscale) (min-colors 88) (background dark)) + (:foreground "grey70" :slant italic)) + (((class color) (min-colors 8) (background light)) + (:foreground "green" :slant italic)) + (((class color) (min-colors 8) (background dark)) + (:foreground "yellow" :slant italic)))) + "Face for #+BEGIN_QUOTE ... #+END_QUOTE blocks." + :group 'org-faces + :version "22.1") + +(defface org-verse + (org-compatible-face nil + '((((class color grayscale) (min-colors 88) (background light)) + (:foreground "grey50" :slant italic)) + (((class color grayscale) (min-colors 88) (background dark)) + (:foreground "grey70" :slant italic)) + (((class color) (min-colors 8) (background light)) + (:foreground "green" :slant italic)) + (((class color) (min-colors 8) (background dark)) + (:foreground "yellow" :slant italic)))) + "Face for #+BEGIN_VERSE ... #+END_VERSE blocks." + :group 'org-faces + :version "22.1") + (defface org-clock-overlay ;; copied from secondary-selection (org-compatible-face nil '((((class color) (min-colors 88) (background light)) diff --git a/lisp/org.el b/lisp/org.el index 5562d8d..adabfa8 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -4518,7 +4518,7 @@ will be prompted for." (beg1 (line-beginning-position 2)) (dc1 (downcase (match-string 2))) (dc3 (downcase (match-string 3))) - end end1 quoting) + end end1 quoting block-type quote-block verse-block) (cond ((member dc1 '("html:" "ascii:" "latex:" "docbook:")) ;; a single line of backend-specific content @@ -4532,8 +4532,10 @@ will be prompted for." t) ((and (match-end 4) (equal dc3 "begin")) ;; Truely a block - (setq quoting (member (downcase (match-string 5)) - org-protecting-blocks)) + (setq block-type (downcase (match-string 5)) + quoting (member block-type org-protecting-blocks) + quote-block (equal block-type "quote") + verse-block (equal block-type "verse")) (when (re-search-forward (concat "^[ \t]*#\\+end" (match-string 4) "\\>.*") nil t) ;; on purpose, we look further than LIMIT @@ -4546,8 +4548,13 @@ will be prompted for." '(font-lock-fontified t font-lock-multiline t)) (add-text-properties beg beg1 '(face org-meta-line)) (add-text-properties end1 end '(face org-meta-line)) - (when quoting + (cond + (quoting (add-text-properties beg1 end1 '(face org-block))) + (quote-block + (add-text-properties beg1 end1 '(face org-quote))) + (verse-block + (add-text-properties beg1 end1 '(face org-verse)))) t)) ((not (member (char-after beg) '(?\ ?\t))) ;; just any other in-buffer setting, but not indented -- 1.6.5.2 _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode