Function fmtId [src]

Return a Formatter for a Zig identifier, escaping it with @"" syntax if needed. See also fmtIdFlags.

Prototype

pub fn fmtId(bytes: []const u8) FormatId

Parameters

bytes: []const u8

Example

test fmtId { const expectFmt = std.testing.expectFmt; try expectFmt("@\"while\"", "{f}", .{fmtId("while")}); try expectFmt("@\"while\"", "{f}", .{fmtIdFlags("while", .{ .allow_primitive = true })}); try expectFmt("@\"while\"", "{f}", .{fmtIdFlags("while", .{ .allow_underscore = true })}); try expectFmt("@\"while\"", "{f}", .{fmtIdFlags("while", .{ .allow_primitive = true, .allow_underscore = true })}); try expectFmt("hello", "{f}", .{fmtId("hello")}); try expectFmt("hello", "{f}", .{fmtIdFlags("hello", .{ .allow_primitive = true })}); try expectFmt("hello", "{f}", .{fmtIdFlags("hello", .{ .allow_underscore = true })}); try expectFmt("hello", "{f}", .{fmtIdFlags("hello", .{ .allow_primitive = true, .allow_underscore = true })}); try expectFmt("@\"type\"", "{f}", .{fmtId("type")}); try expectFmt("type", "{f}", .{fmtIdFlags("type", .{ .allow_primitive = true })}); try expectFmt("@\"type\"", "{f}", .{fmtIdFlags("type", .{ .allow_underscore = true })}); try expectFmt("type", "{f}", .{fmtIdFlags("type", .{ .allow_primitive = true, .allow_underscore = true })}); try expectFmt("@\"_\"", "{f}", .{fmtId("_")}); try expectFmt("@\"_\"", "{f}", .{fmtIdFlags("_", .{ .allow_primitive = true })}); try expectFmt("_", "{f}", .{fmtIdFlags("_", .{ .allow_underscore = true })}); try expectFmt("_", "{f}", .{fmtIdFlags("_", .{ .allow_primitive = true, .allow_underscore = true })}); try expectFmt("@\"i123\"", "{f}", .{fmtId("i123")}); try expectFmt("i123", "{f}", .{fmtIdFlags("i123", .{ .allow_primitive = true })}); try expectFmt("@\"4four\"", "{f}", .{fmtId("4four")}); try expectFmt("_underscore", "{f}", .{fmtId("_underscore")}); try expectFmt("@\"11\\\"23\"", "{f}", .{fmtId("11\"23")}); try expectFmt("@\"11\\x0f23\"", "{f}", .{fmtId("11\x0F23")}); // These are technically not currently legal in Zig. try expectFmt("@\"\"", "{f}", .{fmtId("")}); try expectFmt("@\"\\x00\"", "{f}", .{fmtId("\x00")}); }

Source

pub fn fmtId(bytes: []const u8) FormatId { return .{ .bytes = bytes, .flags = .{} }; }