Create class array for each whitespace type

Previously if the token has both leading and
trailing whitespace the classes would bleed
across the cases and cause an exception to be
thrown.

Closes #298
This commit is contained in:
Kevin Sawicki
2013-02-21 16:11:40 -08:00
parent aa84256774
commit dae46eab87

View File

@@ -71,9 +71,9 @@ class Token
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
classes = []
classes.push('indent-guide') if hasIndentGuide
if @isHardTab
classes = []
classes.push('indent-guide') if hasIndentGuide
classes.push('invisible') if invisibles.tab
classes.push('hard-tab')
classes = classes.join(' ')
@@ -82,6 +82,8 @@ class Token
"<span class='#{classes}'>#{match}</span>"
else
if hasLeadingWhitespace
classes = []
classes.push('indent-guide') if hasIndentGuide
classes.push('invisible') if invisibles.space
classes.push('leading-whitespace')
classes = classes.join(' ')
@@ -89,6 +91,8 @@ class Token
match = match.replace(/./g, invisibles.space) if invisibles.space
"<span class='#{classes}'>#{match}</span>"
if hasTrailingWhitespace
classes = []
classes.push('indent-guide') if hasIndentGuide
classes.push('invisible') if invisibles.space
classes.push('trailing-whitespace')
classes = classes.join(' ')