From 99682eb50711d2bc1507508c0f05df0e547873b9 Mon Sep 17 00:00:00 2001 From: rsteube Date: Sat, 29 Jul 2023 12:30:15 +0200 Subject: [PATCH] lexer: quote workaround --- internal/lexer/lexer.go | 8 ++++++-- internal/lexer/lexer_test.go | 1 - 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/internal/lexer/lexer.go b/internal/lexer/lexer.go index f2ead058..b51220d3 100644 --- a/internal/lexer/lexer.go +++ b/internal/lexer/lexer.go @@ -23,15 +23,19 @@ type Tokenset struct { func Split(s string, pipelines bool) (*Tokenset, error) { tokenset, err := split(s, pipelines) if err != nil && err.Error() == "EOF found when expecting closing quote" { - tokenset, err = split(s+`"`, pipelines) + tokenset, err = split(s+`_"`, pipelines) if err == nil { tokenset.State = OPEN_DOUBLE + last := tokenset.Tokens[len(tokenset.Tokens)-1] + tokenset.Tokens[len(tokenset.Tokens)-1] = last[:len(last)-1] } } if err != nil && err.Error() == "EOF found when expecting closing quote" { - tokenset, err = split(s+`'`, pipelines) + tokenset, err = split(s+`_'`, pipelines) if err == nil { tokenset.State = OPEN_SINGLE + last := tokenset.Tokens[len(tokenset.Tokens)-1] + tokenset.Tokens[len(tokenset.Tokens)-1] = last[:len(last)-1] } } return tokenset, err diff --git a/internal/lexer/lexer_test.go b/internal/lexer/lexer_test.go index b55063fa..77bf2b83 100644 --- a/internal/lexer/lexer_test.go +++ b/internal/lexer/lexer_test.go @@ -150,7 +150,6 @@ func TestSplit(t *testing.T) { State: OPEN_DOUBLE, }) - t.Skip("skipping test that don't work yet") // TODO these need to work _test(`example "`, Tokenset{ Tokens: []string{"example", ""}, Prefix: `example `,