module.exports = { activate (state) { if (!atom.inDevMode() || atom.inSpecMode()) return if (atom.packages.hasActivatedInitialPackages()) { this.startWatching() } else { this.activatedDisposable = atom.packages.onDidActivateInitialPackages(() => this.startWatching()) } }, deactivate () { if (this.activatedDisposable) this.activatedDisposable.dispose() if (this.commandDisposable) this.commandDisposable.dispose() if (this.uiWatcher) this.uiWatcher.destroy() }, startWatching () { const UIWatcher = require('./ui-watcher') this.uiWatcher = new UIWatcher({themeManager: atom.themes}) this.commandDisposable = atom.commands.add('atom-workspace', 'dev-live-reload:reload-all', () => this.uiWatcher.reloadAll()) if (this.activatedDisposable) this.activatedDisposable.dispose() } }