From 0df5da9882782bc60b4a6167515dfafd1a548bb1 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 25 Mar 2021 13:48:24 -0400 Subject: [PATCH] lang/ledger: add rudimentary imenu support --- modules/lang/ledger/config.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/lang/ledger/config.el b/modules/lang/ledger/config.el index 9f09c752d..b149aac07 100644 --- a/modules/lang/ledger/config.el +++ b/modules/lang/ledger/config.el @@ -17,6 +17,15 @@ (funcall orig-fn) (message "Couldn't find '%s' executable" ledger-binary-path))) + ;; `ledger-mode' lacks imenu support out of the box, so we gie it some. At + ;; least to make jumping to outline headings or transactions easier. + (setq-hook! 'ledger-mode-hook + imenu-generic-expression + `((nil ,(concat + "^[\\* ]+[ \t]+\\([^\n\r]+\\)\\|" ; outline headings + "^[0-9]\\{4\\}[-/.][0-9]\\{2\\}[-/.][0-9]\\{2\\}[ \t]+[^\n]+") ; transactions + 0))) + (map! :map ledger-report-mode-map "C-c C-c" #'ledger-report-edit-report "C-c C-r" #'ledger-report-redo