]> git.eshelyaron.com Git - emacs.git/commitdiff
Make vtable narrow/widen functions take a prefix
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 14 Apr 2022 00:47:23 +0000 (02:47 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 14 Apr 2022 00:47:23 +0000 (02:47 +0200)
* lisp/emacs-lisp/vtable.el (vtable-narrow-current-column)
(vtable-widen-current-column): Allow using the prefix to say how
much to narrow/widen the columns.

lisp/emacs-lisp/vtable.el

index 03fe54c94e937990b05d798b0d98dfb09d4c09e7..f14c9ae9a6517378d3f0ce4037649915bbdba167 100644 (file)
@@ -758,9 +758,12 @@ This also updates the displayed table."
   "Minor mode for buffers with vtables with headers."
   :keymap vtable-header-mode-map)
 
-(defun vtable-narrow-current-column ()
-  "Narrow the current column."
-  (interactive)
+(defun vtable-narrow-current-column (&optional n)
+  "Narrow the current column by N characters.
+If N isn't given, N defaults to 1.
+
+Interactively, N is the prefix argument."
+  (interactive "p")
   (let* ((table (vtable-current-table))
          (column (vtable-current-column))
          (widths (vtable--widths table)))
@@ -768,18 +771,23 @@ This also updates the displayed table."
       (user-error "No column under point"))
     (setf (aref widths column)
           (max (* (vtable--char-width table) 2)
-               (- (aref widths column) (vtable--char-width table))))
+               (- (aref widths column)
+                  (* (vtable--char-width table) (or n 1)))))
     (vtable-revert)))
 
-(defun vtable-widen-current-column ()
-  "Widen the current column."
-  (interactive)
+(defun vtable-widen-current-column (&optional n)
+  "Widen the current column by N characters.
+If N isn't given, N defaults to 1.
+
+Interactively, N is the prefix argument."
+  (interactive "p")
   (let* ((table (vtable-current-table))
          (column (vtable-current-column))
          (widths (nth 1 (vtable--cache table))))
     (unless column
       (user-error "No column under point"))
-    (cl-incf (aref widths column) (vtable--char-width table))
+    (cl-incf (aref widths column)
+             (* (vtable--char-width table) (or n 1)))
     (vtable-revert)))
 
 (defun vtable-previous-column ()