import Foundation

let process = Process()
let pipe = Pipe()
let pipeError = Pipe()
let outputHandle = pipe.fileHandleForReading
let outputErrorHandle = pipeError.fileHandleForReading

func main() {
	
}

func shell(_ command: String) -> String? {
	process.executableURL = URL(fileURLWithPath: "/bin/zsh")
	process.arguments = ["-c", command]
	process.standardOutput = pipe
	process.standardError = pipeError
	
	process.launch()
	process.waitUntilExit()
	
	let data = outputHandle.readDataToEndOfFile()
	let dataError = outputErrorHandle.readDataToEndOfFile()
	
	let output = String(
		data: data,
		encoding: .utf8
	)?.trimmingCharacters(in: .whitespacesAndNewlines)
	let outputError = String(
		data: dataError,
		encoding: .utf8
	)?.trimmingCharacters(in: .whitespacesAndNewlines)
	
	if outputError != "" {
		print(outputError as Any)
	}
	return output
}

main()
