Skip to content

Commit 1109665

Browse files
[chore:] Update CodeEditTextView to 0.11.0 (CodeEditApp#318)
1 parent b96f270 commit 1109665

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ let package = Package(
1717
// A fast, efficient, text view for code.
1818
.package(
1919
url: "https://github.com/CodeEditApp/CodeEditTextView.git",
20-
from: "0.10.1"
20+
from: "0.11.0"
2121
),
2222
// tree-sitter languages
2323
.package(

Sources/CodeEditSourceEditor/Controller/TextViewController+LoadView.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,7 @@ extension TextViewController {
106106
object: scrollView.contentView,
107107
queue: .main
108108
) { [weak self] notification in
109-
guard let clipView = notification.object as? NSClipView,
110-
let textView = self?.textView else { return }
111-
textView.updatedViewport(self?.scrollView.documentVisibleRect ?? .zero)
109+
guard let clipView = notification.object as? NSClipView else { return }
112110
self?.gutterView.needsDisplay = true
113111
self?.minimapXConstraint?.constant = clipView.bounds.origin.x
114112
}
@@ -120,7 +118,6 @@ extension TextViewController {
120118
object: scrollView.contentView,
121119
queue: .main
122120
) { [weak self] _ in
123-
self?.textView.updatedViewport(self?.scrollView.documentVisibleRect ?? .zero)
124121
self?.gutterView.needsDisplay = true
125122
self?.emphasisManager?.removeEmphases(for: EmphasisGroup.brackets)
126123
self?.updateTextInsets()

Sources/CodeEditSourceEditor/Minimap/MinimapLineRenderer.swift

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ final class MinimapLineRenderer: TextLayoutManagerRenderDelegate {
2121
range: NSRange,
2222
stringRef: NSTextStorage,
2323
markedRanges: MarkedRanges?,
24-
breakStrategy: LineBreakStrategy
24+
lineBreakStrategy: LineBreakStrategy
2525
) {
2626
let maxWidth: CGFloat = if let textView, textView.wrapLines {
2727
textView.layoutManager.maxLineLayoutWidth
@@ -34,7 +34,7 @@ final class MinimapLineRenderer: TextLayoutManagerRenderDelegate {
3434
range: range,
3535
stringRef: stringRef,
3636
markedRanges: markedRanges,
37-
breakStrategy: breakStrategy
37+
attachments: []
3838
)
3939

4040
// Make all fragments 2px tall
@@ -62,6 +62,12 @@ final class MinimapLineRenderer: TextLayoutManagerRenderDelegate {
6262

6363
func characterXPosition(in lineFragment: LineFragment, for offset: Int) -> CGFloat {
6464
// Offset is relative to the whole line, the CTLine is too.
65-
return 8 + (CGFloat(offset - CTLineGetStringRange(lineFragment.ctLine).location) * 1.5)
65+
guard let content = lineFragment.contents.first else { return 0.0 }
66+
switch content.data {
67+
case .text(let ctLine):
68+
return 8 + (CGFloat(offset - CTLineGetStringRange(ctLine).location) * 1.5)
69+
case .attachment:
70+
return 0.0
71+
}
6672
}
6773
}

0 commit comments

Comments
 (0)