hare-xdg/format/desktop_entry/error.ha
2024-10-12 23:34:44 -04:00

28 lines
959 B
Hare

// Any error which may be returned from a function in this module.
export type error = !(
invalid_group_header |
invalid_entry |
invalid_ascii |
invalid_escape);
// Returned when a malformed group header is encountered while parsing.
export type invalid_group_header = !void;
// Returned when a malformed entry is encountered while parsing.
export type invalid_entry = !void;
// Returned when ASCII text was expected, while parsing, but something else was
// given.
export type invalid_ascii = !void;
// Returned when an invalid escape sequence was enctountered while parsing.
export type invalid_escape = !void;
// Converts a desktop entry [[error]] into a user-friendly string.
export fn strerror(err: error) str = match (err) {
case invalid_group_header => yield "invalid group header";
case invalid_entry => yield "invalid entry";
case invalid_ascii => yield "invalid ascii";
case invalid_escape => yield "invalid escape";
};