After some incubation time, the PR related to modules have been merged:
Here’s the relevant part in the doc:
provide-module [<switches>] <name> <commands>
declares a module name that is defined by commands . commands will be evaluated as if by source the first time require-module <name> is run.
-override
allow the module to replace an existing one with the same name. Fails if the module has already been evaluated.
require-module <name>
guarantees the commands associated with name have been evaluated before continuing command execution. Fails if name has not been defined by a provide-module command. Does nothing if the associated commands have already been evaluated.
Which plugins in the current ecosystem will benefit from this new addition?
I except even better loading times when language plugins adopt modules.
I wonder if modules are going to be used in default configs. Currently stock /rc configs are independent one of another (it’s probably good thing) but there is some code duplication in them that could be addressed now.