🐎 Only use String::substr for pair chars

This commit is contained in:
Kevin Sawicki
2014-10-24 11:28:49 -07:00
parent e928447eab
commit e5660e5e83
2 changed files with 15 additions and 8 deletions

View File

@@ -654,12 +654,14 @@ class DisplayBuffer extends Model
charWidths = @getScopedCharWidths(token.scopes)
valueIndex = 0
while valueIndex < token.value.length
if textUtils.isPairedCharacter(token.value, valueIndex)
if textUtils.isPairedCharacter(value, valueIndex)
char = value.substr(valueIndex, 2)
valueIndex += 2
charLength = 2
else
char = value[valueIndex]
charLength = 1
char = token.value.substr(valueIndex, charLength)
valueIndex += charLength
valueIndex++
return {top, left} if column is targetColumn
left += charWidths[char] ? defaultCharWidth unless char is '\0'
@@ -681,12 +683,15 @@ class DisplayBuffer extends Model
charWidths = @getScopedCharWidths(token.scopes)
valueIndex = 0
while valueIndex < token.value.length
if textUtils.isPairedCharacter(token.value, valueIndex)
if textUtils.isPairedCharacter(value, valueIndex)
char = value.substr(valueIndex, 2)
valueIndex += 2
charLength = 2
else
char = value[valueIndex]
charLength = 1
char = token.value.substr(valueIndex, charLength)
valueIndex += charLength
valueIndex++
charWidth = charWidths[char] ? defaultCharWidth
break if targetLeft <= left + (charWidth / 2)
left += charWidth

View File

@@ -315,11 +315,13 @@ LinesComponent = React.createClass
valueIndex = 0
while valueIndex < value.length
if textUtils.isPairedCharacter(value, valueIndex)
char = value.substr(valueIndex, 2)
valueIndex += 2
charLength = 2
else
char = value[valueIndex]
charLength = 1
char = value.substr(valueIndex, charLength)
valueIndex += charLength
valueIndex++
continue if char is '\0'