+26
-2
Package.swift
+26
-2
Package.swift
······
······
+4
-4
Sources/PterodactylBuild/BuildContext.swift
+4
-4
Sources/PterodactylBuild/BuildContext.swift
···-static func load<X: FXKey>(id: LLBDataID, in ctx: BuildContext<X>) async throws -> LLBCASFileTree {-func remove<X: FXKey>(path: AbsolutePath, in ctx: BuildContext<X>) async throws -> LLBCASFileTree {-func traverse<X: FXKey>(root: AbsolutePath, in ctx: BuildContext<X>, _ callback: (AbsolutePath, LLBDataID, LLBDirectoryEntry) async throws -> Void) async throws {
···+public func computeValue(_ fi: FXFunctionInterface<Self>, _ ctx: Context) async throws -> ValueType {+public static func load<X: FXKey>(id: LLBDataID, in ctx: BuildContext<X>) async throws -> LLBCASFileTree {+public func remove<X: FXKey>(path: AbsolutePath, in ctx: BuildContext<X>) async throws -> LLBCASFileTree {+public func traverse<X: FXKey>(root: AbsolutePath, in ctx: BuildContext<X>, _ callback: (AbsolutePath, LLBDataID, LLBDirectoryEntry) async throws -> Void) async throws {
+3
-3
Sources/PterodactylBuild/Keys.swift
+3
-3
Sources/PterodactylBuild/Keys.swift
+8
-4
Sources/PterodactylBuild/Keys/Blob/ReadContents.swift
+8
-4
Sources/PterodactylBuild/Keys/Blob/ReadContents.swift
···
···
+15
Sources/PterodactylLanguageServer/AbsolutePath+URI.swift
+15
Sources/PterodactylLanguageServer/AbsolutePath+URI.swift
···
···
+252
Sources/PterodactylLanguageServer/EventHandler.swift
+252
Sources/PterodactylLanguageServer/EventHandler.swift
···
···+self.buildEngine = FXEngine(group: group, db: db, functionCache: functionCache, executor: executor)+self.sourceTreeManager = try await SourceTreeManager(buildEngine: buildEngine, casClient: casClient, casContext: casContext)+SemanticTokensLegend(tokenTypes: SemanticTokenTypes.allStrings, tokenModifiers: SemanticTokenModifiers.allStrings)+SemanticTokensOptions(legend: semanticTokensLegend, full: .optionB(SemanticTokensClientCapabilities.Requests.Full(delta: false)))+func initialize(id: JSONId, params: InitializeParams) async -> Response<InitializationResponse> {+// try await publishDiagnostics(uri: params.textDocument.uri, version: params.textDocument.version)+// await bufferManager.setBufferText(key: params.textDocument.uri, text: params.textDocument.text)+try await publishDiagnostics(uri: params.textDocument.uri, version: params.textDocument.version)+func semanticTokensFull(id: JSONId, params: SemanticTokensParams) async -> Response<SemanticTokensResponse> {+// guard let document = await bufferManager.documentForBuffer(key: params.textDocument.uri) else { return .success(nil) }+func foldingRange(id: JSONId, params: FoldingRangeParams) async -> Response<FoldingRangeResponse> {+// guard let document = await bufferManager.documentForBuffer(key: params.textDocument.uri) else { return .success(nil) }+func diagnostics(id: JSONId, params: DocumentDiagnosticParams) async -> Response<DocumentDiagnosticReport> {+func workspaceExecuteCommand(id: JSONId, params: ExecuteCommandParams) async -> Response<LSPAny?> { .success(nil) }+func workspaceWillCreateFiles(id: JSONId, params: CreateFilesParams) async -> Response<WorkspaceEdit?> { .success(nil) }+func workspaceWillRenameFiles(id: JSONId, params: RenameFilesParams) async -> Response<WorkspaceEdit?> { .success(nil) }+func workspaceWillDeleteFiles(id: JSONId, params: DeleteFilesParams) async -> Response<WorkspaceEdit?> { .success(nil) }+func workspaceSymbol(id: JSONId, params: WorkspaceSymbolParams) async -> Response<WorkspaceSymbolResponse> { .success(nil) }+// func workspaceSymbolResolve(id: JSONId, params: WorkspaceSymbol) async -> Response<WorkspaceSymbol> { .success(nil) }+func textDocumentWillSaveWaitUntil(id: JSONId, params: WillSaveTextDocumentParams) async -> Response<[TextEdit]?> { .success(nil) }+// func completionItemResolve(id: JSONId, params: CompletionItem) async -> Response<CompletionItem> { .success(nil) }+func hover(id: JSONId, params: TextDocumentPositionParams) async -> Response<HoverResponse> { .success(nil) }+func signatureHelp(id: JSONId, params: TextDocumentPositionParams) async -> Response<SignatureHelpResponse> { .success(nil) }+func declaration(id: JSONId, params: TextDocumentPositionParams) async -> Response<DeclarationResponse> { .success(nil) }+func definition(id: JSONId, params: TextDocumentPositionParams) async -> Response<DefinitionResponse> { .success(nil) }+func typeDefinition(id: JSONId, params: TextDocumentPositionParams) async -> Response<TypeDefinitionResponse> { .success(nil) }+func implementation(id: JSONId, params: TextDocumentPositionParams) async -> Response<ImplementationResponse> { .success(nil) }+func documentHighlight(id: JSONId, params: DocumentHighlightParams) async -> Response<DocumentHighlightResponse> { .success(nil) }+func documentSymbol(id: JSONId, params: DocumentSymbolParams) async -> Response<DocumentSymbolResponse> { .success(nil) }+func codeAction(id: JSONId, params: CodeActionParams) async -> Response<CodeActionResponse> { .success(nil) }+// func codeActionResolve(id: JSONId, params: CodeAction) async -> Response<CodeAction> { .success(nil) }+func codeLens(id: JSONId, params: CodeLensParams) async -> Response<CodeLensResponse> { .success(nil) }+// func codeLensResolve(id: JSONId, params: CodeLens) async -> Response<CodeLens> { .success(nil) }+func selectionRange(id: JSONId, params: SelectionRangeParams) async -> Response<SelectionRangeResponse> { .success(nil) }+func linkedEditingRange(id: JSONId, params: LinkedEditingRangeParams) async -> Response<LinkedEditingRangeResponse> { .success(nil) }+func prepareCallHierarchy(id: JSONId, params: CallHierarchyPrepareParams) async -> Response<CallHierarchyPrepareResponse> { .success(nil) }+func prepareRename(id: JSONId, params: PrepareRenameParams) async -> Response<PrepareRenameResponse> { .success(nil) }+func prepareTypeHeirarchy(id: JSONId, params: TypeHierarchyPrepareParams) async -> Response<PrepareTypeHeirarchyResponse> { .success(nil) }+func rename(id: JSONId, params: RenameParams) async -> Response<RenameResponse> { .success(nil) }+func inlayHint(id: JSONId, params: InlayHintParams) async -> Response<InlayHintResponse> { .success(nil) }+func inlayHintResolve(id: JSONId, params: InlayHint) async -> Response<InlayHintResponse> { .success(nil) }+func documentLink(id: JSONId, params: DocumentLinkParams) async -> Response<DocumentLinkResponse> { .success(nil) }+// func documentLinkResolve(id: JSONId, params: DocumentLink) async -> Response<DocumentLink> { .success(nil) }+// func documentColor(id: JSONId, params: DocumentColorParams) async -> Response<DocumentColorResponse> { .success(nil) }+// func colorPresentation(id: JSONId, params: ColorPresentationParams) async -> Response<ColorPresentationResponse> { .success(nil) }+func formatting(id: JSONId, params: DocumentFormattingParams) async -> Response<FormattingResult> { .success(nil) }+func rangeFormatting(id: JSONId, params: DocumentRangeFormattingParams) async -> Response<FormattingResult> { .success(nil) }+func onTypeFormatting(id: JSONId, params: DocumentOnTypeFormattingParams) async -> Response<FormattingResult> { .success(nil) }+func references(id: JSONId, params: ReferenceParams) async -> Response<ReferenceResponse> { .success(nil) }+func moniker(id: JSONId, params: MonikerParams) async -> Response<MonikerResponse> { .success(nil) }+func semanticTokensFullDelta(id: JSONId, params: SemanticTokensDeltaParams) async -> Response<SemanticTokensDeltaResponse> { .success(nil) }+func semanticTokensRange(id: JSONId, params: SemanticTokensRangeParams) async -> Response<SemanticTokensResponse> { .success(nil) }+func callHierarchyIncomingCalls(id: JSONId, params: CallHierarchyIncomingCallsParams) async -> Response<CallHierarchyIncomingCallsResponse> { .success(nil) }+func callHierarchyOutgoingCalls(id: JSONId, params: CallHierarchyOutgoingCallsParams) async -> Response<CallHierarchyOutgoingCallsResponse> { .success(nil) }+func custom(id: JSONId, method: String, params: LSPAny) async -> Response<LSPAny> { .success(nil) }
+13
Sources/PterodactylLanguageServer/LLBDeclFileTree+Singleton.swift
+13
Sources/PterodactylLanguageServer/LLBDeclFileTree+Singleton.swift
···
···
+59
Sources/PterodactylLanguageServer/Logger.swift
+59
Sources/PterodactylLanguageServer/Logger.swift
···
···
+35
Sources/PterodactylLanguageServer/SourceTreeManager.swift
+35
Sources/PterodactylLanguageServer/SourceTreeManager.swift
···
···+init(buildEngine: FXEngine, casClient: LLBCASFSClient, casContext: TSCUtility.Context, sourceTree: LLBCASFileTree? = nil) async throws {+let singletonTree: LLBCASFileTree = try await casClient.storeDir(singletonDeclTree, casContext).get()+self.sourceTree = try await sourceTree.merge(with: singletonTree, in: casClient.db, casContext).get()+guard let (id, _) = try await sourceTree.lookup(path: path, in: casClient.db, casContext).get() else { return nil }
+4
-6
Sources/PterodactylSyntax/Diagnostic.swift
+4
-6
Sources/PterodactylSyntax/Diagnostic.swift
···
+49
Tests/PterodactylLanguageServerTests/Test.swift
+49
Tests/PterodactylLanguageServerTests/Test.swift
···
···+let manager = try await SourceTreeManager(buildEngine: engine, casClient: client, casContext: context)