From b5d4918c163b712e6fd89180b8d2219898d24bc1 Mon Sep 17 00:00:00 2001 From: Dmitry Astapov Date: Tue, 15 Oct 2019 20:52:42 +0100 Subject: [PATCH] lib: allow recursive interpolation of fields with underscores in names --- hledger-lib/Hledger/Read/CsvReader.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hledger-lib/Hledger/Read/CsvReader.hs b/hledger-lib/Hledger/Read/CsvReader.hs index 3b176ef77..803ac8357 100644 --- a/hledger-lib/Hledger/Read/CsvReader.hs +++ b/hledger-lib/Hledger/Read/CsvReader.hs @@ -950,7 +950,7 @@ getEffectiveAssignment rules record f = lastMay $ assignmentsFor f -- | Render a field assigment's template, possibly interpolating referenced -- CSV field values. Outer whitespace is removed from interpolated values. renderTemplate :: CsvRules -> CsvRecord -> FieldTemplate -> String -renderTemplate rules record t = regexReplaceBy "%[A-z0-9-]+" replace t +renderTemplate rules record t = regexReplaceBy "%[A-z0-9_-]+" replace t where replace ('%':pat) = maybe pat (\i -> strip $ atDef "" record (i-1)) mindex where