I’m trying to publish some of power-typing plugins. There’s a few different elements and I’m trying to publish things separately in order to keep things modular but I’m running up against dependency/precedence problems.
To simplify, consider the following scenario: plugin A does something special on “left arrow” in a certain context; plugin B does something else on “left arrow” regardless of context; and we would like plugin A to take precedence over plugin B if both plugins are installed, when plugin A’s context is met.
If B and A are bundled as a single plugin then of course we can solve this by creating a context for B. (Namely, fire only if A’s context is not met.)
But can one achieve this if A and B are separate plugins, and B should always fire if A is not installed? Can a plugin test if another is installed/active? Is my only way forward to offer bundled and un-bundled versions of the plugins? (Eg., “A”, “AB” and “B” versions.)