61ac06ab5f
Introduce fat function pointers (BuxFn {code, env}) so capturing closures
are heap-allocated per value in both bootstrap and selfhost. Expand
Array/Map/Set/String/Test/Result APIs, add proper tuple codegen and
error snippets with multi-char underlines, golden diagnostic tests, and
LSP diagnostics via buxc check.
41 lines
844 B
Plaintext
41 lines
844 B
Plaintext
module Std::Os {
|
|
|
|
extern func bux_argc() -> int;
|
|
extern func bux_argv(index: int) -> String;
|
|
extern func bux_getenv(name: String) -> String;
|
|
extern func bux_setenv(name: String, value: String) -> int;
|
|
extern func bux_getcwd() -> String;
|
|
extern func bux_chdir(path: String) -> int;
|
|
extern func bux_exit(code: int);
|
|
|
|
func Os_ArgsCount() -> int {
|
|
return bux_argc();
|
|
}
|
|
|
|
func Os_Args(index: int) -> String {
|
|
return bux_argv(index);
|
|
}
|
|
|
|
func Os_GetEnv(name: String) -> String {
|
|
return bux_getenv(name);
|
|
}
|
|
|
|
func Os_SetEnv(name: String, value: String) -> bool {
|
|
return bux_setenv(name, value) == 0;
|
|
}
|
|
|
|
func Os_GetCwd() -> String {
|
|
return bux_getcwd();
|
|
}
|
|
|
|
func Os_Chdir(path: String) -> bool {
|
|
return bux_chdir(path) == 0;
|
|
}
|
|
|
|
/* Terminate the process with the given exit code */
|
|
func Os_Exit(code: int) {
|
|
bux_exit(code);
|
|
}
|
|
|
|
}
|