Skip to content

Commit

Permalink
Allow whitespace to term non-quoted string
Browse files Browse the repository at this point in the history
  • Loading branch information
derekcollison committed Apr 22, 2013
1 parent dcdcb84 commit ce8ff5d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
5 changes: 3 additions & 2 deletions conf/lex.go
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ func lexMapEnd(lx *lexer) stateFn {
// Checks if the unquoted string was actually a boolean
func (lx *lexer) isBool() bool {
str := lx.input[lx.start:lx.pos]
return str == "true" || str == "false" || str == "TRUE" || str == "FALSE"
return str == "true" || str == "false" || str == "TRUE" || str == "FALSE"
}

// lexString consumes the inner contents of a string. It assumes that the
Expand All @@ -518,7 +518,8 @@ func lexString(lx *lexer) stateFn {
switch {
case r == '\\':
return lexStringEscape
case isNL(r) || r == eof || r == optValTerm:
// Termination of non-quoted strings
case isNL(r) || r == eof || r == optValTerm || isWhitespace(r):
lx.backup()
if lx.isBool() {
lx.emit(itemBool)
Expand Down
5 changes: 4 additions & 1 deletion conf/lex_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ t true
f false
tstr "true"
tkey = two
fkey = five
fkey = five # This should be a string
`

func TestNonQuotedStrings(t *testing.T) {
Expand Down Expand Up @@ -389,6 +389,9 @@ func TestNonQuotedStrings(t *testing.T) {
{itemString, "two", 12},
{itemKey, "fkey", 13},
{itemString, "five", 13},
{itemCommentStart, "", 13},
{itemText, " This should be a string", 13},

{itemEOF, "", 14},
}
lx := lex(noquotes)
Expand Down

0 comments on commit ce8ff5d

Please sign in to comment.