aboutsummaryrefslogtreecommitdiff
path: root/src/string_builder.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/string_builder.zig')
-rw-r--r--src/string_builder.zig11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/string_builder.zig b/src/string_builder.zig
index 577fa1548..610ddd00f 100644
--- a/src/string_builder.zig
+++ b/src/string_builder.zig
@@ -30,3 +30,14 @@ pub fn append(this: *StringBuilder, slice: string) string {
assert(this.len <= this.cap);
return result;
}
+
+const std = @import("std");
+pub fn fmt(this: *StringBuilder, comptime str: string, args: anytype) string {
+ assert(this.len <= this.cap); // didn't count everything
+ assert(this.ptr != null); // must call allocate first
+
+ var buf = this.ptr.?[this.len..this.cap];
+ const out = std.fmt.bufPrint(buf, str, args) catch unreachable;
+ this.len += out.len;
+ return out;
+}