[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/valign 6905c5d 030/198: Better handling for invisible t
From: |
Stefan Monnier |
Subject: |
[elpa] externals/valign 6905c5d 030/198: Better handling for invisible text |
Date: |
Tue, 1 Dec 2020 18:19:10 -0500 (EST) |
branch: externals/valign
commit 6905c5dc115cdbc11266d9514d6238b878bacd58
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>
Better handling for invisible text
* valign.el (valign--pixel-width-from-to): consider outline fold as
non-invisible.
(valign--org-flag-region-advice): New function.
(valign-mode): Add new advice.
---
valign.el | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/valign.el b/valign.el
index 53e5c86..9e04932 100644
--- a/valign.el
+++ b/valign.el
@@ -122,8 +122,9 @@ calculate images pixel width."
(setq width (+ width (car (image-size display t))))
(goto-char
(next-single-property-change (point) 'display nil to))))
- ;; 2) Invisible text.
- ((invisible-p (point))
+ ;; 2) Invisible text. If text is hidden under ellipses,
+ ;; (outline fold) treat it as non-invisible.
+ ((eq (invisible-p (point)) t)
(goto-char
(next-single-property-change (point) 'invisible nil to)))
;; 3) This is a normal character, add glyph width.
@@ -462,6 +463,13 @@ for the former, and 'multi-column for the latter."
"Forcefully realign every table in the buffer."
(valign-initial-alignment (point-min) (point-max) t))
+;; When an org link is in an outline fold, it’s full length
+;; is used, when the subtree is unveiled, org link only shows
+;; part of it’s text, so we need to re-align.
+(defun valign--org-flag-region-advice (beg end _ _1)
+ "Valign hook, realign table between BEG and END."
+ (valign-initial-alignment beg end t))
+
(define-minor-mode valign-mode
"valign minor mode."
:global t
@@ -478,14 +486,16 @@ for the former, and 'multi-column for the latter."
:after #'valign--force-align-buffer)
(advice-add 'visible-mode :after #'valign--force-align-buffer)
(advice-add 'org-table-next-field :after #'valign-table)
- (advice-add 'org-table-previous-field :after #'valign-table))
+ (advice-add 'org-table-previous-field :after #'valign-table)
+ (advice-add 'org-flag-region :after #'valign--org-flag-region-advice))
(remove-hook 'org-mode-hook #'valign--org-mode-hook)
(remove-hook 'org-agenda-finalize-hook #'valign--force-align-buffer)
(advice-remove 'org-toggle-inline-images #'valign--force-align-buffer)
(advice-remove 'org-restart-font-lock #'valign--force-align-buffer)
(advice-remove 'visible-mode #'valign--force-align-buffer)
(advice-remove 'org-table-next-field #'valign-table)
- (advice-remove 'org-table-previous-field #'valign-table)))
+ (advice-remove 'org-table-previous-field #'valign-table)
+ (advice-remove 'org-flag-region #'valign--org-flag-region-advice)))
(provide 'valign)
- [elpa] externals/valign ef090ad 077/198: * valign.el (valign--org-mode-hook): Put our hook at the end., (continued)
- [elpa] externals/valign ef090ad 077/198: * valign.el (valign--org-mode-hook): Put our hook at the end., Stefan Monnier, 2020/12/01
- [elpa] externals/valign c13657e 094/198: Fix infinite loop, Stefan Monnier, 2020/12/01
- [elpa] externals/valign a04e1e7 096/198: * valign.el (valign--beginning-of-table): Fix infinite loop., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 1126f3f 113/198: * valign.el (valign-table-quiet): Don't report error even if debug-on-error is non-nil., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 143a4de 143/198: Align tables when re-enabling valign-mode, Stefan Monnier, 2020/12/01
- [elpa] externals/valign a9614de 049/198: Update documentation, Stefan Monnier, 2020/12/01
- [elpa] externals/valign f8c521a 050/198: Refactor glyph calculation, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 9035bac 055/198: * valign.el (valign--cell-alignment): Give a default alignment., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 258f627 014/198: * valign.el (valign--clean-text-property): Fix., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 9f62c59 027/198: * valign.el (valign--pixel-width-from-to): Fix invisible text detection., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 6905c5d 030/198: Better handling for invisible text,
Stefan Monnier <=
- [elpa] externals/valign 46de910 037/198: Remove outdated documentation., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 322f8f5 040/198: * valign.el (valign-separator-row-style): Fix definition., Stefan Monnier, 2020/12/01
- [elpa] externals/valign f3759db 046/198: Add proper right alignment for markdown tables, Stefan Monnier, 2020/12/01
- [elpa] externals/valign dc72743 051/198: Fix infinite loop, Stefan Monnier, 2020/12/01
- [elpa] externals/valign cc3e068 053/198: * valign.el (valign--end-of-table): Change re., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 2014054 057/198: ; * README.org: Minor change., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 828aebb 058/198: * valign.el (valign--beginning-of-line): Fix., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 51411a4 061/198: ; * README.org: Minor change., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 04d299e 063/198: Change eql dispatcher to derived-mode, Stefan Monnier, 2020/12/01
- [elpa] externals/valign c7bf583 064/198: Support org-agenda-mode, Stefan Monnier, 2020/12/01