/
main.js
50 lines (45 loc) · 1.47 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
const { CompositeDisposable } = require("atom");
const provider = require("./latex-provider");
var busyProvider;
module.exports = {
config: {
setRootFile: {
description: "When making a new file, set the root path automatically",
enum: ["Calling file", "Project root", "None"],
default: "Project root",
type: "string"
}
},
activate() {
if (!atom.packages.isPackageLoaded("hyperclick") || !atom.packages.isPackageLoaded("busy-signal")) {
require("atom-package-deps").install("hyperclick-latex");
}
},
deactivate() {
if (this.disposables) {
this.disposables.dispose();
}
},
getHyperclickProvider() { // called by hyperclick when it activates
return provider;
},
consumeSignal(registry) { // called with argument from busy-signal when it activates
busyProvider = registry.create();
this.disposables = new CompositeDisposable();
this.disposables.add(
busyProvider,
provider.emitter.on("begin-open-docs", (docs) => {
busyProvider.add(`Opening documentation for ${docs}`);
}),
provider.emitter.on("end-open-docs", (docs) => {
busyProvider.remove(`Opening documentation for ${docs}`);
}),
provider.emitter.on("begin-tree-search", (label) => {
busyProvider.add(`Searching document for ${label}`);
}),
provider.emitter.on("end-tree-search", (label) => {
busyProvider.remove(`Searching document for ${label}`);
})
);
}
};