Browse Source

adding faces for block backgrounds and begin/end lines

  Patch by Sébastien Vauban
  Committed by Eric Schulte with one tiny change
Eric Schulte 14 years ago
parent
commit
27d98d8793
2 changed files with 20 additions and 8 deletions
  1. 10 1
      lisp/org-faces.el
  2. 10 7
      lisp/org.el

+ 10 - 1
lisp/org-faces.el

@@ -1,6 +1,6 @@
 ;;; org-faces.el --- Face definitions for Org-mode.
 
-;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
@@ -511,6 +511,15 @@ follows a #+DATE:, #+AUTHOR: or #+EMAIL: keyword."
   :group 'org-faces
   :version "22.1")
 
+(defface org-block-background '((t ()))
+  "Face used for the source block background.")
+
+(org-copy-face 'org-meta-line 'org-block-begin-line
+  "Face used for the line delimiting the begin of source blocks.")
+
+(org-copy-face 'org-meta-line 'org-block-end-line
+  "Face used for the line delimiting the end of source blocks.")
+
 (defface org-verbatim
   (org-compatible-face 'shadow
     '((((class color grayscale) (min-colors 88) (background light))

+ 10 - 7
lisp/org.el

@@ -1,6 +1,6 @@
 ;;; org.el --- Outline-based notes management and organizer
 ;; Carstens outline-mode for keeping track of everything.
-;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   Free Software Foundation, Inc.
 ;;
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
@@ -5146,16 +5146,19 @@ will be prompted for."
 					; for end_src
 	      (cond
 	       ((and lang org-src-fontify-natively)
-		(org-src-font-lock-fontify-block lang block-start block-end))
+		(org-src-font-lock-fontify-block lang block-start block-end)
+                (overlay-put (make-overlay beg1 block-end)
+                             'face 'org-block-background))
 	       (quoting
-		(add-text-properties beg1 (+ end1 1) '(face
-						       org-block)))
+		(add-text-properties beg1 (+ end1 1) '(face org-block)))
 					; end of source block
 	       ((not org-fontify-quote-and-verse-blocks))
 	       ((string= block-type "quote")
-		(add-text-properties beg1 end1 '(face org-quote)))
+		(add-text-properties beg1 (1+ end1) '(face org-quote)))
 	       ((string= block-type "verse")
-		(add-text-properties beg1 end1 '(face org-verse))))
+		(add-text-properties beg1 (1+ end1) '(face org-verse))))
+      	      (add-text-properties beg beg1 '(face org-block-begin-line))
+      	      (add-text-properties (1+ end) (1+ end1) '(face org-block-end-line))
 	      t))
 	   ((member dc1 '("title:" "author:" "email:" "date:"))
 	    (add-text-properties
@@ -5171,7 +5174,7 @@ will be prompted for."
 	   ((not (member (char-after beg) '(?\  ?\t)))
 	    ;; just any other in-buffer setting, but not indented
 	    (add-text-properties
-	     beg (match-end 0)
+	     beg (1+ (match-end 0))
 	     '(font-lock-fontified t face org-meta-line))
 	    t)
 	   ((or (member dc1 '("begin:" "end:" "caption:" "label:"