[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org-modern dd7d45878f 41/65: Do not add fringes to bloc
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org-modern dd7d45878f 41/65: Do not add fringes to blocks when org-indent-mode is enabled (See #7) |
Date: |
Mon, 7 Mar 2022 12:57:47 -0500 (EST) |
branch: externals/org-modern
commit dd7d45878f04c8aa9872ba6f6b4fb638dcba3032
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Do not add fringes to blocks when org-indent-mode is enabled (See #7)
---
org-modern.el | 59 +++++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 39 insertions(+), 20 deletions(-)
diff --git a/org-modern.el b/org-modern.el
index b9678d2c1f..df42114ac7 100644
--- a/org-modern.el
+++ b/org-modern.el
@@ -389,23 +389,48 @@ Set to nil to disable the indicator."
(put-text-property i (1+ i) 'display
(if (= 0 (mod i 2)) sp1 sp2)))))))))
-(defun org-modern--block ()
- "Prettify blocks."
- (save-excursion
- (goto-char (match-beginning 0))
- (forward-line)
- (while (not (or (eobp)
- (save-excursion
- (let ((case-fold-search t))
- (re-search-forward
- "^[ \t]*#\\+end_" (line-end-position) 'noerror)))))
+
+(define-fringe-bitmap 'org-modern--block-inner (make-vector 1 #x80) nil nil
'(top t))
+(define-fringe-bitmap 'org-modern--block-begin (vconcat (make-vector 20 0)
[#xFF] (make-vector 107 #x80)) nil nil 'top)
+(define-fringe-bitmap 'org-modern--block-end (vconcat (make-vector 107 #x80)
[#xFF] (make-vector 20 0)) nil nil 'bottom)
+(defun org-modern--block-fringe ()
+ "Prettify blocks with fringe bitmaps."
+ ;; Do not add source block fringe markers if org-indent-mode is
+ ;; enabled. org-indent-mode uses line prefixes for indentation.
+ ;; Therefore we cannot have both.
+ (unless (bound-and-true-p org-indent-mode)
+ (save-excursion
+ (goto-char (match-beginning 0))
(add-text-properties
(point) (min (1+ (line-end-position)) (point-max))
'(wrap-prefix
- #(" " 0 1 (display (left-fringe org-modern--line
org-block-begin-line)))
+ #(" " 0 1 (display (left-fringe org-modern--block-begin
org-block-begin-line)))
line-prefix
- #(" " 0 1 (display (left-fringe org-modern--line
org-block-begin-line)))))
- (forward-line))))
+ #(" " 0 1 (display (left-fringe org-modern--block-begin
org-block-begin-line)))))
+ (forward-line)
+ (while
+ (cond
+ ((eobp) nil)
+ ((save-excursion
+ (let ((case-fold-search t))
+ (re-search-forward
+ "^[ \t]*#\\+end_" (line-end-position) 'noerror)))
+ (add-text-properties
+ (point) (min (1+ (line-end-position)) (point-max))
+ '(wrap-prefix
+ #(" " 0 1 (display (left-fringe org-modern--block-end
org-block-begin-line)))
+ line-prefix
+ #(" " 0 1 (display (left-fringe org-modern--block-end
org-block-begin-line)))))
+ nil)
+ (t
+ (add-text-properties
+ (point) (min (1+ (line-end-position)) (point-max))
+ '(wrap-prefix
+ #(" " 0 1 (display (left-fringe org-modern--block-inner
org-block-begin-line)))
+ line-prefix
+ #(" " 0 1 (display (left-fringe org-modern--block-inner
org-block-begin-line)))))
+ (forward-line)
+ t))))))
;;;###autoload
(define-minor-mode org-modern-mode
@@ -445,13 +470,11 @@ Set to nil to disable the indicator."
(when org-modern-table
'(("^[ \t]*\\(|.*|\\)[ \t]*$" (0 (org-modern--table)))))
(when org-modern-block
- '(("^[ \t]*#\\+\\(?:begin\\|BEGIN\\)_\\S-" (0 (org-modern--block)))
+ '(("^[ \t]*#\\+\\(?:begin\\|BEGIN\\)_\\S-" (0
(org-modern--block-fringe)))
("^\\([ \t]*#\\+\\(?:begin\\|BEGIN\\)_\\)\\(\\S-+\\).*"
- (0 '(face nil line-prefix #("│" 0 1 (display (left-fringe
org-modern--top org-block-begin-line)))))
(1 '(face nil display (space :width (3))))
(2 'org-modern-block-keyword append))
("^\\([ \t]*#\\+\\(?:end\\|END\\)_\\)\\(\\S-+\\).*"
- (0 '(face nil line-prefix #("│" 0 1 (display (left-fringe
org-modern--bottom org-block-end-line)))))
(1 '(face nil display (space :width (3))))
(2 'org-modern-block-keyword append))))
(when org-modern-tag
@@ -480,9 +503,5 @@ Set to nil to disable the indicator."
'(display face invisible)
'(wrap-prefix line-prefix display face invisible))))))
-(define-fringe-bitmap 'org-modern--line (make-vector 1 #x80) nil nil '(top t))
-(define-fringe-bitmap 'org-modern--top (vconcat (make-vector 20 0) [#xFF]
(make-vector 107 #x80)) nil nil 'top)
-(define-fringe-bitmap 'org-modern--bottom (vconcat (make-vector 107 #x80)
[#xFF] (make-vector 20 0)) nil nil 'bottom)
-
(provide 'org-modern)
;;; org-modern.el ends here
- [elpa] externals/org-modern 664f57ae12 10/65: Add option org-modern-hide-stars, (continued)
- [elpa] externals/org-modern 664f57ae12 10/65: Add option org-modern-hide-stars, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 1f0db02412 17/65: README reorganization, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern dbbb6c297c 18/65: Add license, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 7a245a435d 24/65: Update example, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 9510fa1550 25/65: Update example, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 34b36df5b7 30/65: Use two different space objects, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 00d7fd7324 33/65: Add range example, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 787e69884e 35/65: Fix regexp search for end of block, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 5c46042666 36/65: Simplify org-modern--timestamp, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern c32dd29318 37/65: timestamps: Add support for repeaters, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern dd7d45878f 41/65: Do not add fringes to blocks when org-indent-mode is enabled (See #7),
ELPA Syncer <=
- [elpa] externals/org-modern fdb7b59682 39/65: README: Package is available on MELPA, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 18787dfa38 44/65: Improve date regexp, recognize international dates (Fix #8), ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 6fc453d10b 45/65: Recognize time stamps with duration (Fix #9), ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern f57b733806 48/65: Do not use invisible text properties, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 718bd89e2f 43/65: Use en-dash for checkbox composed character, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 074b7e5b51 49/65: README updates, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 9974bcb675 52/65: Typo README, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 91e113ff4f 51/65: Revert "Do not use invisible text properties" (Fix #16), ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern fc7794ae0b 53/65: README: Recommend org-auto-align-tags=nil, ELPA Syncer, 2022/03/07
- [elpa] externals/org-modern 7c6b7048e9 57/65: Add org-modern-variable-pitch option (Fix #21), ELPA Syncer, 2022/03/07