def05688c0
This used to be the behavior, and thenb5499c7dc5
changed this, breaking some plugins (some of which subsequently implemented workarounds). This patch restores the behavior, so that if a Dispatcher is constructed without explicitly passing in plugins, it has access to all plugins. This change seems safe, in that it's unlikely that any plugins were relying on the behavior betweenb5499c7dc5
and this patch, where a Dispatcher without an explicit plugin list behaved as if there were no plugins---because such a Dispatcher is not very useful!
18 lines
651 B
Python
18 lines
651 B
Python
# https://github.com/anishathalye/dotbot/issues/339, https://github.com/anishathalye/dotbot/pull/332
|
|
# if plugins instantiate a Dispatcher without explicitly passing in plugins,
|
|
# the Dispatcher should have access to all plugins (matching context.plugins())
|
|
|
|
import dotbot
|
|
from dotbot.dispatcher import Dispatcher
|
|
|
|
|
|
class Dispatch(dotbot.Plugin):
|
|
def can_handle(self, directive):
|
|
return directive == "dispatch"
|
|
|
|
def handle(self, directive, data):
|
|
dispatcher = Dispatcher(
|
|
base_directory=self._context.base_directory(),
|
|
options=self._context.options(),
|
|
)
|
|
return dispatcher.dispatch(data)
|