mirror of
https://github.com/atom/atom.git
synced 2026-04-06 03:02:13 -04:00
Simplify ScreenLine.translateColumn
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user