Browse Source

Add: os.tmpname

AnnulusGames 1 year ago
parent
commit
111795c3eb

+ 1 - 0
src/Lua/Standard/OpenLibExtensions.cs

@@ -94,6 +94,7 @@ public static class OpenLibExtensions
         RenameFunction.Instance,
         RenameFunction.Instance,
         SetLocaleFunction.Instance,
         SetLocaleFunction.Instance,
         TimeFunction.Instance,
         TimeFunction.Instance,
+        TmpNameFunction.Instance,
     ];
     ];
 
 
     public static void OpenBasicLibrary(this LuaState state)
     public static void OpenBasicLibrary(this LuaState state)

+ 13 - 0
src/Lua/Standard/OperatingSystem/TmpNameFunction.cs

@@ -0,0 +1,13 @@
+namespace Lua.Standard.OperatingSystem;
+
+public sealed class TmpNameFunction : LuaFunction
+{
+    public override string Name => "tmpname";
+    public static readonly TmpNameFunction Instance = new();
+
+    protected override ValueTask<int> InvokeAsyncCore(LuaFunctionExecutionContext context, Memory<LuaValue> buffer, CancellationToken cancellationToken)
+    {
+        buffer.Span[0] = Path.GetTempFileName();
+        return new(1);
+    }
+}