doom: Make hledger modes and config (mostly) working
This commit is contained in:
parent
c95232a2e2
commit
2008c058c2
1 changed files with 59 additions and 37 deletions
|
@ -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
|
||||
|
|
Reference in a new issue