StardustXR / server

Stardust XR Reference Server, now blazingly fast in Rust :D

Home Page:https://stardustxr.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Autodocument vars/features

MatthewCroughan opened this issue · comments

When making additional envvars that control the program/code flow like cac2be7 it is important to consider that it is not automatically documenting itself or making itself known in anyway.

It might be possible to make a rust function that mandates a documentation string, and that could be printed in some way by the program, imagine stardust-xr-server --list-vars. The way --list-vars could be populated is by a function like stardustxr_make_feature which would take a documentation string and env var as arguments, therefore making it impossible to make an envvar lookup that doesn't document itself and make itself known within the code.

commented

Should a config struct be introduced that is build from cli args, env vars and config files to solve this?
This struct could easily be (self-) documented and extended. It would also encapsulate all configuration.

commented

There are already proven crates that we could use to achive this, i.e. config and figment.

If there's interest for something like it, I'd be willing to implement a draft PR with this feature.