29 lines · 917 B · Text
RawDownload
interface process {    use common.{env-vars};     /// A command.    record command {        /// The command to execute.        command: string,        /// The arguments to pass to the command.        args: list<string>,        /// The environment variables to set for the command.        env: env-vars,    }     /// The output of a finished process.    record output {        /// The status (exit code) of the process.        ///        /// On Unix, this will be `None` if the process was terminated by a signal.        status: option<s32>,        /// The data that the process wrote to stdout.        stdout: list<u8>,        /// The data that the process wrote to stderr.        stderr: list<u8>,    }     /// Executes the given command as a child process, waiting for it to finish    /// and collecting all of its output.    run-command: func(command: command) -> result<output, string>;}