branch: externals/nano-modeline
commit acd020a045320c40bcde11c8ef62525d8fee7067
Author: Nicolas P. Rougier <nicolas.roug...@inria.fr>
Commit: Nicolas P. Rougier <nicolas.roug...@inria.fr>

    Added imenu-list mode
---
 nano-modeline.el | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/nano-modeline.el b/nano-modeline.el
index 184f5ccbbb..cb383c17bc 100644
--- a/nano-modeline.el
+++ b/nano-modeline.el
@@ -211,6 +211,10 @@ This is useful (aesthetically) if the face of prefix uses 
a different background
 
 (defcustom nano-modeline-mode-formats
   '(;; with :mode-p first
+
+    (imenu-list-mode        :mode nano-modeline-imenu-list-mode-p
+                            :format nano-modeline-imenu-list-mode
+                            :icon "") ;; nerd-font / oct-three-bars
     (prog-mode              :mode-p nano-modeline-prog-mode-p
                             :format nano-modeline-prog-mode
                             :icon "") ;; nerd-font / oct-file-code
@@ -966,6 +970,23 @@ depending on the version of mu4e."
                             ""
                             position)))
 
+;; ---------------------------------------------------------------------
+(defun nano-modeline-imenu-list-mode-p ()
+  (message "imenu mode: %s"   (derived-mode-p 'imenu-list-major-mode))
+  (derived-mode-p 'imenu-list-major-mode))
+
+(defun nano-modeline-imenu-list-mode (&optional icon)
+  (let ((icon (or icon
+                  (plist-get (cdr (assoc 'text-mode 
nano-imenu-list-mode-formats)) :icon)))
+        ;; We take into account the case of narrowed buffers
+        (buffer-name (buffer-name imenu-list--displayed-buffer)
+        (branch      (nano-modeline-vc-branch))
+        (position    (format-mode-line "%l:%c")))
+    (nano-modeline-render icon
+                          buffer-name
+                          "(imenu list)"
+                          ""))))
+
 ;; ---------------------------------------------------------------------
 (with-eval-after-load 'deft
   (defun nano-modeline-deft-print-header ()

Reply via email to