Skip to content

Commit 381d901

Browse files
committed
Extract hard-coded strings as variables
Signed-off-by: Viktor Terziev <[email protected]>
1 parent f02a580 commit 381d901

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

template/template.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,20 @@ import (
2828

2929
var delimiter = "\\$"
3030
var substitutionNamed = "[_a-z][_a-z0-9]*"
31-
3231
var substitutionBraced = "[_a-z][_a-z0-9]*(?::?[-+?](.*))?"
3332

33+
var groupEscaped = "escaped"
34+
var groupNamed = "named"
35+
var groupBraced = "braced"
36+
var groupInvalid = "invalid"
37+
3438
var patternString = fmt.Sprintf(
35-
"%s(?i:(?P<escaped>%s)|(?P<named>%s)|{(?:(?P<braced>%s)}|(?P<invalid>)))",
36-
delimiter, delimiter, substitutionNamed, substitutionBraced,
39+
"%s(?i:(?P<%s>%s)|(?P<%s>%s)|{(?:(?P<%s>%s)}|(?P<%s>)))",
40+
delimiter,
41+
groupEscaped, delimiter,
42+
groupNamed, substitutionNamed,
43+
groupBraced, substitutionBraced,
44+
groupInvalid,
3745
)
3846

3947
var defaultPattern = regexp.MustCompile(patternString)
@@ -164,14 +172,14 @@ func DefaultReplacementAppliedFunc(substring string, mapping Mapping, cfg *Confi
164172

165173
matches := pattern.FindStringSubmatch(substring)
166174
groups := matchGroups(matches, pattern)
167-
if escaped := groups["escaped"]; escaped != "" {
175+
if escaped := groups[groupEscaped]; escaped != "" {
168176
return escaped, true, nil
169177
}
170178

171179
braced := false
172-
substitution := groups["named"]
180+
substitution := groups[groupNamed]
173181
if substitution == "" {
174-
substitution = groups["braced"]
182+
substitution = groups[groupBraced]
175183
braced = true
176184
}
177185

@@ -322,12 +330,12 @@ func extractVariable(value interface{}, pattern *regexp.Regexp) ([]Variable, boo
322330
values := []Variable{}
323331
for _, match := range matches {
324332
groups := matchGroups(match, pattern)
325-
if escaped := groups["escaped"]; escaped != "" {
333+
if escaped := groups[groupEscaped]; escaped != "" {
326334
continue
327335
}
328-
val := groups["named"]
336+
val := groups[groupNamed]
329337
if val == "" {
330-
val = groups["braced"]
338+
val = groups[groupBraced]
331339
}
332340
name := val
333341
var defaultValue string

0 commit comments

Comments
 (0)