-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
31 lines (29 loc) · 857 Bytes
/
index.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
const { AutoLanguageClient } = require("atom-languageclient");
const { install } = require("atom-package-deps");
const cp = require("child_process");
class RacketLanguageClient extends AutoLanguageClient {
getGrammarScopes() {
return ["source.rkt", "source.racket"];
}
getLanguageName() {
return "Racket";
}
getServerName() {
return "Racket Language Server";
}
startServerProcess() {
const options = {};
options.env = Object.create(process.env);
options.env.ELECTRON_RUN_AS_NODE = "1";
options.env.ELECTRON_NO_ATTACH_CONSOLE = "1";
const args = ["--lib", "racket-langserver"];
const child = cp.spawn("racket", args, options);
this.captureServerErrors(child);
return child;
}
activate() {
super.activate();
install("atom-ide-racket");
}
}
module.exports = new RacketLanguageClient();