Skip to content

Commit 9634ad0

Browse files
committed
Use convert range methods from SourceEditor
1 parent 865ed7a commit 9634ad0

File tree

2 files changed

+2
-95
lines changed

2 files changed

+2
-95
lines changed

Core/Sources/Service/SuggestionCommandHandler/PseudoCommandHandler.swift

Lines changed: 2 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ extension PseudoCommandHandler {
321321
// recover selection range
322322

323323
if let selection = result.newSelection {
324-
var range = convertCursorRangeToRange(selection, in: result.content)
324+
var range = SourceEditor.convertCursorRangeToRange(selection, in: result.content)
325325
if let value = AXValueCreate(.cfRange, &range) {
326326
AXUIElementSetAttributeValue(
327327
focusElement,
@@ -373,7 +373,7 @@ extension PseudoCommandHandler {
373373
guard let selectionRange = focusElement.selectedTextRange else { return nil }
374374
let content = focusElement.value
375375
let split = content.breakLines(appendLineBreakToLastLine: false)
376-
let range = convertRangeToCursorRange(selectionRange, in: content)
376+
let range = SourceEditor.convertRangeToCursorRange(selectionRange, in: content)
377377
return (content, split, [range], range.start)
378378
}
379379

@@ -418,55 +418,5 @@ extension PseudoCommandHandler {
418418
usesTabsForIndentation: usesTabsForIndentation
419419
)
420420
}
421-
422-
func convertCursorRangeToRange(
423-
_ cursorRange: CursorRange,
424-
in content: String
425-
) -> CFRange {
426-
let lines = content.breakLines()
427-
var countS = 0
428-
var countE = 0
429-
var range = CFRange(location: 0, length: 0)
430-
for (i, line) in lines.enumerated() {
431-
if i == cursorRange.start.line {
432-
countS = countS + cursorRange.start.character
433-
range.location = countS
434-
}
435-
if i == cursorRange.end.line {
436-
countE = countE + cursorRange.end.character
437-
range.length = max(countE - range.location, 0)
438-
break
439-
}
440-
countS += line.count
441-
countE += line.count
442-
}
443-
return range
444-
}
445-
446-
func convertRangeToCursorRange(
447-
_ range: ClosedRange<Int>,
448-
in content: String
449-
) -> CursorRange {
450-
let lines = content.breakLines()
451-
guard !lines.isEmpty else { return CursorRange(start: .zero, end: .zero) }
452-
var countS = 0
453-
var countE = 0
454-
var cursorRange = CursorRange(start: .zero, end: .outOfScope)
455-
for (i, line) in lines.enumerated() {
456-
if countS <= range.lowerBound, range.lowerBound < countS + line.count {
457-
cursorRange.start = .init(line: i, character: range.lowerBound - countS)
458-
}
459-
if countE <= range.upperBound, range.upperBound < countE + line.count {
460-
cursorRange.end = .init(line: i, character: range.upperBound - countE)
461-
break
462-
}
463-
countS += line.count
464-
countE += line.count
465-
}
466-
if cursorRange.end == .outOfScope {
467-
cursorRange.end = .init(line: lines.endIndex - 1, character: lines.last?.count ?? 0)
468-
}
469-
return cursorRange
470-
}
471421
}
472422

Core/Tests/ServiceTests/PseudoCommandHandlerFileProcessingTests.swift

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)