Fix Bug 966 Auto Indent conflicts with undo. Removed the auto-indent function and added an indent xact function
This commit is contained in:
parent
cb6f4b9890
commit
c23c994b22
2 changed files with 7 additions and 16 deletions
|
|
@ -153,6 +153,7 @@ Can indent, complete or align depending on context."
|
|||
(define-key map [(control ?c) (control ?l)] 'ledger-display-ledger-stats)
|
||||
|
||||
(define-key map [tab] 'ledger-magic-tab)
|
||||
(define-key map [(control tab)] 'ledger-post-align-xact)
|
||||
(define-key map [(control ?i)] 'ledger-magic-tab)
|
||||
(define-key map [(control ?c) tab] 'ledger-fully-complete-xact)
|
||||
(define-key map [(control ?c) (control ?i)] 'ledger-fully-complete-xact)
|
||||
|
|
@ -188,6 +189,7 @@ Can indent, complete or align depending on context."
|
|||
(define-key map [sort-start] '(menu-item "Mark Sort Beginning" ledger-sort-insert-start-mark))
|
||||
(define-key map [sort-buff] '(menu-item "Sort Buffer" ledger-sort-buffer))
|
||||
(define-key map [sort-reg] '(menu-item "Sort Region" ledger-sort-region :enable mark-active))
|
||||
(define-key map [align-xact] '(menu-item "Align Xact" ledger-post-align-xact))
|
||||
(define-key map [align-reg] '(menu-item "Align Region" ledger-post-align-postings :enable mark-active))
|
||||
(define-key map [sep2] '(menu-item "--"))
|
||||
(define-key map [copy-xact] '(menu-item "Copy Trans at Point" ledger-copy-transaction-at-point))
|
||||
|
|
|
|||
|
|
@ -31,11 +31,6 @@
|
|||
"Options for controlling how Ledger-mode deals with postings and completion"
|
||||
:group 'ledger)
|
||||
|
||||
(defcustom ledger-post-auto-adjust-postings t
|
||||
"If non-nil, adjust account and amount to columns set below"
|
||||
:type 'boolean
|
||||
:group 'ledger-post)
|
||||
|
||||
(defcustom ledger-post-account-alignment-column 4
|
||||
"The column Ledger-mode attempts to align accounts to."
|
||||
:type 'integer
|
||||
|
|
@ -141,6 +136,11 @@ at beginning of account"
|
|||
(goto-char (match-beginning 2)))
|
||||
(current-column))))
|
||||
|
||||
(defun ledger-post-align-xact (pos)
|
||||
(interactive "d")
|
||||
(let ((bounds (ledger-find-xact-extents pos)))
|
||||
(ledger-post-align-postings (car bounds) (cadr bounds))))
|
||||
|
||||
(defun ledger-post-align-postings (&optional beg end)
|
||||
"Align all accounts and amounts within region, if there is no
|
||||
region align the posting on the current line."
|
||||
|
|
@ -198,16 +198,6 @@ region align the posting on the current line."
|
|||
(setq inhibit-modification-hooks nil))))
|
||||
|
||||
|
||||
(defun ledger-post-maybe-align (beg end len)
|
||||
"Align amounts only if point is in a posting.
|
||||
BEG, END, and LEN control how far it can align."
|
||||
(if ledger-post-auto-adjust-postings
|
||||
(save-excursion
|
||||
(goto-char beg)
|
||||
(when (<= end (line-end-position))
|
||||
(goto-char (line-beginning-position))
|
||||
(if (looking-at ledger-post-line-regexp)
|
||||
(ledger-post-align-postings))))))
|
||||
|
||||
(defun ledger-post-edit-amount ()
|
||||
"Call 'calc-mode' and push the amount in the posting to the top of stack."
|
||||
|
|
@ -248,7 +238,6 @@ BEG, END, and LEN control how far it can align."
|
|||
|
||||
(defun ledger-post-setup ()
|
||||
"Configure `ledger-mode' to auto-align postings."
|
||||
(add-hook 'after-change-functions 'ledger-post-maybe-align t t)
|
||||
(add-hook 'after-save-hook #'(lambda () (setq ledger-post-current-list nil)) t t))
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue