rudimentry support for nested quotes

pull/34/head
Alex Quick 2017-05-20 14:50:15 -04:00
parent b9324c6f3c
commit 84bf91f40e
2 changed files with 4 additions and 1 deletions

View File

@ -234,7 +234,7 @@ func parseValue(value string) string {
last := string(value[len(value)-1:])
if first == last && strings.ContainsAny(first, `"'`) {
// pull the quotes off the edges
value = strings.Trim(value, `"'`)
value = value[1 : len(value)-1]
// handle escapes
escapeRegex := regexp.MustCompile(`\\.`)
value = escapeRegex.ReplaceAllStringFunc(value, func(match string) string {

View File

@ -199,6 +199,9 @@ func TestParsing(t *testing.T) {
// parses escaped double quotes
parseAndCompare(t, `FOO="escaped\"bar"`, "FOO", `escaped"bar`)
// parses single quotes inside double quotes
parseAndCompare(t, `FOO="'d'"`, "FOO", `'d'`)
// parses yaml style options
parseAndCompare(t, "OPTION_A: 1", "OPTION_A", "1")