illuaminate
illuaminate copied to clipboard
Rethink config system
I'm not a fan of the current IlluaminateConfig.Term
module. The original idea is neat (DSL for writing config structures which can be used for parsing and printing), however in practice I think this was flawed for a couple of reasons:
-
We probably don't want to generate the whole config file, it ends up being pretty overwhelming.
-
Not providing access to the whole parser ends up being irritating. For instance, for back-compat reasons we want to support several different ways of specifying documentation generation options.
Doing this using the term system ends up being annoying to do, and also means we end up writing both the old and the new config options when generating the init file. Definitely not ideal! (seen in #35 for instance).
I think what we should do instead is ditch the Term system, instead replacing it with IlluaminateConfig.Parser
(and a "override" function for linters).
Then linters should also expose additional documentation (probably viewable via illuaminate linter XYZ
) which describes the options it accepts.