From b5ed655b49bf97a8a8975f33a4f98f38fed91400 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Wed, 4 Jan 2023 19:46:06 -1000 Subject: [PATCH] imp: add: Description completions now include payees declared or used Ie as well as full descriptions, it now also offers payee names which have been declared with a payee directive, or recorded in transactions with the | syntax. --- hledger/Hledger/Cli/Commands/Add.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hledger/Hledger/Cli/Commands/Add.hs b/hledger/Hledger/Cli/Commands/Add.hs index 181bcb8b8..3e7cb3a80 100644 --- a/hledger/Hledger/Cli/Commands/Add.hs +++ b/hledger/Hledger/Cli/Commands/Add.hs @@ -22,7 +22,7 @@ import Control.Monad.Trans (liftIO) import Data.Char (toUpper, toLower) import Data.Either (isRight) import Data.Functor.Identity (Identity(..)) -import Data.List (isPrefixOf) +import Data.List (isPrefixOf, nub) import Data.Maybe (fromJust, fromMaybe, isJust) import Data.Text (Text) import qualified Data.Text as T @@ -390,8 +390,9 @@ maybeExit = parser (\s -> if s=="." then throw UnexpectedEOF else Just s) dateCompleter :: String -> CompletionFunc IO dateCompleter = completer ["today","tomorrow","yesterday"] +-- Offer payees declared, payees used, or full descriptions used. descriptionCompleter :: Journal -> String -> CompletionFunc IO -descriptionCompleter j = completer (map T.unpack $ journalDescriptions j) +descriptionCompleter j = completer (map T.unpack $ nub $ journalPayeesDeclaredOrUsed j ++ journalDescriptions j) accountCompleter :: Journal -> String -> CompletionFunc IO accountCompleter j = completer (map T.unpack $ journalAccountNamesDeclaredOrImplied j)