diff --git a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx index db49c33d9..db9d9a772 100644 --- a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx +++ b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx @@ -288,10 +288,11 @@ export class ArduinoFrontendContribution implements FrontendApplicationContribut } } const { clangdUri, cliUri, lsUri } = await this.executableService.list(); - const [clangdPath, cliPath, lsPath] = await Promise.all([ + const [clangdPath, cliPath, lsPath, cliConfigPath] = await Promise.all([ this.fileService.fsPath(new URI(clangdUri)), this.fileService.fsPath(new URI(cliUri)), this.fileService.fsPath(new URI(lsUri)), + this.fileService.fsPath(new URI(await this.configService.getCliConfigFileUri())) ]); this.languageServerFqbn = await Promise.race([ new Promise((_, reject) => setTimeout(() => reject(new Error(`Timeout after ${20_000} ms.`)), 20_000)), @@ -300,6 +301,7 @@ export class ArduinoFrontendContribution implements FrontendApplicationContribut cliPath, clangdPath, log: currentSketchPath ? currentSketchPath : log, + cliConfigPath, board: { fqbn, name: name ? `"${name}"` : undefined diff --git a/arduino-ide-extension/src/common/protocol/config-service.ts b/arduino-ide-extension/src/common/protocol/config-service.ts index 929274e22..fdbebfd21 100644 --- a/arduino-ide-extension/src/common/protocol/config-service.ts +++ b/arduino-ide-extension/src/common/protocol/config-service.ts @@ -2,6 +2,7 @@ export const ConfigServicePath = '/services/config-service'; export const ConfigService = Symbol('ConfigService'); export interface ConfigService { getVersion(): Promise>; + getCliConfigFileUri(): Promise; getConfiguration(): Promise; setConfiguration(config: Config): Promise; isInDataDir(uri: string): Promise;