Build Information
Successful build of CodeEditTextView, reference 0.10.1 (a5912e
), with Swift 6.0 for macOS (SPM) on 21 Apr 2025 16:02:01 UTC.
Swift 6 data race errors: 26
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
123 | }
124 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:132:23: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
124 |
125 | /// Removes all emphases for all groups.
126 | public func removeAllEmphases() {
| `- note: add '@MainActor' to make instance method 'removeAllEmphases()' part of global actor 'MainActor'
127 | emphasisGroups.keys.forEach { removeEmphases(for: $0) }
128 | emphasisGroups.removeAll()
:
130 | // Restore original selection emphasizing
131 | if let originalColor = originalSelectionColor {
132 | textView?.selectionManager.selectionBackgroundColor = originalColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
133 | }
134 | originalSelectionColor = nil
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:183:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
181 |
182 | let layer = createShapeLayer(shapePath: shapePath, emphasis: emphasis)
183 | textView?.layer?.insertSublayer(layer, at: 1)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
184 |
185 | let textLayer = createTextLayer(for: emphasis)
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:187:23: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
185 | let textLayer = createTextLayer(for: emphasis)
186 | if let textLayer = textLayer {
187 | textView?.layer?.addSublayer(textLayer)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
188 | }
189 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:200:30: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:202:49: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
203 | return nil
204 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:263:44: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:265:45: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
266 | return nil
267 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:246:29: note: property declared here
244 | /// layout system. Use methods like ``TextView/replaceCharacters(in:with:)-58mt7`` or
245 | /// ``TextView/insertText(_:)`` to modify content.
246 | package(set) public var textStorage: NSTextStorage!
| `- note: property declared here
247 |
248 | /// The layout manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:52: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSWindow:249:25: note: property declared here
247 | open func setDynamicDepthLimit(_ flag: Bool)
248 | open var hasDynamicDepthLimit: Bool { get }
249 | @MainActor open var screen: NSScreen? { get }
| `- note: property declared here
250 | open var deepestScreen: NSScreen? { get }
251 | open var hasShadow: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:44: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSView:4:30: note: property declared here
2 | @MainActor public init(frame frameRect: NSRect)
3 | @MainActor public init?(coder: NSCoder)
4 | unowned(unsafe) open var window: NSWindow? { get }
| `- note: property declared here
5 | unowned(unsafe) open var superview: NSView? { get }
6 | open var subviews: [NSView] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:306:22: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
303 | }
304 |
305 | private func getInactiveTextColor() -> NSColor {
| `- note: add '@MainActor' to make instance method 'getInactiveTextColor()' part of global actor 'MainActor'
306 | if textView?.effectiveAppearance.name == .darkAqua {
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
307 | return .white
308 | }
AppKit.NSView:361:14: note: property declared here
359 | open var appearance: NSAppearance? { get set }
360 | @available(macOS 10.9, *)
361 | open var effectiveAppearance: NSAppearance { get }
| `- note: property declared here
362 | @available(macOS 10.5, *)
363 | open func animator() -> Self
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:353:18: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:354:18: warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
| `- warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
355 | textView.needsDisplay = true
356 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView+ScrollToVisible.swift:16:17: note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
14 |
15 | /// Scrolls the upmost selection to the visible rect if `scrollView` is not `nil`.
16 | public func scrollSelectionToVisible() {
| `- note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
17 | guard let scrollView, let selection = getSelection() else {
18 | return
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:355:18: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
:
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
356 | }
357 | }
AppKit.NSView:177:14: note: mutation of this property is only permitted within the actor
175 | @available(swift, obsoleted: 3, renamed: "setNeedsDisplay(_:)")
176 | open func setNeedsDisplayInRect(_ invalidRect: NSRect)
177 | open var needsDisplay: Bool { get set }
| `- note: mutation of this property is only permitted within the actor
178 | @available(macOS, introduced: 10.0, deprecated: 10.14, message: "To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.")
179 | open func lockFocus()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:75:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
73 | for flashingLayer in emphasisGroups[id, default: []].filter({ $0.emphasis.flash }) {
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
77 | // Remove the emphasis from the group if it still exists
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:76:48: warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
| |- warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'flashingLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | // Remove the emphasis from the group if it still exists
78 | guard let emphasisIdx = self.emphasisGroups[id, default: []].firstIndex(
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:342:13: warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
340 | // Remove both layers after animation completes
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
| |- warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'layer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
343 | textLayer?.removeFromSuperlayer()
344 | completion()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:343:13: warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
| |- warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'textLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
344 | completion()
345 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:344:13: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
344 | completion()
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
345 | }
346 | }
[445/450] Compiling CodeEditTextView CursorTimer.swift
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:37:13: warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
9 | import AppKit
10 |
11 | class CursorTimer {
| `- note: class 'CursorTimer' does not conform to the 'Sendable' protocol
12 | /// # Properties
13 |
:
35 |
36 | timer = Timer.scheduledTimer(withTimeInterval: newBlinkDuration, repeats: true) { [weak self] _ in
37 | self?.assertMain()
| `- warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
38 | self?.shouldHide.toggle()
39 | guard let shouldHide = self?.shouldHide else { return }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:56:20: warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | /// Notify all cursors of a new blink state.
53 | /// - Parameter shouldHide: Whether or not the cursors should be hidden or not.
54 | private func notifyCursors(shouldHide: Bool) {
| `- note: add '@MainActor' to make instance method 'notifyCursors(shouldHide:)' part of global actor 'MainActor'
55 | for cursor in cursors.allObjects {
56 | cursor.blinkTimer(shouldHide)
| `- warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorView.swift:49:10: note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
47 | }
48 |
49 | func blinkTimer(_ shouldHideCursor: Bool) {
| `- note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
50 | self.isHidden = shouldHideCursor
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:64:48: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
59 | /// - emphases: The emphases to add
60 | /// - id: The group identifier
61 | public func addEmphases(_ emphases: [Emphasis], for id: String) {
| `- note: add '@MainActor' to make instance method 'addEmphases(_:for:)' part of global actor 'MainActor'
62 | // Store the current selection background color if not already stored
63 | if originalSelectionColor == nil {
64 | originalSelectionColor = textView?.selectionManager.selectionBackgroundColor ?? .selectedTextBackgroundColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
65 | }
66 |
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:122:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | /// Removes all emphases for the given group.
115 | /// - Parameter id: The group identifier
116 | public func removeEmphases(for id: String) {
| `- note: add '@MainActor' to make instance method 'removeEmphases(for:)' part of global actor 'MainActor'
117 | emphasisGroups[id]?.forEach { emphasis in
118 | emphasis.removeLayers()
:
120 | emphasisGroups[id] = nil
121 |
122 | textView?.layer?.layoutIfNeeded()
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
123 | }
124 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:132:23: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
124 |
125 | /// Removes all emphases for all groups.
126 | public func removeAllEmphases() {
| `- note: add '@MainActor' to make instance method 'removeAllEmphases()' part of global actor 'MainActor'
127 | emphasisGroups.keys.forEach { removeEmphases(for: $0) }
128 | emphasisGroups.removeAll()
:
130 | // Restore original selection emphasizing
131 | if let originalColor = originalSelectionColor {
132 | textView?.selectionManager.selectionBackgroundColor = originalColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
133 | }
134 | originalSelectionColor = nil
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:183:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
181 |
182 | let layer = createShapeLayer(shapePath: shapePath, emphasis: emphasis)
183 | textView?.layer?.insertSublayer(layer, at: 1)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
184 |
185 | let textLayer = createTextLayer(for: emphasis)
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:187:23: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
185 | let textLayer = createTextLayer(for: emphasis)
186 | if let textLayer = textLayer {
187 | textView?.layer?.addSublayer(textLayer)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
188 | }
189 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:200:30: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:202:49: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
203 | return nil
204 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:263:44: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:265:45: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
266 | return nil
267 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:246:29: note: property declared here
244 | /// layout system. Use methods like ``TextView/replaceCharacters(in:with:)-58mt7`` or
245 | /// ``TextView/insertText(_:)`` to modify content.
246 | package(set) public var textStorage: NSTextStorage!
| `- note: property declared here
247 |
248 | /// The layout manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:52: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSWindow:249:25: note: property declared here
247 | open func setDynamicDepthLimit(_ flag: Bool)
248 | open var hasDynamicDepthLimit: Bool { get }
249 | @MainActor open var screen: NSScreen? { get }
| `- note: property declared here
250 | open var deepestScreen: NSScreen? { get }
251 | open var hasShadow: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:44: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSView:4:30: note: property declared here
2 | @MainActor public init(frame frameRect: NSRect)
3 | @MainActor public init?(coder: NSCoder)
4 | unowned(unsafe) open var window: NSWindow? { get }
| `- note: property declared here
5 | unowned(unsafe) open var superview: NSView? { get }
6 | open var subviews: [NSView] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:306:22: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
303 | }
304 |
305 | private func getInactiveTextColor() -> NSColor {
| `- note: add '@MainActor' to make instance method 'getInactiveTextColor()' part of global actor 'MainActor'
306 | if textView?.effectiveAppearance.name == .darkAqua {
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
307 | return .white
308 | }
AppKit.NSView:361:14: note: property declared here
359 | open var appearance: NSAppearance? { get set }
360 | @available(macOS 10.9, *)
361 | open var effectiveAppearance: NSAppearance { get }
| `- note: property declared here
362 | @available(macOS 10.5, *)
363 | open func animator() -> Self
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:353:18: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:354:18: warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
| `- warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
355 | textView.needsDisplay = true
356 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView+ScrollToVisible.swift:16:17: note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
14 |
15 | /// Scrolls the upmost selection to the visible rect if `scrollView` is not `nil`.
16 | public func scrollSelectionToVisible() {
| `- note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
17 | guard let scrollView, let selection = getSelection() else {
18 | return
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:355:18: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
:
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
356 | }
357 | }
AppKit.NSView:177:14: note: mutation of this property is only permitted within the actor
175 | @available(swift, obsoleted: 3, renamed: "setNeedsDisplay(_:)")
176 | open func setNeedsDisplayInRect(_ invalidRect: NSRect)
177 | open var needsDisplay: Bool { get set }
| `- note: mutation of this property is only permitted within the actor
178 | @available(macOS, introduced: 10.0, deprecated: 10.14, message: "To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.")
179 | open func lockFocus()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:75:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
73 | for flashingLayer in emphasisGroups[id, default: []].filter({ $0.emphasis.flash }) {
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
77 | // Remove the emphasis from the group if it still exists
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:76:48: warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
| |- warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'flashingLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | // Remove the emphasis from the group if it still exists
78 | guard let emphasisIdx = self.emphasisGroups[id, default: []].firstIndex(
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:342:13: warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
340 | // Remove both layers after animation completes
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
| |- warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'layer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
343 | textLayer?.removeFromSuperlayer()
344 | completion()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:343:13: warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
| |- warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'textLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
344 | completion()
345 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:344:13: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
344 | completion()
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
345 | }
346 | }
[446/450] Compiling CodeEditTextView CursorView.swift
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:37:13: warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
9 | import AppKit
10 |
11 | class CursorTimer {
| `- note: class 'CursorTimer' does not conform to the 'Sendable' protocol
12 | /// # Properties
13 |
:
35 |
36 | timer = Timer.scheduledTimer(withTimeInterval: newBlinkDuration, repeats: true) { [weak self] _ in
37 | self?.assertMain()
| `- warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
38 | self?.shouldHide.toggle()
39 | guard let shouldHide = self?.shouldHide else { return }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:56:20: warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | /// Notify all cursors of a new blink state.
53 | /// - Parameter shouldHide: Whether or not the cursors should be hidden or not.
54 | private func notifyCursors(shouldHide: Bool) {
| `- note: add '@MainActor' to make instance method 'notifyCursors(shouldHide:)' part of global actor 'MainActor'
55 | for cursor in cursors.allObjects {
56 | cursor.blinkTimer(shouldHide)
| `- warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorView.swift:49:10: note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
47 | }
48 |
49 | func blinkTimer(_ shouldHideCursor: Bool) {
| `- note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
50 | self.isHidden = shouldHideCursor
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:64:48: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
59 | /// - emphases: The emphases to add
60 | /// - id: The group identifier
61 | public func addEmphases(_ emphases: [Emphasis], for id: String) {
| `- note: add '@MainActor' to make instance method 'addEmphases(_:for:)' part of global actor 'MainActor'
62 | // Store the current selection background color if not already stored
63 | if originalSelectionColor == nil {
64 | originalSelectionColor = textView?.selectionManager.selectionBackgroundColor ?? .selectedTextBackgroundColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
65 | }
66 |
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:122:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | /// Removes all emphases for the given group.
115 | /// - Parameter id: The group identifier
116 | public func removeEmphases(for id: String) {
| `- note: add '@MainActor' to make instance method 'removeEmphases(for:)' part of global actor 'MainActor'
117 | emphasisGroups[id]?.forEach { emphasis in
118 | emphasis.removeLayers()
:
120 | emphasisGroups[id] = nil
121 |
122 | textView?.layer?.layoutIfNeeded()
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
123 | }
124 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:132:23: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
124 |
125 | /// Removes all emphases for all groups.
126 | public func removeAllEmphases() {
| `- note: add '@MainActor' to make instance method 'removeAllEmphases()' part of global actor 'MainActor'
127 | emphasisGroups.keys.forEach { removeEmphases(for: $0) }
128 | emphasisGroups.removeAll()
:
130 | // Restore original selection emphasizing
131 | if let originalColor = originalSelectionColor {
132 | textView?.selectionManager.selectionBackgroundColor = originalColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
133 | }
134 | originalSelectionColor = nil
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:183:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
181 |
182 | let layer = createShapeLayer(shapePath: shapePath, emphasis: emphasis)
183 | textView?.layer?.insertSublayer(layer, at: 1)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
184 |
185 | let textLayer = createTextLayer(for: emphasis)
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:187:23: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
185 | let textLayer = createTextLayer(for: emphasis)
186 | if let textLayer = textLayer {
187 | textView?.layer?.addSublayer(textLayer)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
188 | }
189 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:200:30: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:202:49: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
203 | return nil
204 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:263:44: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:265:45: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
266 | return nil
267 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:246:29: note: property declared here
244 | /// layout system. Use methods like ``TextView/replaceCharacters(in:with:)-58mt7`` or
245 | /// ``TextView/insertText(_:)`` to modify content.
246 | package(set) public var textStorage: NSTextStorage!
| `- note: property declared here
247 |
248 | /// The layout manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:52: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSWindow:249:25: note: property declared here
247 | open func setDynamicDepthLimit(_ flag: Bool)
248 | open var hasDynamicDepthLimit: Bool { get }
249 | @MainActor open var screen: NSScreen? { get }
| `- note: property declared here
250 | open var deepestScreen: NSScreen? { get }
251 | open var hasShadow: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:44: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSView:4:30: note: property declared here
2 | @MainActor public init(frame frameRect: NSRect)
3 | @MainActor public init?(coder: NSCoder)
4 | unowned(unsafe) open var window: NSWindow? { get }
| `- note: property declared here
5 | unowned(unsafe) open var superview: NSView? { get }
6 | open var subviews: [NSView] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:306:22: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
303 | }
304 |
305 | private func getInactiveTextColor() -> NSColor {
| `- note: add '@MainActor' to make instance method 'getInactiveTextColor()' part of global actor 'MainActor'
306 | if textView?.effectiveAppearance.name == .darkAqua {
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
307 | return .white
308 | }
AppKit.NSView:361:14: note: property declared here
359 | open var appearance: NSAppearance? { get set }
360 | @available(macOS 10.9, *)
361 | open var effectiveAppearance: NSAppearance { get }
| `- note: property declared here
362 | @available(macOS 10.5, *)
363 | open func animator() -> Self
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:353:18: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:354:18: warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
| `- warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
355 | textView.needsDisplay = true
356 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView+ScrollToVisible.swift:16:17: note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
14 |
15 | /// Scrolls the upmost selection to the visible rect if `scrollView` is not `nil`.
16 | public func scrollSelectionToVisible() {
| `- note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
17 | guard let scrollView, let selection = getSelection() else {
18 | return
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:355:18: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
:
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
356 | }
357 | }
AppKit.NSView:177:14: note: mutation of this property is only permitted within the actor
175 | @available(swift, obsoleted: 3, renamed: "setNeedsDisplay(_:)")
176 | open func setNeedsDisplayInRect(_ invalidRect: NSRect)
177 | open var needsDisplay: Bool { get set }
| `- note: mutation of this property is only permitted within the actor
178 | @available(macOS, introduced: 10.0, deprecated: 10.14, message: "To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.")
179 | open func lockFocus()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:75:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
73 | for flashingLayer in emphasisGroups[id, default: []].filter({ $0.emphasis.flash }) {
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
77 | // Remove the emphasis from the group if it still exists
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:76:48: warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
| |- warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'flashingLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | // Remove the emphasis from the group if it still exists
78 | guard let emphasisIdx = self.emphasisGroups[id, default: []].firstIndex(
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:342:13: warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
340 | // Remove both layers after animation completes
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
| |- warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'layer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
343 | textLayer?.removeFromSuperlayer()
344 | completion()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:343:13: warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
| |- warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'textLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
344 | completion()
345 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:344:13: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
344 | completion()
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
345 | }
346 | }
[447/450] Compiling CodeEditTextView Emphasis.swift
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:37:13: warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
9 | import AppKit
10 |
11 | class CursorTimer {
| `- note: class 'CursorTimer' does not conform to the 'Sendable' protocol
12 | /// # Properties
13 |
:
35 |
36 | timer = Timer.scheduledTimer(withTimeInterval: newBlinkDuration, repeats: true) { [weak self] _ in
37 | self?.assertMain()
| `- warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
38 | self?.shouldHide.toggle()
39 | guard let shouldHide = self?.shouldHide else { return }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:56:20: warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | /// Notify all cursors of a new blink state.
53 | /// - Parameter shouldHide: Whether or not the cursors should be hidden or not.
54 | private func notifyCursors(shouldHide: Bool) {
| `- note: add '@MainActor' to make instance method 'notifyCursors(shouldHide:)' part of global actor 'MainActor'
55 | for cursor in cursors.allObjects {
56 | cursor.blinkTimer(shouldHide)
| `- warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorView.swift:49:10: note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
47 | }
48 |
49 | func blinkTimer(_ shouldHideCursor: Bool) {
| `- note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
50 | self.isHidden = shouldHideCursor
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:64:48: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
59 | /// - emphases: The emphases to add
60 | /// - id: The group identifier
61 | public func addEmphases(_ emphases: [Emphasis], for id: String) {
| `- note: add '@MainActor' to make instance method 'addEmphases(_:for:)' part of global actor 'MainActor'
62 | // Store the current selection background color if not already stored
63 | if originalSelectionColor == nil {
64 | originalSelectionColor = textView?.selectionManager.selectionBackgroundColor ?? .selectedTextBackgroundColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
65 | }
66 |
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:122:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | /// Removes all emphases for the given group.
115 | /// - Parameter id: The group identifier
116 | public func removeEmphases(for id: String) {
| `- note: add '@MainActor' to make instance method 'removeEmphases(for:)' part of global actor 'MainActor'
117 | emphasisGroups[id]?.forEach { emphasis in
118 | emphasis.removeLayers()
:
120 | emphasisGroups[id] = nil
121 |
122 | textView?.layer?.layoutIfNeeded()
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
123 | }
124 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:132:23: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
124 |
125 | /// Removes all emphases for all groups.
126 | public func removeAllEmphases() {
| `- note: add '@MainActor' to make instance method 'removeAllEmphases()' part of global actor 'MainActor'
127 | emphasisGroups.keys.forEach { removeEmphases(for: $0) }
128 | emphasisGroups.removeAll()
:
130 | // Restore original selection emphasizing
131 | if let originalColor = originalSelectionColor {
132 | textView?.selectionManager.selectionBackgroundColor = originalColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
133 | }
134 | originalSelectionColor = nil
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:183:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
181 |
182 | let layer = createShapeLayer(shapePath: shapePath, emphasis: emphasis)
183 | textView?.layer?.insertSublayer(layer, at: 1)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
184 |
185 | let textLayer = createTextLayer(for: emphasis)
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:187:23: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
185 | let textLayer = createTextLayer(for: emphasis)
186 | if let textLayer = textLayer {
187 | textView?.layer?.addSublayer(textLayer)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
188 | }
189 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:200:30: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:202:49: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
203 | return nil
204 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:263:44: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:265:45: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
266 | return nil
267 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:246:29: note: property declared here
244 | /// layout system. Use methods like ``TextView/replaceCharacters(in:with:)-58mt7`` or
245 | /// ``TextView/insertText(_:)`` to modify content.
246 | package(set) public var textStorage: NSTextStorage!
| `- note: property declared here
247 |
248 | /// The layout manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:52: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSWindow:249:25: note: property declared here
247 | open func setDynamicDepthLimit(_ flag: Bool)
248 | open var hasDynamicDepthLimit: Bool { get }
249 | @MainActor open var screen: NSScreen? { get }
| `- note: property declared here
250 | open var deepestScreen: NSScreen? { get }
251 | open var hasShadow: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:44: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSView:4:30: note: property declared here
2 | @MainActor public init(frame frameRect: NSRect)
3 | @MainActor public init?(coder: NSCoder)
4 | unowned(unsafe) open var window: NSWindow? { get }
| `- note: property declared here
5 | unowned(unsafe) open var superview: NSView? { get }
6 | open var subviews: [NSView] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:306:22: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
303 | }
304 |
305 | private func getInactiveTextColor() -> NSColor {
| `- note: add '@MainActor' to make instance method 'getInactiveTextColor()' part of global actor 'MainActor'
306 | if textView?.effectiveAppearance.name == .darkAqua {
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
307 | return .white
308 | }
AppKit.NSView:361:14: note: property declared here
359 | open var appearance: NSAppearance? { get set }
360 | @available(macOS 10.9, *)
361 | open var effectiveAppearance: NSAppearance { get }
| `- note: property declared here
362 | @available(macOS 10.5, *)
363 | open func animator() -> Self
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:353:18: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:354:18: warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
| `- warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
355 | textView.needsDisplay = true
356 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView+ScrollToVisible.swift:16:17: note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
14 |
15 | /// Scrolls the upmost selection to the visible rect if `scrollView` is not `nil`.
16 | public func scrollSelectionToVisible() {
| `- note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
17 | guard let scrollView, let selection = getSelection() else {
18 | return
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:355:18: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
:
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
356 | }
357 | }
AppKit.NSView:177:14: note: mutation of this property is only permitted within the actor
175 | @available(swift, obsoleted: 3, renamed: "setNeedsDisplay(_:)")
176 | open func setNeedsDisplayInRect(_ invalidRect: NSRect)
177 | open var needsDisplay: Bool { get set }
| `- note: mutation of this property is only permitted within the actor
178 | @available(macOS, introduced: 10.0, deprecated: 10.14, message: "To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.")
179 | open func lockFocus()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:75:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
73 | for flashingLayer in emphasisGroups[id, default: []].filter({ $0.emphasis.flash }) {
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
77 | // Remove the emphasis from the group if it still exists
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:76:48: warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
| |- warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'flashingLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | // Remove the emphasis from the group if it still exists
78 | guard let emphasisIdx = self.emphasisGroups[id, default: []].firstIndex(
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:342:13: warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
340 | // Remove both layers after animation completes
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
| |- warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'layer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
343 | textLayer?.removeFromSuperlayer()
344 | completion()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:343:13: warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
| |- warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'textLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
344 | completion()
345 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:344:13: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
344 | completion()
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
345 | }
346 | }
[448/450] Compiling CodeEditTextView EmphasisManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:37:13: warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
9 | import AppKit
10 |
11 | class CursorTimer {
| `- note: class 'CursorTimer' does not conform to the 'Sendable' protocol
12 | /// # Properties
13 |
:
35 |
36 | timer = Timer.scheduledTimer(withTimeInterval: newBlinkDuration, repeats: true) { [weak self] _ in
37 | self?.assertMain()
| `- warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
38 | self?.shouldHide.toggle()
39 | guard let shouldHide = self?.shouldHide else { return }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:56:20: warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | /// Notify all cursors of a new blink state.
53 | /// - Parameter shouldHide: Whether or not the cursors should be hidden or not.
54 | private func notifyCursors(shouldHide: Bool) {
| `- note: add '@MainActor' to make instance method 'notifyCursors(shouldHide:)' part of global actor 'MainActor'
55 | for cursor in cursors.allObjects {
56 | cursor.blinkTimer(shouldHide)
| `- warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorView.swift:49:10: note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
47 | }
48 |
49 | func blinkTimer(_ shouldHideCursor: Bool) {
| `- note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
50 | self.isHidden = shouldHideCursor
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:64:48: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
59 | /// - emphases: The emphases to add
60 | /// - id: The group identifier
61 | public func addEmphases(_ emphases: [Emphasis], for id: String) {
| `- note: add '@MainActor' to make instance method 'addEmphases(_:for:)' part of global actor 'MainActor'
62 | // Store the current selection background color if not already stored
63 | if originalSelectionColor == nil {
64 | originalSelectionColor = textView?.selectionManager.selectionBackgroundColor ?? .selectedTextBackgroundColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
65 | }
66 |
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:122:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | /// Removes all emphases for the given group.
115 | /// - Parameter id: The group identifier
116 | public func removeEmphases(for id: String) {
| `- note: add '@MainActor' to make instance method 'removeEmphases(for:)' part of global actor 'MainActor'
117 | emphasisGroups[id]?.forEach { emphasis in
118 | emphasis.removeLayers()
:
120 | emphasisGroups[id] = nil
121 |
122 | textView?.layer?.layoutIfNeeded()
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
123 | }
124 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:132:23: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
124 |
125 | /// Removes all emphases for all groups.
126 | public func removeAllEmphases() {
| `- note: add '@MainActor' to make instance method 'removeAllEmphases()' part of global actor 'MainActor'
127 | emphasisGroups.keys.forEach { removeEmphases(for: $0) }
128 | emphasisGroups.removeAll()
:
130 | // Restore original selection emphasizing
131 | if let originalColor = originalSelectionColor {
132 | textView?.selectionManager.selectionBackgroundColor = originalColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
133 | }
134 | originalSelectionColor = nil
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:183:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
181 |
182 | let layer = createShapeLayer(shapePath: shapePath, emphasis: emphasis)
183 | textView?.layer?.insertSublayer(layer, at: 1)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
184 |
185 | let textLayer = createTextLayer(for: emphasis)
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:187:23: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
185 | let textLayer = createTextLayer(for: emphasis)
186 | if let textLayer = textLayer {
187 | textView?.layer?.addSublayer(textLayer)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
188 | }
189 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:200:30: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:202:49: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
203 | return nil
204 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:263:44: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:265:45: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
266 | return nil
267 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:246:29: note: property declared here
244 | /// layout system. Use methods like ``TextView/replaceCharacters(in:with:)-58mt7`` or
245 | /// ``TextView/insertText(_:)`` to modify content.
246 | package(set) public var textStorage: NSTextStorage!
| `- note: property declared here
247 |
248 | /// The layout manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:52: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSWindow:249:25: note: property declared here
247 | open func setDynamicDepthLimit(_ flag: Bool)
248 | open var hasDynamicDepthLimit: Bool { get }
249 | @MainActor open var screen: NSScreen? { get }
| `- note: property declared here
250 | open var deepestScreen: NSScreen? { get }
251 | open var hasShadow: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:44: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSView:4:30: note: property declared here
2 | @MainActor public init(frame frameRect: NSRect)
3 | @MainActor public init?(coder: NSCoder)
4 | unowned(unsafe) open var window: NSWindow? { get }
| `- note: property declared here
5 | unowned(unsafe) open var superview: NSView? { get }
6 | open var subviews: [NSView] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:306:22: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
303 | }
304 |
305 | private func getInactiveTextColor() -> NSColor {
| `- note: add '@MainActor' to make instance method 'getInactiveTextColor()' part of global actor 'MainActor'
306 | if textView?.effectiveAppearance.name == .darkAqua {
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
307 | return .white
308 | }
AppKit.NSView:361:14: note: property declared here
359 | open var appearance: NSAppearance? { get set }
360 | @available(macOS 10.9, *)
361 | open var effectiveAppearance: NSAppearance { get }
| `- note: property declared here
362 | @available(macOS 10.5, *)
363 | open func animator() -> Self
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:353:18: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:354:18: warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
| `- warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
355 | textView.needsDisplay = true
356 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView+ScrollToVisible.swift:16:17: note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
14 |
15 | /// Scrolls the upmost selection to the visible rect if `scrollView` is not `nil`.
16 | public func scrollSelectionToVisible() {
| `- note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
17 | guard let scrollView, let selection = getSelection() else {
18 | return
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:355:18: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
:
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
356 | }
357 | }
AppKit.NSView:177:14: note: mutation of this property is only permitted within the actor
175 | @available(swift, obsoleted: 3, renamed: "setNeedsDisplay(_:)")
176 | open func setNeedsDisplayInRect(_ invalidRect: NSRect)
177 | open var needsDisplay: Bool { get set }
| `- note: mutation of this property is only permitted within the actor
178 | @available(macOS, introduced: 10.0, deprecated: 10.14, message: "To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.")
179 | open func lockFocus()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:75:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
73 | for flashingLayer in emphasisGroups[id, default: []].filter({ $0.emphasis.flash }) {
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
77 | // Remove the emphasis from the group if it still exists
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:76:48: warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
| |- warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'flashingLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | // Remove the emphasis from the group if it still exists
78 | guard let emphasisIdx = self.emphasisGroups[id, default: []].firstIndex(
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:342:13: warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
340 | // Remove both layers after animation completes
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
| |- warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'layer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
343 | textLayer?.removeFromSuperlayer()
344 | completion()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:343:13: warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
| |- warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'textLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
344 | completion()
345 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:344:13: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
344 | completion()
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
345 | }
346 | }
[449/450] Compiling CodeEditTextView EmphasisStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:37:13: warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
9 | import AppKit
10 |
11 | class CursorTimer {
| `- note: class 'CursorTimer' does not conform to the 'Sendable' protocol
12 | /// # Properties
13 |
:
35 |
36 | timer = Timer.scheduledTimer(withTimeInterval: newBlinkDuration, repeats: true) { [weak self] _ in
37 | self?.assertMain()
| `- warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
38 | self?.shouldHide.toggle()
39 | guard let shouldHide = self?.shouldHide else { return }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:56:20: warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | /// Notify all cursors of a new blink state.
53 | /// - Parameter shouldHide: Whether or not the cursors should be hidden or not.
54 | private func notifyCursors(shouldHide: Bool) {
| `- note: add '@MainActor' to make instance method 'notifyCursors(shouldHide:)' part of global actor 'MainActor'
55 | for cursor in cursors.allObjects {
56 | cursor.blinkTimer(shouldHide)
| `- warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorView.swift:49:10: note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
47 | }
48 |
49 | func blinkTimer(_ shouldHideCursor: Bool) {
| `- note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
50 | self.isHidden = shouldHideCursor
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:64:48: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
59 | /// - emphases: The emphases to add
60 | /// - id: The group identifier
61 | public func addEmphases(_ emphases: [Emphasis], for id: String) {
| `- note: add '@MainActor' to make instance method 'addEmphases(_:for:)' part of global actor 'MainActor'
62 | // Store the current selection background color if not already stored
63 | if originalSelectionColor == nil {
64 | originalSelectionColor = textView?.selectionManager.selectionBackgroundColor ?? .selectedTextBackgroundColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
65 | }
66 |
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:122:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | /// Removes all emphases for the given group.
115 | /// - Parameter id: The group identifier
116 | public func removeEmphases(for id: String) {
| `- note: add '@MainActor' to make instance method 'removeEmphases(for:)' part of global actor 'MainActor'
117 | emphasisGroups[id]?.forEach { emphasis in
118 | emphasis.removeLayers()
:
120 | emphasisGroups[id] = nil
121 |
122 | textView?.layer?.layoutIfNeeded()
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
123 | }
124 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:132:23: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
124 |
125 | /// Removes all emphases for all groups.
126 | public func removeAllEmphases() {
| `- note: add '@MainActor' to make instance method 'removeAllEmphases()' part of global actor 'MainActor'
127 | emphasisGroups.keys.forEach { removeEmphases(for: $0) }
128 | emphasisGroups.removeAll()
:
130 | // Restore original selection emphasizing
131 | if let originalColor = originalSelectionColor {
132 | textView?.selectionManager.selectionBackgroundColor = originalColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
133 | }
134 | originalSelectionColor = nil
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:183:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
181 |
182 | let layer = createShapeLayer(shapePath: shapePath, emphasis: emphasis)
183 | textView?.layer?.insertSublayer(layer, at: 1)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
184 |
185 | let textLayer = createTextLayer(for: emphasis)
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:187:23: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
185 | let textLayer = createTextLayer(for: emphasis)
186 | if let textLayer = textLayer {
187 | textView?.layer?.addSublayer(textLayer)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
188 | }
189 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:200:30: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:202:49: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
203 | return nil
204 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:263:44: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:265:45: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
266 | return nil
267 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:246:29: note: property declared here
244 | /// layout system. Use methods like ``TextView/replaceCharacters(in:with:)-58mt7`` or
245 | /// ``TextView/insertText(_:)`` to modify content.
246 | package(set) public var textStorage: NSTextStorage!
| `- note: property declared here
247 |
248 | /// The layout manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:52: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSWindow:249:25: note: property declared here
247 | open func setDynamicDepthLimit(_ flag: Bool)
248 | open var hasDynamicDepthLimit: Bool { get }
249 | @MainActor open var screen: NSScreen? { get }
| `- note: property declared here
250 | open var deepestScreen: NSScreen? { get }
251 | open var hasShadow: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:44: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSView:4:30: note: property declared here
2 | @MainActor public init(frame frameRect: NSRect)
3 | @MainActor public init?(coder: NSCoder)
4 | unowned(unsafe) open var window: NSWindow? { get }
| `- note: property declared here
5 | unowned(unsafe) open var superview: NSView? { get }
6 | open var subviews: [NSView] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:306:22: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
303 | }
304 |
305 | private func getInactiveTextColor() -> NSColor {
| `- note: add '@MainActor' to make instance method 'getInactiveTextColor()' part of global actor 'MainActor'
306 | if textView?.effectiveAppearance.name == .darkAqua {
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
307 | return .white
308 | }
AppKit.NSView:361:14: note: property declared here
359 | open var appearance: NSAppearance? { get set }
360 | @available(macOS 10.9, *)
361 | open var effectiveAppearance: NSAppearance { get }
| `- note: property declared here
362 | @available(macOS 10.5, *)
363 | open func animator() -> Self
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:353:18: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:354:18: warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
| `- warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
355 | textView.needsDisplay = true
356 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView+ScrollToVisible.swift:16:17: note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
14 |
15 | /// Scrolls the upmost selection to the visible rect if `scrollView` is not `nil`.
16 | public func scrollSelectionToVisible() {
| `- note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
17 | guard let scrollView, let selection = getSelection() else {
18 | return
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:355:18: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
:
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
356 | }
357 | }
AppKit.NSView:177:14: note: mutation of this property is only permitted within the actor
175 | @available(swift, obsoleted: 3, renamed: "setNeedsDisplay(_:)")
176 | open func setNeedsDisplayInRect(_ invalidRect: NSRect)
177 | open var needsDisplay: Bool { get set }
| `- note: mutation of this property is only permitted within the actor
178 | @available(macOS, introduced: 10.0, deprecated: 10.14, message: "To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.")
179 | open func lockFocus()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:75:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
73 | for flashingLayer in emphasisGroups[id, default: []].filter({ $0.emphasis.flash }) {
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
77 | // Remove the emphasis from the group if it still exists
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:76:48: warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
| |- warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'flashingLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | // Remove the emphasis from the group if it still exists
78 | guard let emphasisIdx = self.emphasisGroups[id, default: []].firstIndex(
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:342:13: warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
340 | // Remove both layers after animation completes
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
| |- warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'layer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
343 | textLayer?.removeFromSuperlayer()
344 | completion()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:343:13: warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
| |- warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'textLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
344 | completion()
345 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:344:13: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
344 | completion()
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
345 | }
346 | }
[450/450] Compiling CodeEditTextView CharacterSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:37:13: warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
9 | import AppKit
10 |
11 | class CursorTimer {
| `- note: class 'CursorTimer' does not conform to the 'Sendable' protocol
12 | /// # Properties
13 |
:
35 |
36 | timer = Timer.scheduledTimer(withTimeInterval: newBlinkDuration, repeats: true) { [weak self] _ in
37 | self?.assertMain()
| `- warning: capture of 'self' with non-sendable type 'CursorTimer?' in a `@Sendable` closure
38 | self?.shouldHide.toggle()
39 | guard let shouldHide = self?.shouldHide else { return }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorTimer.swift:56:20: warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | /// Notify all cursors of a new blink state.
53 | /// - Parameter shouldHide: Whether or not the cursors should be hidden or not.
54 | private func notifyCursors(shouldHide: Bool) {
| `- note: add '@MainActor' to make instance method 'notifyCursors(shouldHide:)' part of global actor 'MainActor'
55 | for cursor in cursors.allObjects {
56 | cursor.blinkTimer(shouldHide)
| `- warning: call to main actor-isolated instance method 'blinkTimer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/Cursors/CursorView.swift:49:10: note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
47 | }
48 |
49 | func blinkTimer(_ shouldHideCursor: Bool) {
| `- note: calls to instance method 'blinkTimer' from outside of its actor context are implicitly asynchronous
50 | self.isHidden = shouldHideCursor
51 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:64:48: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
59 | /// - emphases: The emphases to add
60 | /// - id: The group identifier
61 | public func addEmphases(_ emphases: [Emphasis], for id: String) {
| `- note: add '@MainActor' to make instance method 'addEmphases(_:for:)' part of global actor 'MainActor'
62 | // Store the current selection background color if not already stored
63 | if originalSelectionColor == nil {
64 | originalSelectionColor = textView?.selectionManager.selectionBackgroundColor ?? .selectedTextBackgroundColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
65 | }
66 |
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:122:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | /// Removes all emphases for the given group.
115 | /// - Parameter id: The group identifier
116 | public func removeEmphases(for id: String) {
| `- note: add '@MainActor' to make instance method 'removeEmphases(for:)' part of global actor 'MainActor'
117 | emphasisGroups[id]?.forEach { emphasis in
118 | emphasis.removeLayers()
:
120 | emphasisGroups[id] = nil
121 |
122 | textView?.layer?.layoutIfNeeded()
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
123 | }
124 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:132:23: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
124 |
125 | /// Removes all emphases for all groups.
126 | public func removeAllEmphases() {
| `- note: add '@MainActor' to make instance method 'removeAllEmphases()' part of global actor 'MainActor'
127 | emphasisGroups.keys.forEach { removeEmphases(for: $0) }
128 | emphasisGroups.removeAll()
:
130 | // Restore original selection emphasizing
131 | if let originalColor = originalSelectionColor {
132 | textView?.selectionManager.selectionBackgroundColor = originalColor
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
133 | }
134 | originalSelectionColor = nil
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:183:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
181 |
182 | let layer = createShapeLayer(shapePath: shapePath, emphasis: emphasis)
183 | textView?.layer?.insertSublayer(layer, at: 1)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
184 |
185 | let textLayer = createTextLayer(for: emphasis)
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:187:23: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
175 | }
176 |
177 | private func createEmphasisLayer(for emphasis: Emphasis) -> EmphasisLayer {
| `- note: add '@MainActor' to make instance method 'createEmphasisLayer(for:)' part of global actor 'MainActor'
178 | guard let shapePath = makeShapePath(forStyle: emphasis.style, range: emphasis.range) else {
179 | return EmphasisLayer(emphasis: emphasis, layer: CAShapeLayer(), textLayer: nil)
:
185 | let textLayer = createTextLayer(for: emphasis)
186 | if let textLayer = textLayer {
187 | textView?.layer?.addSublayer(textLayer)
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
188 | }
189 |
AppKit.NSView:272:25: note: property declared here
270 | @MainActor open var wantsLayer: Bool { get set }
271 | @available(macOS 10.5, *)
272 | @MainActor open var layer: CALayer? { get set }
| `- note: property declared here
273 | @available(macOS 10.8, *)
274 | open var wantsUpdateLayer: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:200:30: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:202:49: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
195 | }
196 |
197 | private func makeShapePath(forStyle emphasisStyle: EmphasisStyle, range: NSRange) -> NSBezierPath? {
| `- note: add '@MainActor' to make instance method 'makeShapePath(forStyle:range:)' part of global actor 'MainActor'
198 | switch emphasisStyle {
199 | case .standard, .outline:
200 | return textView?.layoutManager.roundedPathForRange(range, cornerRadius: emphasisStyle.shapeRadius)
201 | case .underline:
202 | guard let layoutManager = textView?.layoutManager else {
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
203 | return nil
204 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:263:44: warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
| `- warning: main actor-isolated property 'layoutManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:249:29: note: property declared here
247 |
248 | /// The layout manager for the text view.
249 | package(set) public var layoutManager: TextLayoutManager!
| `- note: property declared here
250 |
251 | /// The selection manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:265:45: warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
264 | let shapePath = layoutManager.roundedPathForRange(emphasis.range),
265 | let originalString = textView.textStorage?.attributedSubstring(from: emphasis.range) else {
| `- warning: main actor-isolated property 'textStorage' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
266 | return nil
267 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:246:29: note: property declared here
244 | /// layout system. Use methods like ``TextView/replaceCharacters(in:with:)-58mt7`` or
245 | /// ``TextView/insertText(_:)`` to modify content.
246 | package(set) public var textStorage: NSTextStorage!
| `- note: property declared here
247 |
248 | /// The layout manager for the text view.
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:52: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSWindow:249:25: note: property declared here
247 | open func setDynamicDepthLimit(_ flag: Bool)
248 | open var hasDynamicDepthLimit: Bool { get }
249 | @MainActor open var screen: NSScreen? { get }
| `- note: property declared here
250 | open var deepestScreen: NSScreen? { get }
251 | open var hasShadow: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:276:44: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
259 | }
260 |
261 | private func createTextLayer(for emphasis: Emphasis) -> CATextLayer? {
| `- note: add '@MainActor' to make instance method 'createTextLayer(for:)' part of global actor 'MainActor'
262 | guard let textView = textView,
263 | let layoutManager = textView.layoutManager,
:
274 | textLayer.frame = bounds
275 | textLayer.backgroundColor = NSColor.clear.cgColor
276 | textLayer.contentsScale = textView.window?.screen?.backingScaleFactor ?? 2.0
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
277 | textLayer.allowsFontSubpixelQuantization = true
278 | textLayer.zPosition = 2
AppKit.NSView:4:30: note: property declared here
2 | @MainActor public init(frame frameRect: NSRect)
3 | @MainActor public init?(coder: NSCoder)
4 | unowned(unsafe) open var window: NSWindow? { get }
| `- note: property declared here
5 | unowned(unsafe) open var superview: NSView? { get }
6 | open var subviews: [NSView] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:306:22: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
303 | }
304 |
305 | private func getInactiveTextColor() -> NSColor {
| `- note: add '@MainActor' to make instance method 'getInactiveTextColor()' part of global actor 'MainActor'
306 | if textView?.effectiveAppearance.name == .darkAqua {
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
307 | return .white
308 | }
AppKit.NSView:361:14: note: property declared here
359 | open var appearance: NSAppearance? { get set }
360 | @available(macOS 10.9, *)
361 | open var effectiveAppearance: NSAppearance { get }
| `- note: property declared here
362 | @available(macOS 10.5, *)
363 | open func animator() -> Self
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:353:18: warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
| `- warning: main actor-isolated property 'selectionManager' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView.swift:252:29: note: property declared here
250 |
251 | /// The selection manager for the text view.
252 | package(set) public var selectionManager: TextSelectionManager!
| `- note: property declared here
253 |
254 | /// Manages emphasized text ranges in the text view
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:354:18: warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
352 |
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
| `- warning: call to main actor-isolated instance method 'scrollSelectionToVisible()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
355 | textView.needsDisplay = true
356 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/TextView/TextView+ScrollToVisible.swift:16:17: note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
14 |
15 | /// Scrolls the upmost selection to the visible rect if `scrollView` is not `nil`.
16 | public func scrollSelectionToVisible() {
| `- note: calls to instance method 'scrollSelectionToVisible()' from outside of its actor context are implicitly asynchronous
17 | guard let scrollView, let selection = getSelection() else {
18 | return
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:355:18: warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
347 |
348 | /// Handles selection of text ranges for emphases where select is true
349 | private func handleSelections(for emphases: [Emphasis]) {
| `- note: add '@MainActor' to make instance method 'handleSelections(for:)' part of global actor 'MainActor'
350 | let selectableRanges = emphases.filter(\.selectInDocument).map(\.range)
351 | guard let textView, !selectableRanges.isEmpty else { return }
:
353 | textView.selectionManager.setSelectedRanges(selectableRanges)
354 | textView.scrollSelectionToVisible()
355 | textView.needsDisplay = true
| `- warning: main actor-isolated property 'needsDisplay' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
356 | }
357 | }
AppKit.NSView:177:14: note: mutation of this property is only permitted within the actor
175 | @available(swift, obsoleted: 3, renamed: "setNeedsDisplay(_:)")
176 | open func setNeedsDisplayInRect(_ invalidRect: NSRect)
177 | open var needsDisplay: Bool { get set }
| `- note: mutation of this property is only permitted within the actor
178 | @available(macOS, introduced: 10.0, deprecated: 10.14, message: "To draw, subclass NSView and implement -drawRect:; AppKit's automatic deferred display mechanism will call -drawRect: as necessary to display the view.")
179 | open func lockFocus()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:75:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
73 | for flashingLayer in emphasisGroups[id, default: []].filter({ $0.emphasis.flash }) {
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
77 | // Remove the emphasis from the group if it still exists
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:76:48: warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
74 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { [weak self] in
75 | guard let self = self else { return }
76 | self.applyFadeOutAnimation(to: flashingLayer.layer, textLayer: flashingLayer.textLayer) {
| |- warning: sending 'flashingLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'flashingLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | // Remove the emphasis from the group if it still exists
78 | guard let emphasisIdx = self.emphasisGroups[id, default: []].firstIndex(
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:342:13: warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
340 | // Remove both layers after animation completes
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
| |- warning: sending 'layer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'layer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
343 | textLayer?.removeFromSuperlayer()
344 | completion()
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:343:13: warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
341 | DispatchQueue.main.asyncAfter(deadline: .now() + fadeAnimation.duration) {
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
| |- warning: sending 'textLayer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'textLayer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
344 | completion()
345 | }
/Users/admin/builder/spi-builder-workspace/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift:344:13: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
342 | layer.removeFromSuperlayer()
343 | textLayer?.removeFromSuperlayer()
344 | completion()
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
345 | }
346 | }
Build complete! (46.49s)
Build complete.
{
"dependencies" : [
{
"identity" : "textstory",
"requirement" : {
"range" : [
{
"lower_bound" : "0.9.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/ChimeHQ/TextStory"
},
{
"identity" : "swift-collections",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-collections.git"
},
{
"identity" : "swiftlintplugin",
"requirement" : {
"range" : [
{
"lower_bound" : "0.52.2",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/lukepistrol/SwiftLintPlugin"
}
],
"manifest_display_name" : "CodeEditTextView",
"name" : "CodeEditTextView",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "CodeEditTextView",
"targets" : [
"CodeEditTextView"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CodeEditTextViewTests",
"module_type" : "SwiftTarget",
"name" : "CodeEditTextViewTests",
"path" : "Tests/CodeEditTextViewTests",
"product_dependencies" : [
"SwiftLint"
],
"sources" : [
"EmphasisManagerTests.swift",
"KillRingTests.swift",
"LineEndingTests.swift",
"MarkedTextTests.swift",
"OverridingLayoutManagerRenderingTests.swift",
"TextLayoutLineStorageTests.swift",
"TextLayoutManagerTests.swift",
"TextSelectionManagerTests.swift",
"TextViewTests.swift",
"TypesetterTests.swift"
],
"target_dependencies" : [
"CodeEditTextView"
],
"type" : "test"
},
{
"c99name" : "CodeEditTextViewObjC",
"module_type" : "ClangTarget",
"name" : "CodeEditTextViewObjC",
"path" : "Sources/CodeEditTextViewObjC",
"product_memberships" : [
"CodeEditTextView"
],
"sources" : [
"CGContextHidden.m"
],
"type" : "library"
},
{
"c99name" : "CodeEditTextView",
"module_type" : "SwiftTarget",
"name" : "CodeEditTextView",
"path" : "Sources/CodeEditTextView",
"product_dependencies" : [
"TextStory",
"Collections",
"SwiftLint"
],
"product_memberships" : [
"CodeEditTextView"
],
"sources" : [
"CodeEditTextView.swift",
"Cursors/CursorSelectionMode.swift",
"Cursors/CursorTimer.swift",
"Cursors/CursorView.swift",
"EmphasisManager/Emphasis.swift",
"EmphasisManager/EmphasisManager.swift",
"EmphasisManager/EmphasisStyle.swift",
"Extensions/CharacterSet.swift",
"Extensions/GC+ApproximateEqual.swift",
"Extensions/NSBezierPath+CGPathFallback.swift",
"Extensions/NSBezierPath+SmoothPath.swift",
"Extensions/NSColor+Greyscale.swift",
"Extensions/NSColor+Hex.swift",
"Extensions/NSRange+/NSRange+init.swift",
"Extensions/NSRange+/NSRange+isEmpty.swift",
"Extensions/NSTextStorage+getLine.swift",
"Extensions/PixelAligned.swift",
"MarkedTextManager/MarkedRanges.swift",
"MarkedTextManager/MarkedTextManager.swift",
"TextLayoutManager/TextLayoutManager+Edits.swift",
"TextLayoutManager/TextLayoutManager+Invalidation.swift",
"TextLayoutManager/TextLayoutManager+Iterator.swift",
"TextLayoutManager/TextLayoutManager+Layout.swift",
"TextLayoutManager/TextLayoutManager+Public.swift",
"TextLayoutManager/TextLayoutManager.swift",
"TextLayoutManager/TextLayoutManagerDelegate.swift",
"TextLayoutManager/TextLayoutManagerRenderDelegate.swift",
"TextLine/LineBreakStrategy.swift",
"TextLine/LineFragment.swift",
"TextLine/LineFragmentView.swift",
"TextLine/TextLine.swift",
"TextLine/Typesetter.swift",
"TextLineStorage/TextLineStorage+Iterator.swift",
"TextLineStorage/TextLineStorage+NSTextStorage.swift",
"TextLineStorage/TextLineStorage+Node.swift",
"TextLineStorage/TextLineStorage+Structs.swift",
"TextLineStorage/TextLineStorage.swift",
"TextSelectionManager/Destination.swift",
"TextSelectionManager/Direction.swift",
"TextSelectionManager/SelectionManipulation/SelectionManipulation+Horizontal.swift",
"TextSelectionManager/SelectionManipulation/SelectionManipulation+Vertical.swift",
"TextSelectionManager/SelectionManipulation/TextSelectionManager+SelectionManipulation.swift",
"TextSelectionManager/TextSelection.swift",
"TextSelectionManager/TextSelectionManager+Draw.swift",
"TextSelectionManager/TextSelectionManager+FillRects.swift",
"TextSelectionManager/TextSelectionManager+Move.swift",
"TextSelectionManager/TextSelectionManager+Update.swift",
"TextSelectionManager/TextSelectionManager.swift",
"TextView/DraggingTextRenderer.swift",
"TextView/TextView+Accessibility.swift",
"TextView/TextView+CopyPaste.swift",
"TextView/TextView+Delete.swift",
"TextView/TextView+Drag.swift",
"TextView/TextView+FirstResponder.swift",
"TextView/TextView+Insert.swift",
"TextView/TextView+KeyDown.swift",
"TextView/TextView+Layout.swift",
"TextView/TextView+Lifecycle.swift",
"TextView/TextView+Menu.swift",
"TextView/TextView+Mouse.swift",
"TextView/TextView+Move.swift",
"TextView/TextView+NSTextInput.swift",
"TextView/TextView+ReplaceCharacters.swift",
"TextView/TextView+ScrollToVisible.swift",
"TextView/TextView+Select.swift",
"TextView/TextView+SetText.swift",
"TextView/TextView+Setup.swift",
"TextView/TextView+StorageDelegate.swift",
"TextView/TextView+TextLayoutManagerDelegate.swift",
"TextView/TextView+TextSelectionManagerDelegate.swift",
"TextView/TextView+UndoRedo.swift",
"TextView/TextView.swift",
"TextView/TextViewDelegate.swift",
"Utils/CEUndoManager.swift",
"Utils/HorizontalEdgeInsets.swift",
"Utils/KillRing.swift",
"Utils/LineEnding.swift",
"Utils/Logger.swift",
"Utils/MultiStorageDelegate.swift",
"Utils/ViewReuseQueue.swift"
],
"target_dependencies" : [
"CodeEditTextViewObjC"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.