docs: don't remove freeform sub-options

This isn't a fully correct fix, but it's much closer to the intended
behaviour.
This commit is contained in:
Matt Sturgeon 2025-04-29 06:33:14 +01:00
parent 19528509e5
commit 9caeb51238
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299

View file

@ -24,7 +24,19 @@ let
removeUnwanted =
attrs:
builtins.removeAttrs attrs [
# FIXME: We incorrectly remove _freeformOptions here.
#
# However we can't fix the bug because we derive page names from attrnames;
# the correct behaviour would be to ignore attrnames and use option locs.
#
# As a workaround, merge the freeform options at the top of these attrs,
# however this can run into name conflicts 😢
#
# We should move this workaround to where we decide the page name and
# whether to nest into a sub-page, so that we can keep the original
# _freeformOptions attr as intended.
attrs._freeformOptions or { }
// builtins.removeAttrs attrs [
"_module"
"_freeformOptions"
"warnings"