Files
atom/packages/git-diff/lib/main.js
2019-05-31 18:33:56 +02:00

33 lines
783 B
JavaScript

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