def register(self, manifest):
        plugin_id = manifest.id
        if plugin_id in self._manifests:
            msg = "plugin '%s' is already registered"
            raise ValueError(msg % plugin_id)

        self._manifests[plugin_id] = manifest
        manifest.workbench = self

        self._add_extensions(manifest.extensions)
        self._add_extension_points(manifest.extension_points)

        self.plugin_added(plugin_id)
Register a plugin with the workbench.
dataset/ETHPy150Open nucleic/enaml/enaml/workbench/workbench.py/Workbench.register