doom: Make hledger modes and config (mostly) working

This commit is contained in:
Payas Relekar 2023-11-15 00:32:51 +05:30
parent c95232a2e2
commit 2008c058c2

View file

@ -175,6 +175,12 @@ Tangle ~packages.el~ from within org-mode.
(package! hledger-mode)
(package! hledger-input
:recipe (:type git
:host github
:repo "narendraj9/hledger-mode"
:files ("hledger-input.el")))
(package! flymake-hledger)
(package! ebdb)
@ -1146,10 +1152,15 @@ When Emacs is opened in Windows Subsystem for Linux, open web links in Firefox o
** Hledger
#+begin_src emacs-lisp :lexical t
(use-package! hledger-mode
:after htmlize
:mode ("\\.journal\\'" "\\.hledger\\'")
:commands (hledger-enable-reporting)
:preface
;; :after htmlize
:mode ("\\.journal\\'" . hledger-mode)
:commands (hledger-enable-reporting
hledger/prev-entry
hledger/next-entry
hledger-run-command
hledger-capture
hledger-jentry)
:init
(defun hledger/next-entry ()
"Move to next entry and pulse."
(interactive)
@ -1171,23 +1182,23 @@ When Emacs is opened in Windows Subsystem for Linux, open web links in Firefox o
(hledger-backward-entry)
(hledger-pulse-momentary-current-entry))
:bind (("C-c j" . hledger-run-command)
:map hledger-mode-map
("C-c e" . hledger-jentry)
("M-p" . hledger/prev-entry)
("M-n" . hledger/next-entry))
:init
(setq hledger-jfile
(expand-file-name "~/org/fin/.hledger.journal"))
;; hledger-email-secrets-file (expand-file-name "secrets.el"
;; emacs-assets-directory))
(expand-file-name "~/org/fin/hledger.journal"))
;; hledger-email-secrets-file (expand-file-name "secrets.el"
;; emacs-assets-directory))
;; Expanded account balances in the overall monthly report are
;; mostly noise for me and do not convey any meaningful information.
(setq hledger-show-expanded-report nil)
(when (boundp 'my-hledger-service-fetch-url)
(setq hledger-service-fetch-url
my-hledger-service-fetch-url))
(map!
(:map global-map
:leader
:desc "hledger" :g "=" #'hledger-run-command)
(:map hledger-mode-map
:desc "prev entry" "M-p" #'hledger/prev-entry
:desc "next entry" "M-n" #'hledger/next-entry
:localleader
:desc "entry" "e" #'hledger-jentry))
:config
(add-hook 'hledger-view-mode-hook #'hl-line-mode)
@ -1210,28 +1221,39 @@ When Emacs is opened in Windows Subsystem for Linux, open web links in Firefox o
(make-local-variable 'company-backends)
(add-to-list 'company-backends 'hledger-company))))
;; (use-package hledger-input
;; :load-path "packages/rest/hledger-mode/"
;; :bind (("C-c e" . hledger-capture)
;; :map hledger-input-mode-map
;; ("C-c C-b" . popup-balance-at-point))
;; :preface
;; (defun popup-balance-at-point ()
;; "Show balance for account at point in a popup."
;; (interactive)
;; (if-let ((account (thing-at-point 'hledger-account)))
;; (message (hledger-shell-command-to-string (format " balance -N %s "
;; account)))
;; (message "No account at point")))
(use-package! hledger-input
:commands (hledger-capture popup-balance-at-point)
:preface
(defun popup-balance-at-point ()
"Show balance for account at point in a popup."
(interactive)
(if-let ((account (thing-at-point 'hledger-account)))
(message (hledger-shell-command-to-string (format " balance -N %s "
account)))
(message "No account at point")))
;; :config
;; (setq hledger-input-buffer-height 20)
;; (add-hook 'hledger-input-post-commit-hook #'hledger-show-new-balances)
;; (add-hook 'hledger-input-mode-hook #'auto-fill-mode)
;; (add-hook 'hledger-input-mode-hook
;; (lambda ()
;; (make-local-variable 'company-idle-delay)
;; (setq-local company-idle-delay 0.1))))
:init
(setq hledger-jfile
(expand-file-name "~/org/fin/hledger.journal"))
(map!
(:map global-map
:leader
(:desc "hledger"
:g "0" #'hledger-capture))
(:map hledger-input-mode-map
:localleader
:desc "balance" "b" #'popup-balance-at-point))
:config
(setq hledger-input-buffer-height 20)
;; (add-hook! 'hledger-input-post-commit-hook #'hledger-show-new-balances)
(add-hook! 'hledger-input-mode-hook #'auto-fill-mode))
(use-package! flymake-hledger
:after (flymake hledger-mode)
:hook
((hledger-mode . flymake-hledger-enable)
(hledger-view-mode . flymake-hledger-enable)))
#+end_src
** Tree-sitter