let
status = [
"Alternate"
"Current"
"Inactive"
"Visible"
];
part = [
"ADDED"
"CHANGED"
"DELETED"
"ERROR"
"HINT"
"Icon"
"Index"
"INFO"
"Mod"
"Number"
"Sign"
"SignRight"
"Target"
"WARN"
];
groups_left = [
"BufferTabpageFill"
"BufferTabpages"
"TabLine"
"TabLineSel"
"TabLineFill"
"NormalFloat"
"FloatBorder"
];
# "Buffer" + status + part
buffer_status = builtins.foldl' (acc: elem: acc ++ elem) [ ] (
builtins.map (status: builtins.map (part: "Buffer" + status + part) part) status
);
in
{
enable = true;
settings.extra_groups = groups_left ++ buffer_status;
}