diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index e6113d86..c0beb8f2 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -18,7 +18,7 @@ var ( sepRegex = regexp.MustCompile(`^\s*---+\s*$`) endHeaderRegex = regexp.MustCompile(`^\s*===+\s*$`) strictSepRegex = regexp.MustCompile(`^---\n$`) - skipRegex = regexp.MustCompile(`^![-.:*\w]+\s*$`) + skipRegex = regexp.MustCompile(`^![ -.:*\w]+\s*$`) nameRegex = regexp.MustCompile(`^[a-z]+$`) ) diff --git a/pkg/parser/parser_test.go b/pkg/parser/parser_test.go index 6eab45c9..7e1282ca 100644 --- a/pkg/parser/parser_test.go +++ b/pkg/parser/parser_test.go @@ -242,6 +242,23 @@ share output filters: shared }}).Equal(t, out) } +func TestParseMetaDataSpace(t *testing.T) { + input := ` +name: a space +body +--- +!metadata:a space:other +foo bar +` + tools, err := ParseTools(strings.NewReader(input)) + require.NoError(t, err) + + assert.Len(t, tools, 1) + autogold.Expect(map[string]string{ + "other": "foo bar", + }).Equal(t, tools[0].MetaData) +} + func TestParseMetaData(t *testing.T) { input := ` name: first