Skip to content

Commit d7e7968

Browse files
committed
feat: Add ZRTL standard library plugins
Add a library of ZRTL plugins providing common language features: - zrtl_io: I/O operations (print, input, formatting) using ZRTL string format - zrtl_fs: File system operations (read/write files, directories, paths) - zrtl_time: Time operations (timestamps, sleep, instant timing, formatting) - zrtl_env: Environment (env vars, args, process info, OS detection) - zrtl_thread: Threading (spawn/join, atomics, mutexes) - zrtl_net: Networking (TCP client/server, UDP) All plugins: - Use ZRTL SDK types (StringPtr, ArrayPtr) for C ABI compatibility - Export symbols using $Module$function naming convention - Include comprehensive tests (26 tests total) - Compile to both cdylib and rlib for flexibility
1 parent 1b89f45 commit d7e7968

13 files changed

Lines changed: 3117 additions & 0 deletions

File tree

plugins/Cargo.toml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[workspace]
2+
resolver = "2"
3+
members = [
4+
"zrtl_io",
5+
"zrtl_fs",
6+
"zrtl_thread",
7+
"zrtl_net",
8+
"zrtl_time",
9+
"zrtl_env",
10+
]
11+
12+
[workspace.dependencies]
13+
# Core ZRTL types
14+
zrtl = { path = "../sdk/zrtl" }
15+
16+
# Common dependencies
17+
thiserror = "2.0"
18+
log = "0.4"

plugins/zrtl_env/Cargo.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[package]
2+
name = "zrtl_env"
3+
version = "0.1.0"
4+
edition = "2021"
5+
description = "ZRTL Environment plugin - env vars, args, process"
6+
license = "Apache-2.0"
7+
8+
[lib]
9+
crate-type = ["cdylib", "rlib"]
10+
11+
[dependencies]
12+
zrtl = { path = "../../sdk/zrtl" }

0 commit comments

Comments
 (0)