on master help sign in
CHANGELOG.md+7
since splitsnapshots
unifiedsplit
@@ -1,5 +1,12 @@
1# Change Log
1# Change Log
2
2
3+### 0.0.12
4+
5+Fixed a bug where executable paths outside of `$PATH` would fail. (@lzszt)
6+
7+### 0.0.11
8+
9+Added the ability to specify the path to the executable.
3
10
4### 0.0.10
11### 0.0.10
5
12
package.json+9−2
@@ -3,7 +3,7 @@
3 "displayName": "Ormolu",
3 "displayName": "Ormolu",
4 "publisher": "ilyakooo0",
4 "publisher": "ilyakooo0",
5 "description": "Haskell code formatter with ormolu",
5 "description": "Haskell code formatter with ormolu",
6− "version": "0.0.10",
6+ "version": "0.0.12",
7 "repository": {
7 "repository": {
8 "type": "git",
8 "type": "git",
9 "url": "https://github.com/ilyakooo0/vs-code-ormolu"
9 "url": "https://github.com/ilyakooo0/vs-code-ormolu"
@@ -128,6 +128,13 @@
128 ],
128 ],
129 "default": null,
129 "default": null,
130 "description": "Custom arguments to pass to ormolu."
130 "description": "Custom arguments to pass to ormolu."
131+ },
132+ "ormolu.executablePath": {
133+ "type": [
134+ "string"
135+ ],
136+ "default": "ormolu",
137+ "description": "The path to the ormolu executable to use."
131 }
138 }
132 }
139 }
133 }
140 }
@@ -153,4 +160,4 @@
153 "tslint": "^5.12.1",
160 "tslint": "^5.12.1",
154 "vscode-test": "^1.2.0"
161 "vscode-test": "^1.2.0"
155 }
162 }
156−}
163+}
src/extension.ts+5−4
@@ -15,17 +15,18 @@ export function activate(context: vscode.ExtensionContext) {
15 return [];
15 return [];
16 };
16 };
17
17
18+ const cfg = vscode.workspace.getConfiguration("ormolu");
19+
18 try {
20 try {
19− proc.execSync('ormolu --help');
21+ proc.execSync(cfg.executablePath + ' --help');
20 } catch (e) {
22 } catch (e) {
21 return showErrorMessage("Ormolu is not installed", e);
23 return showErrorMessage("Ormolu is not installed", e);
22 }
24 }
23
25
24− const cfg = vscode.workspace.getConfiguration("ormolu");
25−
26− let command = "ormolu";
26+ let command = cfg.executablePath;
27
27
28 command += ` --start-line ${range.start.line + 1} --end-line ${range.end.line + (range.end.character == 0 ? 0 : 1)}`
28 command += ` --start-line ${range.start.line + 1} --end-line ${range.end.line + (range.end.character == 0 ? 0 : 1)}`
29+ command += ` --stdin-input-file ${document.fileName}`
29
30
30 for (let [key, value] of Object.entries(cfg.extensions)) {
31 for (let [key, value] of Object.entries(cfg.extensions)) {
31 if (value) {
32 if (value) {