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]; +}