Simplify ScreenLine.translateColumn

This commit is contained in:
Corey Johnson & Nathan Sobo
2012-10-16 17:08:10 -07:00
parent 7d77d95bf8
commit 9f71b3057c

View File

@@ -59,28 +59,27 @@ class ScreenLine
{ skipAtomicTokens } = options
sourceColumn = Math.min(sourceColumn, @textLength())
currentSourceColumn = 0
currentTargetColumn = 0
isSourceColumnBeforeLastToken = false
for token in @tokens
tokenStartTargetColumn = currentTargetColumn
tokenStartSourceColumn = currentSourceColumn
tokenEndSourceColumn = currentSourceColumn + token[sourceDeltaType]
tokenEndTargetColumn = currentTargetColumn + token[targetDeltaType]
if tokenEndSourceColumn > sourceColumn
isSourceColumnBeforeLastToken = true
break
currentSourceColumn = tokenEndSourceColumn
currentTargetColumn = tokenEndTargetColumn
tokenStartTargetColumn = 0
tokenStartSourceColumn = 0
if isSourceColumnBeforeLastToken and token?.isAtomic
if skipAtomicTokens and sourceColumn > tokenStartSourceColumn
for token in @tokens
tokenEndSourceColumn = tokenStartSourceColumn + token[sourceDeltaType]
tokenEndTargetColumn = tokenStartTargetColumn + token[targetDeltaType]
break if tokenEndSourceColumn > sourceColumn
tokenStartTargetColumn = tokenEndTargetColumn
tokenStartSourceColumn = tokenEndSourceColumn
sourceColumnIsInsideToken = tokenStartSourceColumn < sourceColumn < tokenEndSourceColumn
if token?.isAtomic and sourceColumnIsInsideToken
if skipAtomicTokens
tokenEndTargetColumn
else
tokenStartTargetColumn
else
remainingColumns = sourceColumn - currentSourceColumn
currentTargetColumn + remainingColumns
remainingColumns = sourceColumn - tokenStartSourceColumn
tokenStartTargetColumn + remainingColumns
textLength: ->
if @fold