forked from HexcodeTechnologies/vscode-prettydiff
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathextension.js
More file actions
48 lines (43 loc) · 1.46 KB
/
extension.js
File metadata and controls
48 lines (43 loc) · 1.46 KB
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
var vscode = require('vscode');
var prettydiff = require("./libs/prettydiff");
var fs = require("fs");
function activate(context) {
var vscodePrettydiff = vscode
.commands
.registerCommand('extension.prettyDiff', function () {
var editor = vscode.window.activeTextEditor;
if (!editor) {
return; // No open text editor
}
var source = editor
.document
.getText();
var args = {
source: source,
mode: "beautify",
lang: "auto"
};
var output = prettydiff(args);
var path = editor.document.uri.path;
console.log(path);
fs.writeFile(path, output, (err) => {
if (err)
throw err;
}
);
var document = editor.document;
var lastLine = document.lineAt(document.lineCount - 1);
var start = new vscode.Position(0, 0);
var end = new vscode.Position(document.lineCount - 1, lastLine.text.length);
editor.edit(function (builder) {
builder.replace(new vscode.Range(start, end), output);
});
});
context
.subscriptions
.push(vscodePrettydiff);
}
exports.activate = activate;
// this method is called when your extension is deactivated
function deactivate() {}
exports.deactivate = deactivate;