diff options
author | Steve Purcell <steve@sanityinc.com> | 2019-07-04 18:10:42 +1200 |
---|---|---|
committer | Steve Purcell <steve@sanityinc.com> | 2019-07-05 08:17:40 +1200 |
commit | 74091722c6ef5429fc3d87c2132041c28a74d012 (patch) | |
tree | 720db2098d266fd53bfc683e019ce12f977bcf3a | |
parent | a5917bad209ec4d86bdf861fd4fa1e7ec77c40a2 (diff) |
Sort accounts ascending when completing, not in reverse
-rw-r--r-- | ledger-complete.el | 8 | ||||
-rw-r--r-- | test/complete-test.el | 14 |
2 files changed, 8 insertions, 14 deletions
diff --git a/ledger-complete.el b/ledger-complete.el index 3e8ab32..e0c0994 100644 --- a/ledger-complete.el +++ b/ledger-complete.el @@ -24,12 +24,6 @@ (require 'cl-lib) -;; Emacs 24.3 compatibility -(defun ledger-string-greaterp (string1 string2) - "Return non-nil if STRING1 is greater than STRING2 in lexicographic order. -Case is significant." - (string-lessp string2 string1)) - ;; In-place completion support ;;; Code: @@ -109,7 +103,7 @@ Considers both accounts listed in postings and those declared with \"account\" d (let (results) (while (re-search-forward ledger-account-name-or-directive-regex nil t) (setq results (cons (match-string-no-properties 1) results))) - (sort (delete-dups results) #'ledger-string-greaterp)))) + (sort (delete-dups results) #'string-lessp)))) (defun ledger-accounts-list () "Return a list of all known account names as strings. diff --git a/test/complete-test.el b/test/complete-test.el index 7d3cb5f..62fbf4c 100644 --- a/test/complete-test.el +++ b/test/complete-test.el @@ -104,14 +104,14 @@ tag ofxid (insert ledger) (should (equal (ledger-accounts-list-in-buffer) - (list ; I don't know why accounts are sorted in reverse order - "Something" - "Expenses:Utilities:Insurance" - "Expenses:Accomodation" - "Dimensions:Foo" - "Dimensions:Equity" + (list + "Assets:Cash" "Assets:Current" - "Assets:Cash")))))) + "Dimensions:Equity" + "Dimensions:Foo" + "Expenses:Accomodation" + "Expenses:Utilities:Insurance" + "Something")))))) (provide 'complete-test) |