@@ -2,7 +2,7 @@ import * as vscode from 'vscode';
2
2
import fs = require( 'fs' ) ;
3
3
import path = require( 'path' ) ;
4
4
import { AtelierAPI } from '../api' ;
5
- import { outputChannel , mkdirSyncRecursive , notNull , workspaceFolderUri , currentWorkspaceFolder } from '../utils' ;
5
+ import { outputChannel , mkdirSyncRecursive , notNull , workspaceFolderUri } from '../utils' ;
6
6
import { PackageNode } from '../explorer/models/packageNode' ;
7
7
import { ClassNode } from '../explorer/models/classesNode' ;
8
8
import { RoutineNode } from '../explorer/models/routineNode' ;
@@ -137,12 +137,22 @@ export async function exportList(files: string[], workspaceFolder: string): Prom
137
137
) ;
138
138
}
139
139
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
+ }
142
151
if ( ! config ( 'conn' , workspaceFolder ) . active ) {
143
152
return ;
144
153
}
145
154
const api = new AtelierAPI ( ) ;
155
+ api . setConnection ( workspaceFolder ) ;
146
156
outputChannel . show ( true ) ;
147
157
const { category, generated, filter } = config ( 'export' , workspaceFolder ) ;
148
158
const files = data => data . result . content . filter ( filesFilter ) . map ( file => file . name ) ;
0 commit comments