Build Information
Successful build of Sourceful, reference main (1ec0ed
), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 13:18:10 UTC.
Swift 6 data race errors: 1
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.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
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/twostraws/Sourceful.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/twostraws/Sourceful
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 1ec0ed9 Merge pull request #34 from ffraaz/main
Cloned https://github.com/twostraws/Sourceful.git
Revision (git rev-parse @):
1ec0ed95a84d1638df0a6a6fc1a1d0ab7df7ea08
SUCCESS checkout https://github.com/twostraws/Sourceful.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "sourceful",
"name": "Sourceful",
"url": "https://github.com/twostraws/Sourceful.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Sourceful",
"dependencies": [
]
}
]
}
Fetching https://github.com/twostraws/Sourceful.git
[1/326] Fetching sourceful
Fetched https://github.com/twostraws/Sourceful.git from cache (0.66s)
Creating working copy for https://github.com/twostraws/Sourceful.git
Working copy of https://github.com/twostraws/Sourceful.git resolved at main (1ec0ed9)
warning: '.resolve-product-dependencies': dependency 'sourceful' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/twostraws/Sourceful.git
https://github.com/twostraws/Sourceful.git
{
"dependencies" : [
],
"manifest_display_name" : "Sourceful",
"name" : "Sourceful",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Sourceful",
"targets" : [
"Sourceful"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SourcefulTests",
"module_type" : "SwiftTarget",
"name" : "SourcefulTests",
"path" : "Tests/SourcefulTests",
"sources" : [
"SourcefulTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Sourceful"
],
"type" : "test"
},
{
"c99name" : "Sourceful",
"module_type" : "SwiftTarget",
"name" : "Sourceful",
"path" : "Sources/Sourceful",
"product_memberships" : [
"Sourceful"
],
"sources" : [
"ASTVisualizer.swift",
"Languages/JavaLexer.swift",
"Languages/JavaScriptLexer.swift",
"Languages/OCamlLexer.swift",
"Languages/Python3Lexer.swift",
"Languages/SwiftLexer.swift",
"Model/Lexer.swift",
"Model/Paragraph.swift",
"Model/RegexLexer.swift",
"Model/SyntaxColorTheme.swift",
"Model/Token.swift",
"SourceCodeRegexLexer.swift",
"SourceCodeTheme.swift",
"SourceCodeToken.swift",
"SwiftUI/SourceCodeTextEditor.swift",
"Themes/DefaultSourceCodeTheme.swift",
"Util/NSMutableAttributedString+Tokens.swift",
"Util/NSTextView+UIKit.swift",
"Util/String+Range.swift",
"Util/Types.swift",
"View/InnerTextView.swift",
"View/LineNumberLayoutManager.swift",
"View/Paragraphs.swift",
"View/SyntaxTextView+TextViewDelegate.swift",
"View/SyntaxTextView.swift",
"View/SyntaxTextViewLayoutManager.swift",
"View/TextViewWrapperView.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/28] Emitting module Sourceful
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/SyntaxTextView+TextViewDelegate.swift:19:7: warning: main actor-isolated instance method 'didUpdateCursorFloatingState()' cannot be used to satisfy nonisolated requirement from protocol 'InnerTextViewDelegate'; this is an error in the Swift 6 language mode
15 | #endif
16 |
17 | extension SyntaxTextView: InnerTextViewDelegate {
| `- note: add '@preconcurrency' to the 'InnerTextViewDelegate' conformance to defer isolation checking to run time
18 |
19 | func didUpdateCursorFloatingState() {
| |- warning: main actor-isolated instance method 'didUpdateCursorFloatingState()' cannot be used to satisfy nonisolated requirement from protocol 'InnerTextViewDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'didUpdateCursorFloatingState()' to make this instance method not isolated to the actor
20 |
21 | selectionDidChange()
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/InnerTextView.swift:19:7: note: mark the protocol requirement 'didUpdateCursorFloatingState()' 'async' to allow actor-isolated conformances
17 |
18 | protocol InnerTextViewDelegate: AnyObject {
19 | func didUpdateCursorFloatingState()
| `- note: mark the protocol requirement 'didUpdateCursorFloatingState()' 'async' to allow actor-isolated conformances
20 | }
21 |
[4/30] Compiling Sourceful SyntaxColorTheme.swift
[5/30] Compiling Sourceful Token.swift
[6/30] Compiling Sourceful SourceCodeRegexLexer.swift
[7/30] Compiling Sourceful ASTVisualizer.swift
[8/30] Compiling Sourceful JavaLexer.swift
[9/30] Compiling Sourceful JavaScriptLexer.swift
[10/30] Compiling Sourceful DefaultSourceCodeTheme.swift
[11/30] Compiling Sourceful NSMutableAttributedString+Tokens.swift
[12/30] Compiling Sourceful NSTextView+UIKit.swift
[13/30] Compiling Sourceful LineNumberLayoutManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:52:53: warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | func generateParagraphs(for textView: InnerTextView, flipRects: Bool = false) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'generateParagraphs(for:flipRects:)' part of global actor 'MainActor'
51 |
52 | let range = NSRange(location: 0, length: (textView.text as NSString).length)
| `- warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
53 |
54 | var paragraphs = [Paragraph]()
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/Util/NSTextView+UIKit.swift:15:6: note: property declared here
13 | extension NSTextView {
14 |
15 | var text: String! {
| `- note: property declared here
16 | get {
17 | return string
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:57:12: warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | func generateParagraphs(for textView: InnerTextView, flipRects: Bool = false) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'generateParagraphs(for:flipRects:)' part of global actor 'MainActor'
51 |
52 | let range = NSRange(location: 0, length: (textView.text as NSString).length)
:
55 | var i = 0
56 |
57 | (textView.text as NSString).enumerateSubstrings(in: range, options: [.byParagraphs]) { (paragraphContent, paragraphRange, enclosingRange, stop) in
| `- warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 |
59 | i += 1
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/Util/NSTextView+UIKit.swift:15:6: note: property declared here
13 | extension NSTextView {
14 |
15 | var text: String! {
| `- note: property declared here
16 | get {
17 | return string
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:61:23: warning: call to main actor-isolated instance method 'paragraphRectForRange(range:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
17 | extension TextView {
18 |
19 | func paragraphRectForRange(range: NSRange) -> CGRect {
| |- note: calls to instance method 'paragraphRectForRange(range:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSText'
20 |
21 | var nsRange = range
:
59 | i += 1
60 |
61 | let rect = textView.paragraphRectForRange(range: paragraphRange)
| `- warning: call to main actor-isolated instance method 'paragraphRectForRange(range:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
62 |
63 | let paragraph = Paragraph(rect: rect, number: i)
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:68:14: warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | func generateParagraphs(for textView: InnerTextView, flipRects: Bool = false) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'generateParagraphs(for:flipRects:)' part of global actor 'MainActor'
51 |
52 | let range = NSRange(location: 0, length: (textView.text as NSString).length)
:
66 | }
67 |
68 | if textView.text.isEmpty || textView.text.hasSuffix("\n") {
| `- warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
69 |
70 | var rect: CGRect
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/Util/NSTextView+UIKit.swift:15:6: note: property declared here
13 | extension NSTextView {
14 |
15 | var text: String! {
| `- note: property declared here
16 | get {
17 | return string
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:68:39: warning: main actor-isolated property 'text' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
66 | }
67 |
68 | if textView.text.isEmpty || textView.text.hasSuffix("\n") {
| `- warning: main actor-isolated property 'text' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
69 |
70 | var rect: CGRect
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/Util/NSTextView+UIKit.swift:15:6: note: property declared here
13 | extension NSTextView {
14 |
15 | var text: String! {
| `- note: property declared here
16 | get {
17 | return string
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:73:31: warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | func generateParagraphs(for textView: InnerTextView, flipRects: Bool = false) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'generateParagraphs(for:flipRects:)' part of global actor 'MainActor'
51 |
52 | let range = NSRange(location: 0, length: (textView.text as NSString).length)
:
71 |
72 | #if os(macOS)
73 | let gutterWidth = textView.textContainerInset.width
| `- warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
74 | #else
75 | let gutterWidth = textView.textContainerInset.left
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:103:18: note: property declared here
101 |
102 | // The textContainerInset determines the padding that the view provides around the container. The container's origin will be inset by this amount from the bounds point {0,0} and padding will be left to the right and below the container of the same amount. This inset affects the view sizing in response to new layout and is used by the rectangular text containers when they track the view's frame dimensions.
103 | @property NSSize textContainerInset;
| `- note: property declared here
104 |
105 | // The container's origin in the view is determined from the current usage of the container, the container inset, and the view size. textContainerOrigin returns this point.
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:104:31: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
102 |
103 | var p = p
104 | p.rect.origin.y = textView.bounds.height - p.rect.height - p.rect.origin.y
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
105 |
106 | return p
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:120:62: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
112 | }
113 |
114 | func offsetParagraphs(_ paragraphs: [Paragraph], for textView: InnerTextView, yOffset: CGFloat = 0) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'offsetParagraphs(_:for:yOffset:)' part of global actor 'MainActor'
115 |
116 | var paragraphs = paragraphs
:
118 | #if os(macOS)
119 |
120 | if let yOffset = textView.enclosingScrollView?.contentView.bounds.origin.y {
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | paragraphs = paragraphs.map { (p) -> Paragraph in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:120:50: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
112 | }
113 |
114 | func offsetParagraphs(_ paragraphs: [Paragraph], for textView: InnerTextView, yOffset: CGFloat = 0) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'offsetParagraphs(_:for:yOffset:)' part of global actor 'MainActor'
115 |
116 | var paragraphs = paragraphs
:
118 | #if os(macOS)
119 |
120 | if let yOffset = textView.enclosingScrollView?.contentView.bounds.origin.y {
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | paragraphs = paragraphs.map { (p) -> Paragraph in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:120:29: warning: main actor-isolated property 'enclosingScrollView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
112 | }
113 |
114 | func offsetParagraphs(_ paragraphs: [Paragraph], for textView: InnerTextView, yOffset: CGFloat = 0) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'offsetParagraphs(_:for:yOffset:)' part of global actor 'MainActor'
115 |
116 | var paragraphs = paragraphs
:
118 | #if os(macOS)
119 |
120 | if let yOffset = textView.enclosingScrollView?.contentView.bounds.origin.y {
| `- warning: main actor-isolated property 'enclosingScrollView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | paragraphs = paragraphs.map { (p) -> Paragraph in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:289:54: note: property declared here
287 | @property BOOL postsBoundsChangedNotifications;
288 |
289 | @property (nullable, readonly, strong) NSScrollView *enclosingScrollView;
| `- note: property declared here
290 |
291 | - (nullable NSMenu *)menuForEvent:(NSEvent *)event;
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:148:29: warning: main actor-isolated property 'theme' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 |
146 | func drawLineNumbers(_ paragraphs: [Paragraph], in rect: CGRect, for textView: InnerTextView) {
| `- note: add '@MainActor' to make global function 'drawLineNumbers(_:in:for:)' part of global actor 'MainActor'
147 |
148 | guard let style = textView.theme?.lineNumbersStyle else {
| `- warning: main actor-isolated property 'theme' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
149 | return
150 | }
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/InnerTextView.swift:26:6: note: property declared here
24 | weak var innerDelegate: InnerTextViewDelegate?
25 |
26 | var theme: SyntaxColorTheme?
| `- note: property declared here
27 |
28 | var cachedParagraphs: [Paragraph]?
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:162:30: warning: main actor-isolated property 'gutterWidth' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 |
146 | func drawLineNumbers(_ paragraphs: [Paragraph], in rect: CGRect, for textView: InnerTextView) {
| `- note: add '@MainActor' to make global function 'drawLineNumbers(_:in:for:)' part of global actor 'MainActor'
147 |
148 | guard let style = textView.theme?.lineNumbersStyle else {
:
160 | var drawRect = paragraph.rect
161 |
162 | let gutterWidth = textView.gutterWidth
| `- warning: main actor-isolated property 'gutterWidth' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
163 |
164 | let drawSize = attr.size()
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/InnerTextView.swift:126:6: note: property declared here
124 | #endif
125 |
126 | var gutterWidth: CGFloat {
| `- note: property declared here
127 | set {
128 |
[14/30] Compiling Sourceful Paragraphs.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:52:53: warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | func generateParagraphs(for textView: InnerTextView, flipRects: Bool = false) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'generateParagraphs(for:flipRects:)' part of global actor 'MainActor'
51 |
52 | let range = NSRange(location: 0, length: (textView.text as NSString).length)
| `- warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
53 |
54 | var paragraphs = [Paragraph]()
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/Util/NSTextView+UIKit.swift:15:6: note: property declared here
13 | extension NSTextView {
14 |
15 | var text: String! {
| `- note: property declared here
16 | get {
17 | return string
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:57:12: warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | func generateParagraphs(for textView: InnerTextView, flipRects: Bool = false) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'generateParagraphs(for:flipRects:)' part of global actor 'MainActor'
51 |
52 | let range = NSRange(location: 0, length: (textView.text as NSString).length)
:
55 | var i = 0
56 |
57 | (textView.text as NSString).enumerateSubstrings(in: range, options: [.byParagraphs]) { (paragraphContent, paragraphRange, enclosingRange, stop) in
| `- warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 |
59 | i += 1
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/Util/NSTextView+UIKit.swift:15:6: note: property declared here
13 | extension NSTextView {
14 |
15 | var text: String! {
| `- note: property declared here
16 | get {
17 | return string
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:61:23: warning: call to main actor-isolated instance method 'paragraphRectForRange(range:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
17 | extension TextView {
18 |
19 | func paragraphRectForRange(range: NSRange) -> CGRect {
| |- note: calls to instance method 'paragraphRectForRange(range:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSText'
20 |
21 | var nsRange = range
:
59 | i += 1
60 |
61 | let rect = textView.paragraphRectForRange(range: paragraphRange)
| `- warning: call to main actor-isolated instance method 'paragraphRectForRange(range:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
62 |
63 | let paragraph = Paragraph(rect: rect, number: i)
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:68:14: warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | func generateParagraphs(for textView: InnerTextView, flipRects: Bool = false) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'generateParagraphs(for:flipRects:)' part of global actor 'MainActor'
51 |
52 | let range = NSRange(location: 0, length: (textView.text as NSString).length)
:
66 | }
67 |
68 | if textView.text.isEmpty || textView.text.hasSuffix("\n") {
| `- warning: main actor-isolated property 'text' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
69 |
70 | var rect: CGRect
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/Util/NSTextView+UIKit.swift:15:6: note: property declared here
13 | extension NSTextView {
14 |
15 | var text: String! {
| `- note: property declared here
16 | get {
17 | return string
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:68:39: warning: main actor-isolated property 'text' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
66 | }
67 |
68 | if textView.text.isEmpty || textView.text.hasSuffix("\n") {
| `- warning: main actor-isolated property 'text' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
69 |
70 | var rect: CGRect
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/Util/NSTextView+UIKit.swift:15:6: note: property declared here
13 | extension NSTextView {
14 |
15 | var text: String! {
| `- note: property declared here
16 | get {
17 | return string
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:73:31: warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
48 | }
49 |
50 | func generateParagraphs(for textView: InnerTextView, flipRects: Bool = false) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'generateParagraphs(for:flipRects:)' part of global actor 'MainActor'
51 |
52 | let range = NSRange(location: 0, length: (textView.text as NSString).length)
:
71 |
72 | #if os(macOS)
73 | let gutterWidth = textView.textContainerInset.width
| `- warning: main actor-isolated property 'textContainerInset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
74 | #else
75 | let gutterWidth = textView.textContainerInset.left
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTextView.h:103:18: note: property declared here
101 |
102 | // The textContainerInset determines the padding that the view provides around the container. The container's origin will be inset by this amount from the bounds point {0,0} and padding will be left to the right and below the container of the same amount. This inset affects the view sizing in response to new layout and is used by the rectangular text containers when they track the view's frame dimensions.
103 | @property NSSize textContainerInset;
| `- note: property declared here
104 |
105 | // The container's origin in the view is determined from the current usage of the container, the container inset, and the view size. textContainerOrigin returns this point.
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:104:31: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
102 |
103 | var p = p
104 | p.rect.origin.y = textView.bounds.height - p.rect.height - p.rect.origin.y
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
105 |
106 | return p
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:120:62: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
112 | }
113 |
114 | func offsetParagraphs(_ paragraphs: [Paragraph], for textView: InnerTextView, yOffset: CGFloat = 0) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'offsetParagraphs(_:for:yOffset:)' part of global actor 'MainActor'
115 |
116 | var paragraphs = paragraphs
:
118 | #if os(macOS)
119 |
120 | if let yOffset = textView.enclosingScrollView?.contentView.bounds.origin.y {
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | paragraphs = paragraphs.map { (p) -> Paragraph in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:120:50: warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
112 | }
113 |
114 | func offsetParagraphs(_ paragraphs: [Paragraph], for textView: InnerTextView, yOffset: CGFloat = 0) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'offsetParagraphs(_:for:yOffset:)' part of global actor 'MainActor'
115 |
116 | var paragraphs = paragraphs
:
118 | #if os(macOS)
119 |
120 | if let yOffset = textView.enclosingScrollView?.contentView.bounds.origin.y {
| `- warning: main actor-isolated property 'contentView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | paragraphs = paragraphs.map { (p) -> Paragraph in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:120:29: warning: main actor-isolated property 'enclosingScrollView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
112 | }
113 |
114 | func offsetParagraphs(_ paragraphs: [Paragraph], for textView: InnerTextView, yOffset: CGFloat = 0) -> [Paragraph] {
| `- note: add '@MainActor' to make global function 'offsetParagraphs(_:for:yOffset:)' part of global actor 'MainActor'
115 |
116 | var paragraphs = paragraphs
:
118 | #if os(macOS)
119 |
120 | if let yOffset = textView.enclosingScrollView?.contentView.bounds.origin.y {
| `- warning: main actor-isolated property 'enclosingScrollView' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | paragraphs = paragraphs.map { (p) -> Paragraph in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:289:54: note: property declared here
287 | @property BOOL postsBoundsChangedNotifications;
288 |
289 | @property (nullable, readonly, strong) NSScrollView *enclosingScrollView;
| `- note: property declared here
290 |
291 | - (nullable NSMenu *)menuForEvent:(NSEvent *)event;
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:148:29: warning: main actor-isolated property 'theme' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 |
146 | func drawLineNumbers(_ paragraphs: [Paragraph], in rect: CGRect, for textView: InnerTextView) {
| `- note: add '@MainActor' to make global function 'drawLineNumbers(_:in:for:)' part of global actor 'MainActor'
147 |
148 | guard let style = textView.theme?.lineNumbersStyle else {
| `- warning: main actor-isolated property 'theme' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
149 | return
150 | }
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/InnerTextView.swift:26:6: note: property declared here
24 | weak var innerDelegate: InnerTextViewDelegate?
25 |
26 | var theme: SyntaxColorTheme?
| `- note: property declared here
27 |
28 | var cachedParagraphs: [Paragraph]?
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/Paragraphs.swift:162:30: warning: main actor-isolated property 'gutterWidth' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 |
146 | func drawLineNumbers(_ paragraphs: [Paragraph], in rect: CGRect, for textView: InnerTextView) {
| `- note: add '@MainActor' to make global function 'drawLineNumbers(_:in:for:)' part of global actor 'MainActor'
147 |
148 | guard let style = textView.theme?.lineNumbersStyle else {
:
160 | var drawRect = paragraph.rect
161 |
162 | let gutterWidth = textView.gutterWidth
| `- warning: main actor-isolated property 'gutterWidth' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
163 |
164 | let drawSize = attr.size()
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/InnerTextView.swift:126:6: note: property declared here
124 | #endif
125 |
126 | var gutterWidth: CGFloat {
| `- note: property declared here
127 | set {
128 |
[15/30] Compiling Sourceful SyntaxTextViewLayoutManager.swift
[16/30] Compiling Sourceful TextViewWrapperView.swift
[17/30] Compiling Sourceful Lexer.swift
[18/30] Compiling Sourceful Paragraph.swift
[19/30] Compiling Sourceful RegexLexer.swift
[20/30] Compiling Sourceful SyntaxTextView+TextViewDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/SyntaxTextView+TextViewDelegate.swift:19:7: warning: main actor-isolated instance method 'didUpdateCursorFloatingState()' cannot be used to satisfy nonisolated requirement from protocol 'InnerTextViewDelegate'; this is an error in the Swift 6 language mode
15 | #endif
16 |
17 | extension SyntaxTextView: InnerTextViewDelegate {
| `- note: add '@preconcurrency' to the 'InnerTextViewDelegate' conformance to defer isolation checking to run time
18 |
19 | func didUpdateCursorFloatingState() {
| |- warning: main actor-isolated instance method 'didUpdateCursorFloatingState()' cannot be used to satisfy nonisolated requirement from protocol 'InnerTextViewDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'didUpdateCursorFloatingState()' to make this instance method not isolated to the actor
20 |
21 | selectionDidChange()
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/InnerTextView.swift:19:7: note: mark the protocol requirement 'didUpdateCursorFloatingState()' 'async' to allow actor-isolated conformances
17 |
18 | protocol InnerTextViewDelegate: AnyObject {
19 | func didUpdateCursorFloatingState()
| `- note: mark the protocol requirement 'didUpdateCursorFloatingState()' 'async' to allow actor-isolated conformances
20 | }
21 |
[21/30] Compiling Sourceful SyntaxTextView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/SyntaxTextView+TextViewDelegate.swift:19:7: warning: main actor-isolated instance method 'didUpdateCursorFloatingState()' cannot be used to satisfy nonisolated requirement from protocol 'InnerTextViewDelegate'; this is an error in the Swift 6 language mode
15 | #endif
16 |
17 | extension SyntaxTextView: InnerTextViewDelegate {
| `- note: add '@preconcurrency' to the 'InnerTextViewDelegate' conformance to defer isolation checking to run time
18 |
19 | func didUpdateCursorFloatingState() {
| |- warning: main actor-isolated instance method 'didUpdateCursorFloatingState()' cannot be used to satisfy nonisolated requirement from protocol 'InnerTextViewDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'didUpdateCursorFloatingState()' to make this instance method not isolated to the actor
20 |
21 | selectionDidChange()
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/View/InnerTextView.swift:19:7: note: mark the protocol requirement 'didUpdateCursorFloatingState()' 'async' to allow actor-isolated conformances
17 |
18 | protocol InnerTextViewDelegate: AnyObject {
19 | func didUpdateCursorFloatingState()
| `- note: mark the protocol requirement 'didUpdateCursorFloatingState()' 'async' to allow actor-isolated conformances
20 | }
21 |
[22/30] Compiling Sourceful OCamlLexer.swift
[23/30] Compiling Sourceful Python3Lexer.swift
[24/30] Compiling Sourceful SwiftLexer.swift
[25/30] Compiling Sourceful SourceCodeTheme.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:135:20: warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 | @Binding private var text: String
59 | private var shouldBecomeFirstResponder: Bool
60 | private var custom: Customization
| `- note: property declared here
61 |
62 | public init(
:
132 | }
133 |
134 | public func lexerForSource(_ source: String) -> Lexer {
| `- note: add '@MainActor' to make instance method 'lexerForSource' part of global actor 'MainActor'
135 | parent.custom.lexerForSource(source)
| `- warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
136 | }
137 |
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:144:20: warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 | @Binding private var text: String
59 | private var shouldBecomeFirstResponder: Bool
60 | private var custom: Customization
| `- note: property declared here
61 |
62 | public init(
:
136 | }
137 |
138 | public func didChangeText(_ syntaxTextView: SyntaxTextView) {
| `- note: add '@MainActor' to make instance method 'didChangeText' part of global actor 'MainActor'
139 | DispatchQueue.main.async {
140 | self.parent.text = syntaxTextView.text
:
142 |
143 | // allow the client to decide on thread
144 | parent.custom.didChangeText(parent)
| `- warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
145 | }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:148:20: warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 | @Binding private var text: String
59 | private var shouldBecomeFirstResponder: Bool
60 | private var custom: Customization
| `- note: property declared here
61 |
62 | public init(
:
145 | }
146 |
147 | public func textViewDidBeginEditing(_ syntaxTextView: SyntaxTextView) {
| `- note: add '@MainActor' to make instance method 'textViewDidBeginEditing' part of global actor 'MainActor'
148 | parent.custom.textViewDidBeginEditing(parent)
| `- warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
149 | }
150 | }
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:140:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
138 | public func didChangeText(_ syntaxTextView: SyntaxTextView) {
139 | DispatchQueue.main.async {
140 | self.parent.text = syntaxTextView.text
| |- 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
141 | }
142 |
[26/30] Compiling Sourceful SourceCodeToken.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:135:20: warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 | @Binding private var text: String
59 | private var shouldBecomeFirstResponder: Bool
60 | private var custom: Customization
| `- note: property declared here
61 |
62 | public init(
:
132 | }
133 |
134 | public func lexerForSource(_ source: String) -> Lexer {
| `- note: add '@MainActor' to make instance method 'lexerForSource' part of global actor 'MainActor'
135 | parent.custom.lexerForSource(source)
| `- warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
136 | }
137 |
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:144:20: warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 | @Binding private var text: String
59 | private var shouldBecomeFirstResponder: Bool
60 | private var custom: Customization
| `- note: property declared here
61 |
62 | public init(
:
136 | }
137 |
138 | public func didChangeText(_ syntaxTextView: SyntaxTextView) {
| `- note: add '@MainActor' to make instance method 'didChangeText' part of global actor 'MainActor'
139 | DispatchQueue.main.async {
140 | self.parent.text = syntaxTextView.text
:
142 |
143 | // allow the client to decide on thread
144 | parent.custom.didChangeText(parent)
| `- warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
145 | }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:148:20: warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 | @Binding private var text: String
59 | private var shouldBecomeFirstResponder: Bool
60 | private var custom: Customization
| `- note: property declared here
61 |
62 | public init(
:
145 | }
146 |
147 | public func textViewDidBeginEditing(_ syntaxTextView: SyntaxTextView) {
| `- note: add '@MainActor' to make instance method 'textViewDidBeginEditing' part of global actor 'MainActor'
148 | parent.custom.textViewDidBeginEditing(parent)
| `- warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
149 | }
150 | }
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:140:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
138 | public func didChangeText(_ syntaxTextView: SyntaxTextView) {
139 | DispatchQueue.main.async {
140 | self.parent.text = syntaxTextView.text
| |- 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
141 | }
142 |
[27/30] Compiling Sourceful SourceCodeTextEditor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:135:20: warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 | @Binding private var text: String
59 | private var shouldBecomeFirstResponder: Bool
60 | private var custom: Customization
| `- note: property declared here
61 |
62 | public init(
:
132 | }
133 |
134 | public func lexerForSource(_ source: String) -> Lexer {
| `- note: add '@MainActor' to make instance method 'lexerForSource' part of global actor 'MainActor'
135 | parent.custom.lexerForSource(source)
| `- warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
136 | }
137 |
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:144:20: warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 | @Binding private var text: String
59 | private var shouldBecomeFirstResponder: Bool
60 | private var custom: Customization
| `- note: property declared here
61 |
62 | public init(
:
136 | }
137 |
138 | public func didChangeText(_ syntaxTextView: SyntaxTextView) {
| `- note: add '@MainActor' to make instance method 'didChangeText' part of global actor 'MainActor'
139 | DispatchQueue.main.async {
140 | self.parent.text = syntaxTextView.text
:
142 |
143 | // allow the client to decide on thread
144 | parent.custom.didChangeText(parent)
| `- warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
145 | }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:148:20: warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
58 | @Binding private var text: String
59 | private var shouldBecomeFirstResponder: Bool
60 | private var custom: Customization
| `- note: property declared here
61 |
62 | public init(
:
145 | }
146 |
147 | public func textViewDidBeginEditing(_ syntaxTextView: SyntaxTextView) {
| `- note: add '@MainActor' to make instance method 'textViewDidBeginEditing' part of global actor 'MainActor'
148 | parent.custom.textViewDidBeginEditing(parent)
| `- warning: main actor-isolated property 'custom' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
149 | }
150 | }
/Users/admin/builder/spi-builder-workspace/Sources/Sourceful/SwiftUI/SourceCodeTextEditor.swift:140:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
138 | public func didChangeText(_ syntaxTextView: SyntaxTextView) {
139 | DispatchQueue.main.async {
140 | self.parent.text = syntaxTextView.text
| |- 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
141 | }
142 |
[28/30] Compiling Sourceful String+Range.swift
[29/30] Compiling Sourceful Types.swift
[30/30] Compiling Sourceful InnerTextView.swift
Build complete! (9.27s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Sourceful",
"name" : "Sourceful",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Sourceful",
"targets" : [
"Sourceful"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SourcefulTests",
"module_type" : "SwiftTarget",
"name" : "SourcefulTests",
"path" : "Tests/SourcefulTests",
"sources" : [
"SourcefulTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Sourceful"
],
"type" : "test"
},
{
"c99name" : "Sourceful",
"module_type" : "SwiftTarget",
"name" : "Sourceful",
"path" : "Sources/Sourceful",
"product_memberships" : [
"Sourceful"
],
"sources" : [
"ASTVisualizer.swift",
"Languages/JavaLexer.swift",
"Languages/JavaScriptLexer.swift",
"Languages/OCamlLexer.swift",
"Languages/Python3Lexer.swift",
"Languages/SwiftLexer.swift",
"Model/Lexer.swift",
"Model/Paragraph.swift",
"Model/RegexLexer.swift",
"Model/SyntaxColorTheme.swift",
"Model/Token.swift",
"SourceCodeRegexLexer.swift",
"SourceCodeTheme.swift",
"SourceCodeToken.swift",
"SwiftUI/SourceCodeTextEditor.swift",
"Themes/DefaultSourceCodeTheme.swift",
"Util/NSMutableAttributedString+Tokens.swift",
"Util/NSTextView+UIKit.swift",
"Util/String+Range.swift",
"Util/Types.swift",
"View/InnerTextView.swift",
"View/LineNumberLayoutManager.swift",
"View/Paragraphs.swift",
"View/SyntaxTextView+TextViewDelegate.swift",
"View/SyntaxTextView.swift",
"View/SyntaxTextViewLayoutManager.swift",
"View/TextViewWrapperView.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.