From e3dc6ccb32cca7ab993984e1072f9bc4c9cd53e8 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Wed, 29 Sep 2021 09:40:17 +0800 Subject: [PATCH] fix: parse variables --- parser.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/parser.go b/parser.go index 4540f777..c64d2c8a 100644 --- a/parser.go +++ b/parser.go @@ -76,8 +76,21 @@ func parseString(raw string, variablesMapping map[string]interface{}) interface{ continue } + currentPosition := matchStartPosition + var remainedString string + // find next $ location + nextStartPosition := strings.Index(raw[currentPosition+1:], "$") + if nextStartPosition == -1 { // no $ found + remainedString = raw[currentPosition:] + // break loop + matchStartPosition = len(raw) + } else { // found next $ + matchStartPosition = nextStartPosition + remainedString = raw[currentPosition:nextStartPosition] + } + // append remained string - parsedString += raw[matchStartPosition:] + parsedString += remainedString } return parsedString