Skip to content

Commit fc74dd5

Browse files
committed
fix whitespace handling issues
Update the Slim parsing to ignore whitespace; adding whitespace added back in.
1 parent f55b25e commit fc74dd5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+3457
-2998
lines changed

compiler/lexer_test.go

Lines changed: 5 additions & 2705 deletions
Large diffs are not rendered by default.

compiler/lexers.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,14 @@ func lexTemplate(l *lexer) lexFn {
111111
l.acceptUntil(" ")
112112
switch l.current() {
113113
case "@goht", "@haml":
114-
return lexTemplateStart(l, lexHamlLineStart)
114+
return lexTemplateStart(l, true, lexHamlLineStart)
115115
case "@slim":
116-
return lexTemplateStart(l, lexSlimLineStart)
116+
return lexTemplateStart(l, false, lexSlimLineStart)
117117
}
118118
return nil
119119
}
120120

121-
func lexTemplateStart(l *lexer, next lexFn) lexFn {
121+
func lexTemplateStart(l *lexer, keepNewlines bool, next lexFn) lexFn {
122122
l.ignore()
123123
l.skipRun(" ")
124124
l.acceptUntil(")")
@@ -138,6 +138,9 @@ func lexTemplateStart(l *lexer, next lexFn) lexFn {
138138
}
139139
l.next()
140140
l.emit(tTemplateStart)
141+
if keepNewlines {
142+
l.emit(tKeepNewlines)
143+
}
141144
l.skipRun(" {")
142145
l.skipRun("\n\r")
143146

0 commit comments

Comments
 (0)