update packages

This commit is contained in:
2025-12-25 11:44:13 +01:00
parent 059fa06572
commit 1dab1fe4ab
144 changed files with 19985 additions and 1331 deletions

View File

@@ -157,14 +157,22 @@ longer ones are after the value."
(concat str " " commodity)
(concat commodity " " str))))
(defun ledger-read-commodity-string (prompt)
"Read an amount from mini-buffer using PROMPT."
(let ((str (read-from-minibuffer
(concat prompt " (" ledger-reconcile-default-commodity "): ")))
comm)
(when (and (> (length str) 0)
(ledger-split-commodity-string str))
(setq comm (ledger-split-commodity-string str))
(defvar ledger-read-commodity-history nil
"Default history variable for `ledger-read-commodity-string'.")
(defun ledger-read-commodity-string (prompt &optional history)
"Read an amount from mini-buffer using PROMPT.
If not supplied as input, the commodity defaults to
`ledger-reconcile-default-commodity'.
If HISTORY is non-nil, it should be a minibuffer history variable.
Otherwise, default to `ledger-read-commodity-history'."
(let ((str (read-string
(format "%s (%s): " prompt ledger-reconcile-default-commodity)
nil (or history 'ledger-read-commodity-history))))
(when-let* (((> (length str) 0))
(comm (ledger-split-commodity-string str)))
(if (cadr comm)
comm
(list (car comm) ledger-reconcile-default-commodity)))))

View File

@@ -304,11 +304,17 @@ an alist (ACCOUNT-ELEMENT . NODE)."
(match-string 2) (match-string 3) (match-string 4)
(match-string 5) (match-string 6)
(= (line-end-position) (match-end 0)))))
(;; Transaction comments
(eq 'comment (car (cdr (ledger-context-at-point))))
(save-excursion
(back-to-indentation)
(setq start (point)))
(setq collection (cons 'nullary #'ledger-comments-list)))
(;; Payees
(eq 'transaction
(save-excursion
(prog1 (ledger-thing-at-point)
(setq start (point)))))
(save-excursion
(prog1 (ledger-thing-at-point)
(setq start (point)))))
(setq collection (cons 'nullary #'ledger-payees-list)))
(;; Accounts
(save-excursion
@@ -322,10 +328,10 @@ an alist (ACCOUNT-ELEMENT . NODE)."
(- (match-beginning 0) end)))
realign-after t
collection (cons 'nullary
(if ledger-complete-in-steps
(lambda ()
(ledger-complete-account-next-steps start end))
#'ledger-accounts-list)))))
(if ledger-complete-in-steps
(lambda ()
(ledger-complete-account-next-steps start end))
#'ledger-accounts-list)))))
(when collection
(let ((prefix (buffer-substring-no-properties start end)))
(list start end
@@ -352,6 +358,20 @@ an alist (ACCOUNT-ELEMENT . NODE)."
(defun ledger-trim-trailing-whitespace (str)
(replace-regexp-in-string "[ \t]*$" "" str))
(defun ledger-comments-list ()
"Collect comments from the buffer."
(let ((comments '()))
(save-excursion
(goto-char (point-min))
;; FIXME: This only catches comments at beginning of lines and starting
;; with some spaces (so "transaction comments"). There can also be
;; comments after payees or prices too, as well as comments outside of
;; transactions (the latter should be completed over separately).
;; TODO: Unify this regex with `ledger-comment-regex'
(while (re-search-forward "^[ \t]+\\(?1:;.+\\)$" nil t)
(push (match-string-no-properties 1) comments)))
(sort (delete-dups comments) #'string-lessp)))
(defun ledger-fully-complete-xact ()
"Completes a transaction if there is another matching payee in the buffer.

View File

@@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; lexical-binding: nil -*-
(define-package "ledger-mode" "20250821.1439"
(define-package "ledger-mode" "20251219.2350"
"Helper code for use with the \"ledger\" command-line tool."
'((emacs "26.1"))
:url "https://github.com/ledger/ledger-mode"
:commit "e9bb645e8f05cf7ad0819b0450db7e84c9ed3f41"
:revdesc "e9bb645e8f05")
:commit "40e6a167530e21968e3ce7b8cb74e7595cb6009a"
:revdesc "40e6a167530e")

View File

@@ -4,8 +4,8 @@
;; This file is not part of GNU Emacs.
;; Package-Version: 20250821.1439
;; Package-Revision: e9bb645e8f05
;; Package-Version: 20251219.2350
;; Package-Revision: 40e6a167530e
;; Package-Requires: ((emacs "26.1"))
;; This is free software; you can redistribute it and/or modify it under

View File

@@ -92,7 +92,7 @@ Default is `ledger-default-date-format'."
:type 'string
:group 'ledger-reconcile)
(defcustom ledger-reconcile-target-prompt-string "Target amount for reconciliation "
(defcustom ledger-reconcile-target-prompt-string "Target amount for reconciliation"
"Prompt for reconcile target."
:type 'string
:group 'ledger-reconcile)
@@ -522,7 +522,6 @@ Return a count of the uncleared transactions."
(delete-char -1)) ;gets rid of the extra line feed at the bottom of the list
(goto-char (point-min))
(set-buffer-modified-p nil)
(setq buffer-read-only t)
(length xacts)))
@@ -617,21 +616,37 @@ reconciliation, otherwise prompt for TARGET."
(ledger-reconcile-change-target target)
(ledger-display-balance))))))
(defvar ledger-reconcile-mode-abbrev-table)
(defvar ledger-reconcile-target-history nil
"Minibuffer history for `ledger-reconcile-change-target'")
(defun ledger-reconcile-change-target (&optional target)
"Change the TARGET amount for the reconciliation process."
(interactive)
(setq ledger-reconcile-target (or target (ledger-read-commodity-string ledger-reconcile-target-prompt-string)))
(setq ledger-reconcile-target
(or target (ledger-read-commodity-string
ledger-reconcile-target-prompt-string
'ledger-reconcile-target-history)))
(ledger-display-balance))
(defmacro ledger-reconcile-change-sort-key-and-refresh (sort-by)
"Set the sort-key to SORT-BY."
`(lambda ()
(interactive)
(defun ledger-reconcile--change-sort-key-and-refresh (sort-key)
"Set the sort-key to SORT-KEY and refresh the buffer."
(setq ledger-reconcile-sort-key sort-key)
(ledger-reconcile-refresh))
(setq ledger-reconcile-sort-key ,sort-by)
(ledger-reconcile-refresh)))
(defmacro ledger-reconcile--define-sort-command (name expr)
"Define a sorting command named ledger-reconcile-sort-by-NAME.
The command will re-sort the reconcile buffer by EXPR."
(let ((command (intern (concat "ledger-reconcile-sort-by-" (symbol-name name)))))
`(defun ,command ()
,(concat "Sort reconcile buffer by " (symbol-name name) " and refresh.")
(interactive)
(ledger-reconcile--change-sort-key-and-refresh ,expr))))
(ledger-reconcile--define-sort-command file-order "(0)")
(ledger-reconcile--define-sort-command amount "(amount)")
(ledger-reconcile--define-sort-command date "(date)")
(ledger-reconcile--define-sort-command payee "(payee)")
(defvar ledger-reconcile-mode-map
(let ((map (make-sparse-keymap)))
@@ -652,19 +667,16 @@ reconciliation, otherwise prompt for TARGET."
(define-key map (kbd "b") #'ledger-display-balance)
(define-key map (kbd "B") #'ledger-reconcile-display-balance-in-header-mode)
(define-key map (kbd "C-c C-o") (ledger-reconcile-change-sort-key-and-refresh "(0)"))
(define-key map (kbd "C-c C-a") (ledger-reconcile-change-sort-key-and-refresh "(amount)"))
(define-key map (kbd "C-c C-d") (ledger-reconcile-change-sort-key-and-refresh "(date)"))
(define-key map (kbd "C-c C-p") (ledger-reconcile-change-sort-key-and-refresh "(payee)"))
(define-key map (kbd "C-c C-o") #'ledger-reconcile-sort-by-file-order)
(define-key map (kbd "C-c C-a") #'ledger-reconcile-sort-by-amount)
(define-key map (kbd "C-c C-d") #'ledger-reconcile-sort-by-date)
(define-key map (kbd "C-c C-p") #'ledger-reconcile-sort-by-payee)
map)
"Keymap for `ledger-reconcile-mode'.")
(easy-menu-define ledger-reconcile-mode-menu ledger-reconcile-mode-map
"Ledger reconcile menu"
`("Reconcile"
"Ledger reconcile menu."
'("Reconcile"
["Save" ledger-reconcile-save]
["Refresh" ledger-reconcile-refresh]
["Finish" ledger-reconcile-finish]
@@ -674,10 +686,10 @@ reconciliation, otherwise prompt for TARGET."
["Change Target Balance" ledger-reconcile-change-target]
["Show Cleared Balance" ledger-display-balance]
"---"
["Sort by payee" ,(ledger-reconcile-change-sort-key-and-refresh "(payee)")]
["Sort by date" ,(ledger-reconcile-change-sort-key-and-refresh "(date)")]
["Sort by amount" ,(ledger-reconcile-change-sort-key-and-refresh "(amount)")]
["Sort by file order" ,(ledger-reconcile-change-sort-key-and-refresh "(0)")]
["Sort by payee" ledger-reconcile-sort-by-payee]
["Sort by date" ledger-reconcile-sort-by-date]
["Sort by amount" ledger-reconcile-sort-by-amount]
["Sort by file order" ledger-reconcile-sort-by-file-order]
"---"
["Toggle Entry" ledger-reconcile-toggle]
["Add Entry" ledger-reconcile-add]
@@ -687,10 +699,9 @@ reconciliation, otherwise prompt for TARGET."
["Visit Source" ledger-reconcile-visit]
["Previous Entry" previous-line]
"---"
["Quit" ledger-reconcile-quit]
))
["Quit" ledger-reconcile-quit]))
(define-derived-mode ledger-reconcile-mode text-mode "Reconcile"
(define-derived-mode ledger-reconcile-mode special-mode "Reconcile"
"A mode for reconciling ledger entries.")
(define-minor-mode ledger-reconcile-display-balance-in-header-mode

View File

@@ -98,15 +98,15 @@
(let* ((regex (eval regex))
(group-count (regexp-opt-depth regex))
(defs
(list
`(defconst
,(intern (concat "ledger-" (symbol-name name) "-regexp"))
,regex
,docs)
`(defconst
,(intern (concat "ledger-regex-" (symbol-name name)
"-group--count"))
,group-count)))
(list
`(defconst
,(intern (concat "ledger-" (symbol-name name) "-regexp"))
,regex
,docs)
`(defconst
,(intern (concat "ledger-regex-" (symbol-name name)
"-group--count"))
,group-count)))
(addend 0) last-group)
(if (null args)
(progn

View File

@@ -557,10 +557,10 @@ specific posting at point instead."
(when (and file xact-position)
(find-file-other-window file)
(widen)
(if (markerp xact-position)
(goto-char xact-position)
(progn (goto-char (point-min))
(forward-line (1- xact-position))))
(if (markerp xact-position)
(goto-char xact-position)
(progn (goto-char (point-min))
(forward-line (1- xact-position))))
(when ledger-report-links-beginning-of-xact
(ledger-navigate-beginning-of-xact)))))