emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] [PATCH] Add faces customization to quote and verse blocks


From: Carsten Dominik
Subject: Re: [Orgmode] [PATCH] Add faces customization to quote and verse blocks
Date: Wed, 18 Nov 2009 23:54:14 +0100

Hi Julien,

I have applied your patch but modified it, also to keep it under the "fsf copyright assignment needed" limit. Would you consider to sign those papers for future patches?

Thanks.

- Carsten

On Nov 12, 2009, at 4:41 PM, Julien Barnier wrote:

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.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

- Carsten







reply via email to

[Prev in Thread] Current Thread [Next in Thread]