diff --git a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx index 1e63e4bc..1662a195 100644 --- a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx +++ b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx @@ -314,8 +314,8 @@ export class ArduinoFrontendContribution implements FrontendApplicationContribut protected async openSketchFiles(uri: URI): Promise { try { const sketch = await this.sketchService.loadSketch(uri.toString()); - const { mainFileUri, otherSketchFileUris, additionalFileUris } = sketch; - for (const uri of [mainFileUri, ...otherSketchFileUris, ...additionalFileUris]) { + const { mainFileUri, rootFolderFileUris } = sketch; + for (const uri of [mainFileUri, ...rootFolderFileUris]) { await this.ensureOpened(uri); } await this.ensureOpened(mainFileUri, true); diff --git a/arduino-ide-extension/src/browser/contributions/sketch-control.ts b/arduino-ide-extension/src/browser/contributions/sketch-control.ts index f7d0fcb0..6e4010ce 100644 --- a/arduino-ide-extension/src/browser/contributions/sketch-control.ts +++ b/arduino-ide-extension/src/browser/contributions/sketch-control.ts @@ -40,8 +40,8 @@ export class SketchControl extends SketchContribution { return; } - const { mainFileUri, otherSketchFileUris, additionalFileUris } = await this.sketchService.loadSketch(sketch.uri); - const uris = [mainFileUri, ...otherSketchFileUris, ...additionalFileUris]; + const { mainFileUri, rootFolderFileUris } = await this.sketchService.loadSketch(sketch.uri); + const uris = [mainFileUri, ...rootFolderFileUris]; for (let i = 0; i < uris.length; i++) { const uri = new URI(uris[i]); const command = { id: `arduino-focus-file--${uri.toString()}` }; diff --git a/arduino-ide-extension/src/common/protocol/sketches-service.ts b/arduino-ide-extension/src/common/protocol/sketches-service.ts index de79ccf0..cf619800 100644 --- a/arduino-ide-extension/src/common/protocol/sketches-service.ts +++ b/arduino-ide-extension/src/common/protocol/sketches-service.ts @@ -71,6 +71,7 @@ export interface Sketch { readonly mainFileUri: string; // `MainFile` readonly otherSketchFileUris: string[]; // `OtherSketchFiles` readonly additionalFileUris: string[]; // `AdditionalFiles` + readonly rootFolderFileUris: string[]; // `RootFolderFiles` (does not include the main sketch file) } export namespace Sketch { export function is(arg: any): arg is Sketch { diff --git a/arduino-ide-extension/src/node/sketches-service-impl.ts b/arduino-ide-extension/src/node/sketches-service-impl.ts index 6183ef4f..48354cc2 100644 --- a/arduino-ide-extension/src/node/sketches-service-impl.ts +++ b/arduino-ide-extension/src/node/sketches-service-impl.ts @@ -94,6 +94,7 @@ export class SketchesServiceImpl implements SketchesService { mainFileUri: FileUri.create(resp.getMainFile()).toString(), otherSketchFileUris: resp.getOtherSketchFilesList().map(p => FileUri.create(p).toString()), additionalFileUris: resp.getAdditionalFilesList().map(p => FileUri.create(p).toString()), + rootFolderFileUris: resp.getRootFolderFilesList().map(p => FileUri.create(p).toString()), mtimeMs }); });