diff --git a/parser/parser.go b/parser/parser.go index 635e7276..b8007c2a 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -71,22 +71,16 @@ func scanModelfile(data []byte, atEOF bool) (advance int, token []byte, err erro if start := bytes.Index(data, []byte(`"""`)); start >= 0 && start < newline { end := bytes.Index(data[start+3:], []byte(`"""`)) if end < 0 { - return 0, nil, errors.New(`unterminated multiline string: """`) + if atEOF { + return 0, nil, errors.New(`unterminated multiline string: """`) + } else { + return 0, nil, nil + } } n := start + 3 + end + 3 return n, bytes.Replace(data[:n], []byte(`"""`), []byte(""), 2), nil } - if start := bytes.Index(data, []byte(`'''`)); start >= 0 && start < newline { - end := bytes.Index(data[start+3:], []byte(`'''`)) - if end < 0 { - return 0, nil, errors.New("unterminated multiline string: '''") - } - - n := start + 3 + end + 3 - return n, bytes.Replace(data[:n], []byte("'''"), []byte(""), 2), nil - } - return bufio.ScanLines(data, atEOF) }