UNPKG

821 BJavaScriptView Raw
1/* global atom */
2
3const path = require('path');
4const execFileSync = require('child_process').execFileSync;
5const CompositeDisposable = require('atom').CompositeDisposable;
6
7function execCLI(input) {
8 const cli = path.resolve(__dirname, 'node_modules/es-beautifier/lib/cli.js');
9 return execFileSync('node', [cli], { input, encoding: 'utf8' });
10}
11
12function beautify() {
13 const editor = atom.workspace.getActiveTextEditor();
14 if (editor) {
15 const text = editor.getText();
16 const beautified = execCLI(text);
17 editor.setText(beautified);
18 }
19}
20
21exports.activate = function activate() {
22 this.subscriptions = new CompositeDisposable();
23 this.subscriptions.add(atom.commands.add('atom-text-editor', 'es-beautifier', beautify));
24};
25
26exports.deactivate = function activate() {
27 this.subscriptions.dispose();
28};