nixvim
nixvim copied to clipboard
lib/options: refactor and rename (non-breaking)
lib/types: add nixvimTypes.freeformModule
We often have submodules in settings options, most of these should be freeform although many aren't.
lib/options: add rawOpts helpers
New helpers for making non-null options that support the raw type.
lib/options: move top-level helpers to nullableOpts
Most of the top-level option helpers were actually creating nullable options. Move them into their own scope.
lib/options: standardise raw-type support in defaultNullOpts
mkAttrsOf (etc) didn't inject maybeRaw everywhere they should. Also begin transitioning mkNullable and mkNullableWithRaw by introducing mkNullableNoRaw alias.
lib/options: merge mkNullOrStrLuaOr' (etc)
This is the only breaking change, although I don't think anyone ever used these.
Other
Do we still need mkCompositeOption? Should we make it freeform?