From 99fc4cd61ff4b5c803c77f45345c7d07fb871263 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Wed, 4 Dec 2024 16:47:01 -1000 Subject: [PATCH] imp:csv:if: show the problematic field name when warning --- hledger-lib/Hledger/Read/RulesReader.hs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hledger-lib/Hledger/Read/RulesReader.hs b/hledger-lib/Hledger/Read/RulesReader.hs index 64c4086bf..d7bd83d7f 100644 --- a/hledger-lib/Hledger/Read/RulesReader.hs +++ b/hledger-lib/Hledger/Read/RulesReader.hs @@ -808,10 +808,9 @@ isBlockActive rules record CB{..} = any (all matcherMatches) $ groupedMatchers c matcherMatches = \case RecordMatcher prefix pat -> maybeNegate prefix $ match pat $ T.intercalate "," record FieldMatcher prefix csvfieldref pat -> maybeNegate prefix $ match pat $ - fromMaybe (warn "'if %CSVFIELD' should use a name declared with 'fields', or a number" "") $ - replaceCsvFieldReference rules record csvfieldref - where - match p v = regexMatchText (dbg7 "regex" p) (dbg7 "value" v) + fromMaybe (warn msg "") $ replaceCsvFieldReference rules record csvfieldref + where msg = "if "<>T.unpack csvfieldref<>": this should be a name declared with 'fields', or %NUM" + where match p v = regexMatchText (dbg7 "regex" p) (dbg7 "value" v) -- | Group matchers into associative pairs based on prefix, e.g.: -- A