text: 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;
    }
  };
  