diff --git a/src/lines-component.coffee b/src/lines-component.coffee index ff8827a21..6099de185 100644 --- a/src/lines-component.coffee +++ b/src/lines-component.coffee @@ -213,8 +213,7 @@ LinesComponent = React.createClass innerHTML = "" scopeStack = [] - firstTrailingWhitespacePosition = text.search(/\s*$/) - lineIsWhitespaceOnly = firstTrailingWhitespacePosition is 0 + lineIsWhitespaceOnly = line.isOnlyWhitespace() for token in tokens innerHTML += @updateScopeStack(scopeStack, token.scopes) hasIndentGuide = not editor.isMini() and showIndentGuide and (token.hasLeadingWhitespace() or (token.hasTrailingWhitespace() and lineIsWhitespaceOnly)) diff --git a/src/tokenized-line.coffee b/src/tokenized-line.coffee index 60eab31d9..2e9a6a7e7 100644 --- a/src/tokenized-line.coffee +++ b/src/tokenized-line.coffee @@ -9,6 +9,7 @@ idCounter = 1 module.exports = class TokenizedLine endOfLineInvisibles: null + lineIsWhitespaceOnly: false constructor: ({tokens, @lineEnding, @ruleStack, @startBufferColumn, @fold, @tabLength, @indentLevel, @invisibles}) -> @startBufferColumn ?= 0 @@ -146,7 +147,7 @@ class TokenizedLine markLeadingAndTrailingWhitespaceTokens: -> firstNonWhitespaceIndex = @text.search(NonWhitespaceRegex) firstTrailingWhitespaceIndex = @text.search(TrailingWhitespaceRegex) - lineIsWhitespaceOnly = firstTrailingWhitespaceIndex is 0 + @lineIsWhitespaceOnly = firstTrailingWhitespaceIndex is 0 index = 0 for token in @tokens if index < firstNonWhitespaceIndex @@ -202,12 +203,7 @@ class TokenizedLine false isOnlyWhitespace: -> - if @text == '' - true - else - for token in @tokens - return false unless token.isOnlyWhitespace() - true + @lineIsWhitespaceOnly tokenAtIndex: (index) -> @tokens[index]