namespace Lua.Standard.IO; public sealed class FileFlushFunction : LuaFunction { public override string Name => "flush"; public static readonly FileFlushFunction Instance = new(); protected override ValueTask InvokeAsyncCore(LuaFunctionExecutionContext context, Memory buffer, CancellationToken cancellationToken) { var file = context.ReadArgument(0); try { file.Flush(); buffer.Span[0] = true; return new(1); } catch (IOException ex) { buffer.Span[0] = LuaValue.Nil; buffer.Span[1] = ex.Message; buffer.Span[2] = ex.HResult; return new(3); } } }