Function charEscape [src]

Print as escaped contents of a single-quoted string.

Prototype

pub fn charEscape(codepoint: u21, w: *Writer) Writer.Error!void

Parameters

codepoint: u21w: *Writer

Source

pub fn charEscape(codepoint: u21, w: *Writer) Writer.Error!void { switch (codepoint) { '\n' => try w.writeAll("\\n"), '\r' => try w.writeAll("\\r"), '\t' => try w.writeAll("\\t"), '\\' => try w.writeAll("\\\\"), '\'' => try w.writeAll("\\'"), '"', ' ', '!', '#'...'&', '('...'[', ']'...'~' => try w.writeByte(@intCast(codepoint)), else => { if (std.math.cast(u8, codepoint)) |byte| { try w.writeAll("\\x"); try w.printInt(byte, 16, .lower, .{ .width = 2, .fill = '0' }); } else { try w.writeAll("\\u{"); try w.printInt(codepoint, 16, .lower, .{}); try w.writeByte('}'); } }, } }