input: Binding.Trigger format

This commit is contained in:
Mitchell Hashimoto
2023-11-03 17:48:19 -07:00
parent cb4bb8aaf6
commit debeba99db
2 changed files with 22 additions and 31 deletions

View File

@@ -416,6 +416,27 @@ pub const Trigger = extern struct {
std.hash.autoHash(&hasher, self.physical);
return hasher.final();
}
/// Format implementation for fmt package.
pub fn format(
self: Trigger,
comptime layout: []const u8,
opts: std.fmt.FormatOptions,
writer: anytype,
) !void {
_ = layout;
_ = opts;
// Modifiers first
if (self.mods.super) try writer.writeAll("super+");
if (self.mods.ctrl) try writer.writeAll("ctrl+");
if (self.mods.alt) try writer.writeAll("alt+");
if (self.mods.shift) try writer.writeAll("shift+");
// Key
if (self.physical) try writer.writeAll("physical:");
try writer.print("{s}", .{@tagName(self.key)});
}
};
/// A structure that contains a set of bindings and focuses on fast lookup.