Wado
<!-- Auto-generated by: wado doc -f markdown core:cli --> <!-- Do not edit this file directly. -->

core:cli

CLI helpers: println, eprintln, args, env, exit, etc. For raw WASI CLI interfaces, use wasi:cli directly.

Synopsis

println("Hello, Wado!");
for let arg of args() {
    println(`arg: {arg}`);
}
if let Some(home) = env("HOME") {
    println(`HOME={home}`);
}

Functions

pub fn write_to_stream(tx: StreamWritable<u8>, message: String, add_newline: bool)

Writes a string to a StreamWritable<u8> with an optional newline, then drops it.

pub fn println(message: String) with Stdout

Prints a line to stdout (adds newline).

pub fn eprintln(message: String) with Stderr

Prints a line to stderr (adds newline).

pub fn print(message: String) with Stdout

Prints to stdout without a trailing newline.

pub fn eprint(message: String) with Stderr

Prints to stderr without a trailing newline.

pub fn print_bytes(data: List<u8>) with Stdout

Writes raw bytes to stdout.

pub fn env(name: String) -> Option<String> with Environment

Returns the value of an environment variable by name.

pub fn args() -> List<String> with Environment

Returns all command-line arguments.

pub fn cwd() -> Option<String> with Environment

Returns the current working directory.

pub fn exit_success() -> ! with Exit

Exits with success (code 0).

pub fn exit_error() -> ! with Exit

Exits with an error.

pub fn exit(code: u8) -> ! with Exit

Exits with a specific status code.

pub fn log_stdout(message: String)

Logs a message with newline to stdout (ambient, no effect required). Uses builtin::call_indirect__ to bypass the effect system — this is intentional for logging/debugging which must work without effects.

pub fn log_stderr(message: String)

Logs a message with newline to stderr (ambient, no effect required). Uses builtin::call_indirect__ to bypass the effect system — this is intentional for logging/debugging which must work without effects.