|
@@ -20,6 +20,11 @@
|
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
* DEALINGS IN THE SOFTWARE.
|
|
* DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
*/
|
|
|
|
+
|
|
|
|
+using lua.NativeStringTools;
|
|
|
|
+import lua.Package;
|
|
|
|
+import lua.Lua;
|
|
|
|
+
|
|
@:coreApi
|
|
@:coreApi
|
|
class Sys {
|
|
class Sys {
|
|
public static inline function print( v : Dynamic ) : Void {
|
|
public static inline function print( v : Dynamic ) : Void {
|
|
@@ -46,6 +51,24 @@ class Sys {
|
|
return lua.NativeStringTools.byte(lua.Io.read(1));
|
|
return lua.NativeStringTools.byte(lua.Io.read(1));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public static function systemName() : String {
|
|
|
|
+ switch(Package.config.sub(1,1)){
|
|
|
|
+ case "/" : {
|
|
|
|
+ var f = Lua.assert(lua.Io.popen("uname"));
|
|
|
|
+ var s = Lua.assert(f.read('*a'));
|
|
|
|
+ f.close();
|
|
|
|
+ s = s.gsub('^%s+', '');
|
|
|
|
+ s = s.gsub('%s+$', '');
|
|
|
|
+ s = s.gsub('[\n\r]+', ' ');
|
|
|
|
+ if (s == "Darwin") return "Mac";
|
|
|
|
+ else if (s.lower().find("bsd") > 0) return "BSD";
|
|
|
|
+ else return "Linux";
|
|
|
|
+ }
|
|
|
|
+ case "\\" : return "Windows";
|
|
|
|
+ default : return null;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
// TODO
|
|
// TODO
|
|
public inline static function environment() : Map<String,String> return new Map();
|
|
public inline static function environment() : Map<String,String> return new Map();
|
|
|
|
|
|
@@ -73,9 +96,6 @@ class Sys {
|
|
public static function stdin() : haxe.io.Input return null;
|
|
public static function stdin() : haxe.io.Input return null;
|
|
public static function stdout() : haxe.io.Output return null;
|
|
public static function stdout() : haxe.io.Output return null;
|
|
|
|
|
|
- // TODO
|
|
|
|
- public static function systemName() : String return null;
|
|
|
|
-
|
|
|
|
// TODO
|
|
// TODO
|
|
public static function time() : Float return lua.Os.time();
|
|
public static function time() : Float return lua.Os.time();
|
|
|
|
|