From 2afe013f9ef514b6144e7c30a5bda827f4d13db3 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 12 May 2015 18:30:33 +0200 Subject: [PATCH] Assign ::hasInvisibleCharacters on Token shims --- src/token.coffee | 3 ++- src/tokenized-line.coffee | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/token.coffee b/src/token.coffee index 7b24764ae..6a6683a73 100644 --- a/src/token.coffee +++ b/src/token.coffee @@ -21,7 +21,8 @@ class Token hasInvisibleCharacters: false constructor: (properties) -> - {@value, @scopes, @isAtomic, @bufferDelta, @isHardTab, @hasPairedCharacter, @isSoftWrapIndentation} = properties + {@value, @scopes, @isAtomic, @isHardTab, @bufferDelta} = properties + {@hasInvisibleCharacters, @hasPairedCharacter, @isSoftWrapIndentation} = properties @firstNonWhitespaceIndex = properties.firstNonWhitespaceIndex ? null @firstTrailingWhitespaceIndex = properties.firstTrailingWhitespaceIndex ? null diff --git a/src/tokenized-line.coffee b/src/tokenized-line.coffee index 352ca1264..10ed3a27e 100644 --- a/src/tokenized-line.coffee +++ b/src/tokenized-line.coffee @@ -155,6 +155,7 @@ class TokenizedLine when HardTab tokenProperties.isAtomic = true tokenProperties.bufferDelta = 1 + tokenProperties.hasInvisibleCharacters = true if @invisibles?.tab when PairedCharacter tokenProperties.isAtomic = true tokenProperties.hasPairedCharacter = true @@ -165,10 +166,12 @@ class TokenizedLine if offset < @firstNonWhitespaceIndex tokenProperties.firstNonWhitespaceIndex = Math.min(tokenProperties.value.length, @firstNonWhitespaceIndex - offset) + tokenProperties.hasInvisibleCharacters = true if @invisibles?.space if @lineEnding? and (offset + tokenProperties.value.length > @firstTrailingWhitespaceIndex) tokenProperties.firstTrailingWhitespaceIndex = Math.max(0, @firstTrailingWhitespaceIndex - offset) + tokenProperties.hasInvisibleCharacters = true if @invisibles?.space offset += tokenProperties.value.length