emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/valign 2054ccf 160/198: Fix fancy bar


From: Stefan Monnier
Subject: [elpa] externals/valign 2054ccf 160/198: Fix fancy bar
Date: Tue, 1 Dec 2020 18:19:39 -0500 (EST)

branch: externals/valign
commit 2054ccf513ec74c8f974d866bcff725a9db8b0c2
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>

    Fix fancy bar
    
    * valign.el (valign--align-separator-row, valign-table-1): Add render-bar.
---
 valign.el | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/valign.el b/valign.el
index decef99..f8f3867 100644
--- a/valign.el
+++ b/valign.el
@@ -436,6 +436,8 @@ STYLE is 'single-column.  COLUMN-WIDTH-LIST is returned from
          ;; Position of the right-most bar.
          (total-width (+ (apply #'+ column-width-list)
                          (* bar-width (1+ column-count)))))
+    ;; Render the left bar.
+    (valign--maybe-render-bar (1- (point)))
     (when (search-forward "|" nil t)
       (valign--put-overlay p (1- (point)) total-width
                            'face '(:strike-through t))
@@ -479,7 +481,11 @@ COLUMN-WIDTH-LIST is returned from 
`valign--calculate-cell-width'."
         (col-idx 0)
         (pos (valign--pixel-width-from-to
               (line-beginning-position) (point) t)))
+    ;; Render the first left bar.
+    (valign--maybe-render-bar (1- (point)))
     (while (re-search-forward "[+|]" (line-end-position) t)
+      ;; Render the right bar.
+      (valign--maybe-render-bar (1- (point)))
       (let ((column-width (nth col-idx column-width-list)))
         (valign--separator-row-add-overlay
          column-start (1- (point)) (+ pos column-width space-width))
@@ -571,13 +577,16 @@ If FORCE non-nil, force align."
         ;; bar.
         (setq column-start (valign--pixel-width-from-to
                             (line-beginning-position) (point) t))
-        (valign--maybe-render-bar (1- (point)))
+
         (valign--do-column column-idx
           (save-excursion
             ;; We are after the left bar (“|”).
+            ;; Render the left bar.
+            (valign--maybe-render-bar (1- (point)))
             ;; Start aligning this cell.
-            ;;      Pixel width of the column
+            ;;      Pixel width of the column.
             (let* ((col-width (nth column-idx column-width-list))
+                   ;; left or right aligned.
                    (alignment (nth column-idx column-alignment-list))
                    ;; Pixel width of the cell.
                    (cell-width (valign--cell-content-width)))
@@ -620,7 +629,9 @@ If FORCE non-nil, force align."
               (setq column-start (+ column-start
                                     col-width
                                     bar-width
-                                    space-width)))))))))
+                                    space-width)))))
+        ;; Now we are at the last right bar.
+        (valign--maybe-render-bar (1- (point)))))))
 
 ;;; Mode intergration
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]