Skip to content

feat: New std library "env" for accessing the process environment#97

Merged
Zuhaitz-dev merged 3 commits intozenc-lang:mainfrom
Burnett01:feat/std-env-for-environment-variables
Jan 22, 2026
Merged

feat: New std library "env" for accessing the process environment#97
Zuhaitz-dev merged 3 commits intozenc-lang:mainfrom
Burnett01:feat/std-env-for-environment-variables

Conversation

@Burnett01
Copy link
Copy Markdown
Member

@Burnett01 Burnett01 commented Jan 22, 2026

Standard Library: Env (std/env.zc)

Env is a Zen-C library for accessing the environment of the process environment.

Usage

import "std/env.zc"

fn main() {
    Env::set("HELLO", "world");

    var hello = Env::get("HELLO");

    if (hello.is_some()) {
        println "Hello {hello.unwrap()}";
    }
}

Enum

enum EnvRes {
    ERR,
    OK,
}

Methods

get

Retrieves the env-var as borrowed string (char *) (no alloc)

fn get(name: string) -> Option<string>

get_dup

Retrieves the env-var as caller-owned String() (heap alloc)

fn get_dup(name: string) -> Option<String>

set

Sets an env-var variable

fn set(name: string, value: string) -> EnvRes

unset

Unsets an existing env-var

fn unset(name: string) -> EnvRes

@Zuhaitz-dev Zuhaitz-dev merged commit 3a4a72a into zenc-lang:main Jan 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants