Compare commits

...

2 commits

Author SHA1 Message Date
Bram Schoenmakers a40ed0eda2 Add comment on setting a pager 2023-04-12 22:40:10 +02:00
Bram Schoenmakers 9d54ca3e7d Set /bin/cat as pager
Ledger's command line does not respect any pager related flag (e.g.
--no-pager). So the only resort is to set a pager ourselves being /bin/cat.
2023-04-11 23:08:00 +02:00

View file

@ -49,8 +49,16 @@ The LEDGER-FILE can be configured through the `comint-ledger-file-path'
variable, otherwise a prompt will appear to select a file."
(interactive (list (or comint-ledger-file-path
(read-file-name "Ledger file: "))))
(let* ((ledger-program comint-ledger-cli-path)
(ledger-file-arguments (list "--no-pager" "-f" ledger-file))
(let* (;; The ledger command interpreter ignores --no-pager, so if
;; no pager is set, less(1) is used. This is suboptimal
;; inside an Emacs buffer, so set the pager to cat(1)
;; instead.
(cat-executable (executable-find "cat"))
(process-environment (append process-environment
(list (concat "PAGER=" cat-executable))))
(ledger-program comint-ledger-cli-path)
(ledger-file-arguments (list "-f" ledger-file))
(ledger-arguments (append ledger-file-arguments comint-ledger-cli-arguments))
(buffer (get-buffer-create comint-ledger-buffer-name))
(proc-alive (comint-check-proc buffer)))