Adds supports for plugins. Here's a plugin template. This PR will likely generate a lot of merge conflicts for any other PRs that were started before this one was merged.
It also creates a plugins tab in settings that allows users to manage which plugins are loaded and which are not. The list of unloaded plugins is persisted across launches in Config. See Notes/PluginSystem.md for a more detailed description of how the plugin system actually works.
Thanks @thegail for getting the first part of the plugin system working.
Type of change
Please delete options that are not relevant.
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update
Checklist:
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation comments
Description
Adds supports for plugins. Here's a plugin template. This PR will likely generate a lot of merge conflicts for any other PRs that were started before this one was merged.
It also creates a plugins tab in settings that allows users to manage which plugins are loaded and which are not. The list of unloaded plugins is persisted across launches in
Config
. SeeNotes/PluginSystem.md
for a more detailed description of how the plugin system actually works.Thanks @thegail for getting the first part of the plugin system working.
Type of change
Please delete options that are not relevant.
Checklist: