From: Julien Barnier <julien@no-log.org>
To: emacs-orgmode@gnu.org
Subject: [PATCH] Add faces customization to quote and verse blocks
Date: Thu, 12 Nov 2009 16:41:38 +0100 [thread overview]
Message-ID: <877htv9203.fsf@z.nozav.org> (raw)
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
next reply other threads:[~2009-11-12 15:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-12 15:41 Julien Barnier [this message]
2009-11-17 15:28 ` [PATCH] Add faces customization to quote and verse blocks Julien Barnier
2009-11-17 15:38 ` Carsten Dominik
2009-11-17 15:43 ` Carsten Dominik
2009-11-18 22:54 ` Carsten Dominik
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877htv9203.fsf@z.nozav.org \
--to=julien@no-log.org \
--cc=emacs-orgmode@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.