Skip to content

Rethink config system #36

@SquidDev

Description

@SquidDev

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 init-config Broken #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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions