const GitDiffView = require('./git-diff-view'); const DiffListView = require('./diff-list-view'); let diffListView = null; module.exports = { activate() { const watchedEditors = new WeakSet(); atom.workspace.observeTextEditors(editor => { if (watchedEditors.has(editor)) return; new GitDiffView(editor).start(); atom.commands.add( atom.views.getView(editor), 'git-diff:toggle-diff-list', () => { if (diffListView == null) diffListView = new DiffListView(); diffListView.toggle(); } ); watchedEditors.add(editor); editor.onDidDestroy(() => watchedEditors.delete(editor)); }); }, deactivate() { if (diffListView) diffListView.destroy(); diffListView = null; } };