WIP: Configuration file support
Add a user configuration file that is read on startup.
Change the server settings to always be fully fleshed out. So the
ElixirLS.LanguageServer.Server state settings always has all the
settings (and as atoms) instead of being an empty map by default. This
consolidates the default setting logic into the new ConfigParser
module instead of being strewn about the Server.
TODO:
- [ ] Fix tests (I'm getting a strange error with the tests that I cannot figure out.)
- [ ] Read a configuratioon file from the repository
Note: Editor configuration always overrides the configuration file, and the VSCode extension always sends in the full configuration. This means that the configuration file is not currently useable with the VSCode extension. This will probably have to be modified in the VSCode extension because I think it is important for the extension to have the final control of the server settings.
Fixes #60
@axelson how far is this from being done?
@lukaszsamson Hmmm, I think it was fairly close at the time, but I think it's pretty out of date now so I don't know how much work would be required to bring it up to date. I also probably won't be able to dedicate time to it in the near future.