Description
The fact that theme and config are seperate makes sense. But the existence of heap-config is a bit dubious. Those parameters won't be saved by the configfile command, they may be harder to discover than if they were simply in the config scope, there isn't a clear way to differentiate between different allocators, some heap configuration is in config and not in heap-config which is confusing (max-visualize-chunk-size, safe-linking, more?).
It would be better if config and heap-config were merged. config could use "categories" in a similar way that the pwndbg command does. LLDB kinda does this, maybe some of their UX could be taken as inspiration.
On the other hand one thing that I kinda like about our current configuration is that the config names aren't overly verbose. When I see
safe-linking whether glibc uses safe-linking auto
I get what it's about from the description. I don't need to write down set heap-glibc-safe-linking auto which could be a "trap" we could fall into if we categorized everything. But maybe it's not that much of an issue?