From 6d8a6cff184e379d9f4315909f8627cc253ded16 Mon Sep 17 00:00:00 2001 From: Khan Winter <35942988+thecoolwinter@users.noreply.github.com> Date: Mon, 21 Apr 2025 15:45:54 -0500 Subject: [PATCH] Return Created Process in `localProcessChannel` --- Sources/LanguageClient/DataChannel+LocalProcess.swift | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Sources/LanguageClient/DataChannel+LocalProcess.swift b/Sources/LanguageClient/DataChannel+LocalProcess.swift index 95b43e1..f700d67 100644 --- a/Sources/LanguageClient/DataChannel+LocalProcess.swift +++ b/Sources/LanguageClient/DataChannel+LocalProcess.swift @@ -11,6 +11,14 @@ extension DataChannel { parameters: Process.ExecutionParameters, terminationHandler: @escaping @Sendable () -> Void ) throws -> DataChannel { + try localProcessChannel(parameters: parameters, terminationHandler: terminationHandler).channel + } + + @available(macOS 12.0, *) + public static func localProcessChannel( + parameters: Process.ExecutionParameters, + terminationHandler: @escaping @Sendable () -> Void + ) throws -> (channel: DataChannel, process: Process) { let process = Process() let stdinPipe = Pipe() @@ -56,7 +64,7 @@ extension DataChannel { try stdinPipe.fileHandleForWriting.write(contentsOf: $0) } - return DataChannel(writeHandler: handler, dataSequence: stream) + return (DataChannel(writeHandler: handler, dataSequence: stream), process) } }