Skip to content

Commit d77e742

Browse files
committed
export all in multi-root workspace
1 parent 37ec647 commit d77e742

File tree

2 files changed

+29
-7
lines changed

2 files changed

+29
-7
lines changed

commands/export.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as vscode from 'vscode';
22
import fs = require('fs');
33
import path = require('path');
44
import { AtelierAPI } from '../api';
5-
import { outputChannel, mkdirSyncRecursive, notNull, workspaceFolderUri, currentWorkspaceFolder } from '../utils';
5+
import { outputChannel, mkdirSyncRecursive, notNull, workspaceFolderUri } from '../utils';
66
import { PackageNode } from '../explorer/models/packageNode';
77
import { ClassNode } from '../explorer/models/classesNode';
88
import { RoutineNode } from '../explorer/models/routineNode';
@@ -137,12 +137,22 @@ export async function exportList(files: string[], workspaceFolder: string): Prom
137137
);
138138
}
139139

140-
export async function exportAll(): Promise<any> {
141-
const workspaceFolder = currentWorkspaceFolder();
140+
export async function exportAll(workspaceFolder?: string): Promise<any> {
141+
if (!workspaceFolder) {
142+
let list = vscode.workspace.workspaceFolders
143+
.filter(folder => config('conn', folder.name).active)
144+
.map(el => el.name);
145+
if (list.length > 1) {
146+
return vscode.window.showQuickPick(list).then(exportAll);
147+
} else {
148+
workspaceFolder = list.pop();
149+
}
150+
}
142151
if (!config('conn', workspaceFolder).active) {
143152
return;
144153
}
145154
const api = new AtelierAPI();
155+
api.setConnection(workspaceFolder);
146156
outputChannel.show(true);
147157
const { category, generated, filter } = config('export', workspaceFolder);
148158
const files = data => data.result.content.filter(filesFilter).map(file => file.name);

package.json

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,6 @@
6666
"command": "vscode-objectscript.touchBar.viewOthers",
6767
"when": "false"
6868
},
69-
{
70-
"command": "vscode-objectscript.export",
71-
"when": "vscode-objectscript.connectActive"
72-
},
7369
{
7470
"command": "vscode-objectscript.compile",
7571
"when": "vscode-objectscript.connectActive"
@@ -93,6 +89,22 @@
9389
{
9490
"command": "vscode-objectscript.previewXml",
9591
"when": "vscode-objectscript.connectActive"
92+
},
93+
{
94+
"command": "vscode-objectscript.explorer.export",
95+
"when": "true"
96+
},
97+
{
98+
"command": "vscode-objectscript.explorer.refresh",
99+
"when": "true"
100+
},
101+
{
102+
"command": "vscode-objectscript.explorer.showSystem",
103+
"when": "true"
104+
},
105+
{
106+
"command": "vscode-objectscript.explorer.hideSystem",
107+
"when": "true"
96108
}
97109
],
98110
"view/title": [

0 commit comments

Comments
 (0)