[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/valign 8618a44 021/198: Add valign-mode
From: |
Stefan Monnier |
Subject: |
[elpa] externals/valign 8618a44 021/198: Add valign-mode |
Date: |
Tue, 1 Dec 2020 18:19:08 -0500 (EST) |
branch: externals/valign
commit 8618a448315b9061aa0292b47a570fa2ed2018c9
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
Add valign-mode
* valign.el (valign-lighter): New variable.
(valign-org-mode-hook): New function.
(valign-mode): New minor mode.
(valign-setup): Use valign-mode.
---
valign.el | 35 +++++++++++++++++++++++++++--------
1 file changed, 27 insertions(+), 8 deletions(-)
diff --git a/valign.el b/valign.el
index 13976d2..b8ee520 100644
--- a/valign.el
+++ b/valign.el
@@ -29,6 +29,11 @@
(require 'cl-lib)
(require 'pcase)
+(defcustom valign-lighter " valign"
+ "The lighter string used by function `valign-mode'."
+ :group 'valign
+ :type 'string)
+
;;; Backstage
(define-error 'valign-bad-cell "Valign encountered a invalid table cell")
@@ -440,20 +445,34 @@ for the former, and 'multi-column for the latter."
(valign--separator-row-add-overlay
p (1- (point))
(or (nth col-idx (reverse rev-list)) 0)))))))))
-
+
(valign-bad-cell (message (error-message-string err)))
(valign-werid-alignment (message (error-message-string err)))))
+(defun valign-org-mode-hook ()
+ "Valign hook function use by `org-mode'."
+ (add-hook 'jit-lock-functions
+ #'valign-initial-alignment 90 t))
+
+(define-minor-mode valign-mode
+ "valign minor mode."
+ :global t
+ :require 'valign
+ :group 'valign
+ :lighter valign-lighter
+ (if (and valign-mode window-system)
+ (progn
+ (add-hook 'org-mode-hook #'valign-org-mode-hook)
+ (advice-add 'org-table-next-field :after #'valign-table)
+ (advice-add 'org-table-previous-field :after #'valign-table))
+ (remove-hook 'org-mode-hook #'valign-org-mode-hook)
+ (advice-remove 'org-table-next-field #'valign-table)
+ (advice-remove 'org-table-previous-field #'valign-table)))
+
(defun valign-setup ()
"Enable visual table alignment."
(interactive)
- (when window-system
- (add-hook 'org-mode-hook
- (lambda ()
- (add-hook 'jit-lock-functions
- #'valign-initial-alignment 90 t)))
- (advice-add #'org-table-next-field :after #'valign-table)
- (advice-add #'org-table-previous-field :after #'valign-table)))
+ (valign-mode 1))
(provide 'valign)
- [elpa] externals/valign 8c05580 016/198: * valign.el (valign-table): Fix separator alignment., (continued)
- [elpa] externals/valign 8c05580 016/198: * valign.el (valign-table): Fix separator alignment., Stefan Monnier, 2020/12/01
- [elpa] externals/valign f8a4a38 013/198: Fix case for multiple separator rows, Stefan Monnier, 2020/12/01
- [elpa] externals/valign f0c030e 018/198: * valign.el (valign--pixel-width-from-to): Support invisible text., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 1d915f7 024/198: Merge pull request #1 from tumashu/master, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 954906d 028/198: Add more hooks, Stefan Monnier, 2020/12/01
- [elpa] externals/valign eb787e7 008/198: * table.png: Delete file., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 4af6efd 017/198: Support overlay image, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 25b75fc 015/198: Support Emacs 26, Stefan Monnier, 2020/12/01
- [elpa] externals/valign f4235e7 019/198: Add support for Org Agenda, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 586bba2 020/198: Fix package-lint and checkdoc warns, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 8618a44 021/198: Add valign-mode,
Stefan Monnier <=
- [elpa] externals/valign 9a9a4a1 022/198: Merge branch 'master' into master, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 15b1bff 031/198: * valign.el (valign-mode): Change docstring., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 62bfe1a 026/198: Minor change, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 22c6b7c 033/198: Update doc, Stefan Monnier, 2020/12/01
- [elpa] externals/valign fc4c812 044/198: * valign.el (valign-mode): Advice org-table-align instead., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 1e9e16b 045/198: * valign.el (valign--align-separator-row): New implementation for gfm-mode., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 03da172 011/198: Various fixes, Stefan Monnier, 2020/12/01
- [elpa] externals/valign b0cea9f 012/198: Make point appear in the middle for empty cells, Stefan Monnier, 2020/12/01
- [elpa] externals/valign eea08cc 023/198: Re add org-agenda support., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 2a60a4d 025/198: Remove valign-setup, Stefan Monnier, 2020/12/01