emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Julien Barnier <julien@no-log.org>
Cc: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Add faces customization to quote and verse blocks
Date: Wed, 18 Nov 2009 23:54:14 +0100	[thread overview]
Message-ID: <49D54409-FC27-4AE9-ABC8-7122C039616A@gmail.com> (raw)
In-Reply-To: <877htv9203.fsf@z.nozav.org>

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

- Carsten

      parent reply	other threads:[~2009-11-18 22:54 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-12 15:41 [PATCH] Add faces customization to quote and verse blocks Julien Barnier
2009-11-17 15:28 ` Julien Barnier
2009-11-17 15:38   ` Carsten Dominik
2009-11-17 15:43   ` Carsten Dominik
2009-11-18 22:54 ` Carsten Dominik [this message]

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

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49D54409-FC27-4AE9-ABC8-7122C039616A@gmail.com \
    --to=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=julien@no-log.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 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).