- Capability string constants.
- Disabling of unnecessary option cat entries for efficiency.
- Plugin-wide reorganisation of plugin descriptor content for better clarity, consistency, readability, and reducing mistakes.
- Renaming of plugin descriptor begin/end macros to reflect that the descriptor blocks are really plugin descriptors, that wrap content that includes one or more module descriptions, avoiding confusion for newbies. (They wrap plugin property setters (rare), option descriptors (which are held by the plugin not modules), and one or more module descriptions, and thus it is cofusing and wrong for them to be called 'module' begin/end wrappers).
- Option string review part 1 - ditching pointless duplicated descriptions causing pointless tooltips.
- A small handful of little fixes.
A lot of time and effort went into this big chunk of work. Please be kind. There is a some more that builds on top of this to come later.
I know that this is a lot. Please do not think that I do not value the time of reviewers, I do. I feel apprehensive at how you're going to feel about reviewing the big commits in this. The big stuff is all rather straightforward though; I've checked it over several times since producing it and after rebases and cherry-picking for this MR, and will no doubt check once again for any stray mistake after a merge, so by all means just skim through it and check that you're happy in principle if you want. I cringe at the idea of you all spending hours combing through it all and getting annoyed at me, or worse rejecting it as not worth your time. Please don't.
Further large bits of completed work building upon this to submit later includes:
- Fixing a lot of mistakes with names, descriptions, shortcuts, etc.
- Further big option string review covering other common issues.
- Getting rid of
set_category()(having interfaces look them up from the subcats).
- Lots of option bounds checking enhancements.
- Type-strict plugin macros.
- Possible merging of
set_callbacks()as part of an incomplete type-strict (cap specific) activate/deactivate call interface.
- Rework of how config data is passed to the plugin descriptor handler.
- Previously discussed enum based capability work.