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

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

[elpa] externals/blist 950a214456 28/31: New option: blist-use-header-p


From: ELPA Syncer
Subject: [elpa] externals/blist 950a214456 28/31: New option: blist-use-header-p
Date: Tue, 28 Dec 2021 16:57:41 -0500 (EST)

branch: externals/blist
commit 950a21445629591c0ff8c1178db247f78859ccc8
Author: JSDurand <mmemmew@gmail.com>
Commit: JSDurand <mmemmew@gmail.com>

    New option: blist-use-header-p
    
    * blist.el (blist-use-header-p, blist-list-bookmarks): Now the user
      can choose to display column names in the header line.
---
 ChangeLog |   5 +++++
 blist.el  |  26 ++++++++++++++++++++++++--
 blist.elc | Bin 46200 -> 46699 bytes
 3 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fdd5c18da0..7c3d6e572c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2021-12-22  李俊緯  <mmemmew@gmail.com>
+
+       New user option: blist-use-header-p.  Now the user can choose to
+       use the header line to display the column names.
+
 2021-12-21  李俊緯  <mmemmew@gmail.com>
 
        Fix errors discovered by flymake.
diff --git a/blist.el b/blist.el
index 13e7d3fe5b..657d4339b7 100644
--- a/blist.el
+++ b/blist.el
@@ -232,6 +232,13 @@ list; they are simply ignored."
   :group 'blist
   :type 'string)
 
+;;;; Whether to use header or not
+
+(defcustom blist-use-header-p nil
+  "If non-nil, show a header of column names as well."
+  :group 'blist
+  :type 'boolean)
+
 ;;; Variables
 
 ;;;; Sorter
@@ -347,7 +354,8 @@ used as a `revert-buffer-function'."
   ;; load the bookmark if needed
   (bookmark-maybe-load-default-file)
   (let ((buffer (get-buffer-create blist-buffer-name))
-        (first-time-generated t))
+        (first-time-generated t)
+        blist-header-line-format)
     (with-current-buffer buffer
       (let ((inhibit-read-only t)
             front rear group pos)
@@ -412,6 +420,12 @@ used as a `revert-buffer-function'."
           blist-sorter
           t))
         (goto-char (point-min))
+        ;; set the header if necessary
+        (cond
+         (blist-use-header-p
+          (setq blist-header-line-format
+                (buffer-substring-no-properties
+                 (point) (line-end-position)))))
         (cond
          ((and
            (stringp rear)
@@ -438,7 +452,15 @@ used as a `revert-buffer-function'."
     (select-window (get-buffer-window blist-buffer-name))
     ;; if generated for the first time, advance a line
     (cond
-     (first-time-generated (ilist-forward-line 1 nil t)))))
+     (first-time-generated (ilist-forward-line 1 nil t)))
+    (cond (blist-header-line-format
+           (setq header-line-format blist-header-line-format)
+           (with-silent-modifications
+             (add-text-properties
+              (point-min)
+              (save-excursion
+                (goto-char (point-min)) (forward-line 2) (point))
+              (list (intern "invisible") t)))))))
 
 ;;; Major mode
 
diff --git a/blist.elc b/blist.elc
index 8d7e887bdc..3dc54fa5cb 100644
Binary files a/blist.elc and b/blist.elc differ



reply via email to

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