lang/ledger: refactor & use hledger by default

This commit is contained in:
Henrik Lissner 2020-02-08 20:53:50 -05:00
parent ef472d7c1a
commit 73c893ba35
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -1,23 +1,29 @@
;;; lang/ledger/config.el -*- lexical-binding: t; -*- ;;; lang/ledger/config.el -*- lexical-binding: t; -*-
;;;###package ledger-mode (use-package! ledger-mode
(setq ledger-clear-whole-transactions 1) :defer t
:init
(setq ledger-clear-whole-transactions 1
ledger-mode-should-check-version nil)
(defadvice! +ledger--check-version-a (orig-fn) :config
"Fail gracefully if ledger binary isn't available." (setq ledger-binary-path
:around #'ledger-check-version (or (cl-delete-if-not #'executable-find (list "hledger" "ledger"))
(if (executable-find ledger-binary-path) "ledger"))
(funcall orig-fn)
(message "Couldn't find '%s' executable" ledger-binary-path)))
;; Restore leader key in ledger reports (defadvice! +ledger--check-version-a (orig-fn)
(map! :after ledger-mode "Fail gracefully if ledger binary isn't available."
:map ledger-report-mode-map :around #'ledger-check-version
"C-c C-c" #'ledger-report-edit-report (if (executable-find ledger-binary-path)
"C-c C-r" #'ledger-report-redo (funcall orig-fn)
"C-c C-s" #'ledger-report-save (message "Couldn't find '%s' executable" ledger-binary-path)))
:map ledger-reconcile-mode-map
[tab] #'ledger-reconcile-toggle) (map! :map ledger-report-mode-map
"C-c C-c" #'ledger-report-edit-report
"C-c C-r" #'ledger-report-redo
"C-c C-s" #'ledger-report-save
:map ledger-reconcile-mode-map
[tab] #'ledger-reconcile-toggle))
(use-package! flycheck-ledger (use-package! flycheck-ledger