Consider a scenario where we have two packages:
- lang-specific-tool: runs “specific” tool on .lang files
- lang-awesome: runs “specific”, “precise”, and “exact” tools on .lang files
For the sake of this conversation, let’s call the
standalone package, and the ‘lang-awesome’ package a
bundled package (because it is a superset of
lang-specific-tool – and potentially other packages).
Let’s further assume that both packages trigger their actions by listening for the buffer
saved event, and that each tool may modify the .lang file they operate on. Consequently, the functionality could collide if both
lang-awesome are installed and active at the same time.
lang-specific-tool disable the
lang-awesome package? Should
lang-awesome disable the
lang-specific-tool package? What happens if both try to disable each other?
Ultimately this is a question of etiquette. And I’d like to discuss it here prior to implementing any disabling functionality because I think we need to achieve some level of consensus so there is a convention.
Would it make sense to establish this convention?:
bundledpackages are responsible for disabling any
standalonepackages that might conflict with them;
standalonepackages should avoid disabling any packages if possible
Let me know your thoughts. Is there another way to think about this problem?