Skip to content

Commit 23d2235

Browse files
committed
decaffeinate lib/runtime
1 parent 221d71e commit 23d2235

File tree

2 files changed

+102
-77
lines changed

2 files changed

+102
-77
lines changed

lib/runtime.coffee

Lines changed: 0 additions & 77 deletions
This file was deleted.

lib/runtime.js

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
'use babel'
2+
import { CompositeDisposable, Disposable } from 'atom';
3+
4+
export default {
5+
modules: require('./runtime/modules'),
6+
environments: require('./runtime/environments'),
7+
evaluation: require('./runtime/evaluation'),
8+
console: require('./runtime/console'),
9+
completions: require('./runtime/completions'),
10+
workspace: require('./runtime/workspace'),
11+
plots: require('./runtime/plots'),
12+
frontend: require('./runtime/frontend'),
13+
debugger: require('./runtime/debugger'),
14+
profiler: require('./runtime/profiler'),
15+
outline: require('./runtime/outline'),
16+
linter: require('./runtime/linter'),
17+
packages: require('./runtime/packages'),
18+
debuginfo: require('./runtime/debuginfo'),
19+
formatter: require('./runtime/formatter'),
20+
goto: require('./runtime/goto'),
21+
22+
activate() {
23+
this.subs = new CompositeDisposable();
24+
25+
this.modules.activate();
26+
this.completions.activate();
27+
this.subs.add(atom.config.observe('julia-client.juliaOptions.formatOnSave', val => {
28+
if (val) {
29+
this.formatter.activate();
30+
} else {
31+
this.formatter.deactivate();
32+
}
33+
})
34+
);
35+
36+
this.subs.add(new Disposable(() => {
37+
[this.modules, this.completions, this.formatter].map((mod) => mod.deactivate());
38+
})
39+
);
40+
},
41+
42+
deactivate() {
43+
this.subs.dispose();
44+
},
45+
46+
consumeInk(ink) {
47+
this.evaluation.ink = ink;
48+
for (let mod of [this.console, this.debugger, this.profiler, this.linter, this.goto, this.outline, this.frontend]) {
49+
mod.activate(ink);
50+
}
51+
for (let mod of [this.workspace, this.plots]) {
52+
mod.ink = ink;
53+
mod.activate();
54+
}
55+
56+
this.subs.add(
57+
new Disposable(() => {
58+
for (let mod of [this.console, this.debugger, this.profiler, this.linter, this.goto, this.outline]) {
59+
mod.deactivate();
60+
}
61+
})
62+
);
63+
64+
this.environments.consumeInk(ink);
65+
},
66+
67+
provideAutoComplete() { return this.completions; },
68+
69+
provideHyperclick() { return this.goto.provideHyperclick(); },
70+
71+
consumeStatusBar(bar) {
72+
const m = this.modules.consumeStatusBar(bar);
73+
const e = this.environments.consumeStatusBar(bar);
74+
const d = new Disposable(() => {
75+
m.dispose();
76+
e.dispose();
77+
});
78+
this.subs.add(d);
79+
return d;
80+
},
81+
82+
consumeDatatip(datatipService) {
83+
const datatipProvider = require('./runtime/datatip');
84+
// @NOTE: Check if the service is passed by Atom-IDE-UI's datatip service:
85+
// currently atom-ide-datatip can't render code snippets correctly.
86+
if (datatipService.constructor.name === 'DatatipManager') {
87+
datatipProvider.useAtomIDEUI = true;
88+
} else {
89+
// @NOTE: Overwrite the weird default config settings of atom-ide-datatip
90+
atom.config.set('atom-ide-datatip', {
91+
showDataTipOnCursorMove: false,
92+
showDataTipOnMouseMove: true
93+
}
94+
);
95+
}
96+
const datatipDisposable = datatipService.addProvider(datatipProvider);
97+
this.subs.add(datatipDisposable);
98+
return datatipDisposable;
99+
},
100+
101+
handleURI: require('./runtime/urihandler')
102+
};

0 commit comments

Comments
 (0)