+1
.gitignore
+1
.gitignore
+2
-11
Package.swift
+2
-11
Package.swift
·········
-15
Sources/PterodactylBuild/FXValue+Conformances.swift
-15
Sources/PterodactylBuild/FXValue+Conformances.swift
···
+34
Sources/PterodactylBuild/Keys/AnalyseImports.swift
+34
Sources/PterodactylBuild/Keys/AnalyseImports.swift
···
-22
Sources/PterodactylBuild/Keys/Blob-local operations/BlobContents.swift
-22
Sources/PterodactylBuild/Keys/Blob-local operations/BlobContents.swift
···
-65
Sources/PterodactylBuild/Keys/Blob-local operations/BlobImports.swift
-65
Sources/PterodactylBuild/Keys/Blob-local operations/BlobImports.swift
···
-26
Sources/PterodactylBuild/Keys/Blob-local operations/BlobSyntaxTree.swift
-26
Sources/PterodactylBuild/Keys/Blob-local operations/BlobSyntaxTree.swift
···
-25
Sources/PterodactylBuild/Keys/Blob-local operations/BlobTokens.swift
-25
Sources/PterodactylBuild/Keys/Blob-local operations/BlobTokens.swift
···
-1
Sources/PterodactylBuild/Keys/Blob-local operations/README.md
-1
Sources/PterodactylBuild/Keys/Blob-local operations/README.md
···-Certain operations do not require knowledge of the entire source tree, only a specific blob inside the source tree. These include import analysis, tokenisation, line maps, parsing, etc.
+4
-2
Sources/PterodactylBuild/Keys/DependencyGraphOfSourceTree.swift
+4
-2
Sources/PterodactylBuild/Keys/DependencyGraphOfSourceTree.swift
···-static let versionDependencies: [any FXVersioning.Type] = [Keys.UnitMapOfSourceTree.self, Keys.BlobImports.self]+static let versionDependencies: [any FXVersioning.Type] = [Keys.UnitMapOfSourceTree.self, Keys.AnalyseImports.self]···
+7
Sources/PterodactylBuild/Keys/Keys.swift
+7
Sources/PterodactylBuild/Keys/Keys.swift
+6
-4
Sources/PterodactylBuild/Keys/NarrowSourceTree.swift
+6
-4
Sources/PterodactylBuild/Keys/NarrowSourceTree.swift
···static let versionDependencies: [any FXVersioning.Type] = [TransitiveDependencies.self, UnitMapOfSourceTree.self]-let dependencies = try await ctx.request(TransitiveDependencies(sourceTreeId: sourceTreeId, unitName: unitName))+let dependencies = try await ctx.request(TransitiveDependencies(sourceTreeId: sourceTreeId, unitName: unitName)).dependencies···
+32
Sources/PterodactylBuild/Keys/SourceCode.swift
+32
Sources/PterodactylBuild/Keys/SourceCode.swift
···
+4
-2
Sources/PterodactylBuild/Keys/TransitiveDependencies.swift
+4
-2
Sources/PterodactylBuild/Keys/TransitiveDependencies.swift
······let graph = try await ctx.request(Keys.DependencyGraphOfSourceTree(sourceTreeId: sourceTreeId))
-7
Sources/PterodactylBuild/Keys.swift
-7
Sources/PterodactylBuild/Keys.swift
+5
-5
Sources/PterodactylBuild/Types/UnitName.swift
+5
-5
Sources/PterodactylBuild/Types/UnitName.swift
···
-100
Sources/PterodactylSyntax/BlockLayoutProcessor.swift
-100
Sources/PterodactylSyntax/BlockLayoutProcessor.swift
···-let startColumn = if lines.count > 1 { lines.last!.utf16.count } else { lines.last?.utf16.count ?? location.startColumn }-if !firstTokenInBlock && indentStack.count > 1 && locatedToken.location.startColumn == indentStack.last! {-if let nextToken = locatedTokens[index...].first(where: { $0.location.startLine > locatedToken.location.startLine && $0.token.kind.canDetermineLayoutColumn }) {
+16
-44
Sources/PterodactylSyntax/Cursor.swift
+16
-44
Sources/PterodactylSyntax/Cursor.swift
···
-25
Sources/PterodactylSyntax/Diagnostic.swift
-25
Sources/PterodactylSyntax/Diagnostic.swift
···
-63
Sources/PterodactylSyntax/FoldingRanges.swift
-63
Sources/PterodactylSyntax/FoldingRanges.swift
···-if let foldingRangeKind = node.tree?.metadata?.delimitedFoldingRangeKind, let visibleUtf16Range {-let foldingRange = FoldingRange(startLine: startLocation.line, endLine: endLocation.line, kind: foldingRangeKind)
-46
Sources/PterodactylSyntax/Grammar/Document/Import.swift
-46
Sources/PterodactylSyntax/Grammar/Document/Import.swift
···
-19
Sources/PterodactylSyntax/Grammar/Document/Theory/Declaration/Lhs.swift
-19
Sources/PterodactylSyntax/Grammar/Document/Theory/Declaration/Lhs.swift
···
-19
Sources/PterodactylSyntax/Grammar/Document/Theory/Declaration/Rhs.swift
-19
Sources/PterodactylSyntax/Grammar/Document/Theory/Declaration/Rhs.swift
···
-52
Sources/PterodactylSyntax/Grammar/Document/Theory/Declaration.swift
-52
Sources/PterodactylSyntax/Grammar/Document/Theory/Declaration.swift
···-if parser.eat(kind: .punctuation(cell.key), metadata: TokenMetadata(semanticTokenType: .operator)) {
-46
Sources/PterodactylSyntax/Grammar/Document/Theory/TheoryBlock.swift
-46
Sources/PterodactylSyntax/Grammar/Document/Theory/TheoryBlock.swift
···
-23
Sources/PterodactylSyntax/Grammar/Document/Theory/TheoryName.swift
-23
Sources/PterodactylSyntax/Grammar/Document/Theory/TheoryName.swift
···
-33
Sources/PterodactylSyntax/Grammar/Document/Theory.swift
-33
Sources/PterodactylSyntax/Grammar/Document/Theory.swift
···
-51
Sources/PterodactylSyntax/Grammar/Document.swift
-51
Sources/PterodactylSyntax/Grammar/Document.swift
···-parser.advance(error: "Expected to see either an import or a theory declaration, but instead got \(parser.currentToken.kind): \(parser.currentToken.text)")
-36
Sources/PterodactylSyntax/Grammar.swift
-36
Sources/PterodactylSyntax/Grammar.swift
···
-137
Sources/PterodactylSyntax/Lexer.swift
-137
Sources/PterodactylSyntax/Lexer.swift
···
-30
Sources/PterodactylSyntax/LineMap.swift
-30
Sources/PterodactylSyntax/LineMap.swift
···
-188
Sources/PterodactylSyntax/Parser.swift
-188
Sources/PterodactylSyntax/Parser.swift
···-public mutating func close(mark: MarkOpened, kind: SyntaxTreeKind, metadata: SyntaxTreeMetadata?) {-public mutating func eat(kindSatisfying predicate: (TokenKind) -> Bool, metadata: TokenMetadata?) -> Bool {-public mutating func expect(kind: TokenKind, metadata: TokenMetadata?, error: String? = nil) {
-69
Sources/PterodactylSyntax/SemanticToken.swift
-69
Sources/PterodactylSyntax/SemanticToken.swift
···
+8
-35
Sources/PterodactylSyntax/SyntaxTree.swift
+8
-35
Sources/PterodactylSyntax/SyntaxTree.swift
···-public init(kind: SyntaxTreeKind, metadata: SyntaxTreeMetadata? = nil, children: [SyntaxTree.Child]) {+public init(kind: SyntaxTreeKind, metadata: SyntaxTreeMetadata?, children: [SyntaxTree.Child]) {···-/// A mutable version of ``SyntaxTree`` that does not keep track of textual length, for use when constructing trees.
-21
Sources/PterodactylSyntax/SyntaxView.swift
-21
Sources/PterodactylSyntax/SyntaxView.swift
···
+1
-1
Sources/PterodactylSyntax/Token.swift
+1
-1
Sources/PterodactylSyntax/Token.swift
+5
-80
Sources/PterodactylSyntax/Types.swift
+5
-80
Sources/PterodactylSyntax/Types.swift
···
+4
-4
Tests/PterodactylBuildTests/Test.swift
+4
-4
Tests/PterodactylBuildTests/Test.swift
···let dependencyGraph = try await engine.build(key: Keys.DependencyGraphOfSourceTree(sourceTreeId: treeID), ctx).get()···-let dependenciesOfBaz = try await engine.build(key: Keys.TransitiveDependencies(sourceTreeId: treeID, unitName: baz), ctx).get()+let dependenciesOfBaz = try await engine.build(key: Keys.TransitiveDependencies(sourceTreeId: treeID, unitName: baz), ctx).get().dependencies