From 94114416fe96cbb433dba5d19bcf335e7bc13d47 Mon Sep 17 00:00:00 2001 From: ValKmjolnir Date: Mon, 8 Jul 2024 22:56:33 +0800 Subject: [PATCH] :sparkles: add native function for version info --- src/natives/builtin.cpp | 5 +++++ src/natives/builtin.h | 1 + std/runtime.nas | 12 ++++++++++++ 3 files changed, 18 insertions(+) diff --git a/src/natives/builtin.cpp b/src/natives/builtin.cpp index 203fae8..ff81e14 100644 --- a/src/natives/builtin.cpp +++ b/src/natives/builtin.cpp @@ -468,6 +468,10 @@ var builtin_platform(context* ctx, gc* ngc) { return ngc->newstr(util::get_platform()); } +var builtin_version(context* ctx, gc* ngc) { + return ngc->newstr(__nasver__); +} + var builtin_arch(context* ctx, gc* ngc) { return ngc->newstr(util::get_arch()); } @@ -769,6 +773,7 @@ nasal_builtin_table builtin[] = { {"__sleep", builtin_sleep}, {"__platform", builtin_platform}, {"__arch", builtin_arch}, + {"__version", builtin_version}, {"__md5", builtin_md5}, {"__maketimestamp", builtin_maketimestamp}, {"__time_stamp", builtin_time_stamp}, diff --git a/src/natives/builtin.h b/src/natives/builtin.h index 2239a17..9b23e0f 100644 --- a/src/natives/builtin.h +++ b/src/natives/builtin.h @@ -66,6 +66,7 @@ var builtin_values(context*, gc*); var builtin_sleep(context*, gc*); var builtin_platform(context*, gc*); var builtin_arch(context*, gc*); +var builtin_version(context*, gc*); // md5 related functions std::string tohex(u32); diff --git a/std/runtime.nas b/std/runtime.nas index 2cd57a1..5aa9421 100644 --- a/std/runtime.nas +++ b/std/runtime.nas @@ -33,3 +33,15 @@ var windows = { return __set_utf8_output; } }; + +var version = func() { + return __version; +} + +var major_version = func() { + return split(".", version())[0]; +} + +var minor_version = func() { + return split(".", version())[1]; +}