diff --git a/src/extension/config.ts b/src/extension/config.ts index 78c857b8..813c65a8 100644 --- a/src/extension/config.ts +++ b/src/extension/config.ts @@ -22,7 +22,13 @@ export interface CoqpilotConfig { export class CoqpilotConfigWrapper { private _config: CoqpilotConfig; + private autoUpdate: boolean; + get config(): CoqpilotConfig { + if (!this.autoUpdate) { + return this._config; + } + this._config = CoqpilotConfig.create( vscode.workspace.getConfiguration('coqpilot') ); @@ -32,10 +38,11 @@ export class CoqpilotConfigWrapper { return this._config; } - constructor(conf: CoqpilotConfig | undefined = undefined) { + constructor(conf: CoqpilotConfig | undefined = undefined, autoUpdate: boolean = true) { this._config = conf ?? CoqpilotConfig.create( vscode.workspace.getConfiguration('coqpilot') )!; + this.autoUpdate = autoUpdate; CoqpilotConfig.checkRequirements(this._config); logger.info("Successfully created config."); } diff --git a/src/test/coqLlmInteractionTests/lspClient.test.ts b/src/test/coqLlmInteractionTests/lspClient.test.ts index c5d8c360..3d2e0573 100644 --- a/src/test/coqLlmInteractionTests/lspClient.test.ts +++ b/src/test/coqLlmInteractionTests/lspClient.test.ts @@ -10,9 +10,9 @@ suite('CoqLspClient tests', () => { const statusItem = new StatusBarButton(); const wsConfig = workspace.getConfiguration("coqpilot"); const extensionConfig = new CoqpilotConfigWrapper( - updateCoqpilotConfig(CoqpilotConfig.create(wsConfig)) + updateCoqpilotConfig(CoqpilotConfig.create(wsConfig)), false ); - console.log(extensionConfig); + console.log("EXTCONFIG", extensionConfig); const client = new CoqLspClient(statusItem, wsConfig, extensionConfig); assert.strictEqual(statusItem.runStatus, StatusBarState.Activating); diff --git a/src/test/coqLlmInteractionTests/proofView.test.ts b/src/test/coqLlmInteractionTests/proofView.test.ts index ea140f95..b752d03d 100644 --- a/src/test/coqLlmInteractionTests/proofView.test.ts +++ b/src/test/coqLlmInteractionTests/proofView.test.ts @@ -33,7 +33,7 @@ suite('ProofView auxTheorem tests', () => { const wsConfig = workspace.getConfiguration("coqpilot"); const dirname = path.dirname(path.dirname(path.dirname(__dirname))); const extensionConfig = new CoqpilotConfigWrapper( - common.updateCoqpilotConfig(CoqpilotConfig.create(wsConfig)) + common.updateCoqpilotConfig(CoqpilotConfig.create(wsConfig)), false ); interface TestData { @@ -122,7 +122,7 @@ suite('ProofView checkTheorems tests', () => { const wsConfig = workspace.getConfiguration("coqpilot"); const dirname = path.dirname(path.dirname(path.dirname(__dirname))); const extensionConfig = new CoqpilotConfigWrapper( - common.updateCoqpilotConfig(CoqpilotConfig.create(wsConfig)) + common.updateCoqpilotConfig(CoqpilotConfig.create(wsConfig)), false ); interface TestData { @@ -209,7 +209,7 @@ suite('ProofView parseFile tests', () => { const wsConfig = workspace.getConfiguration("coqpilot"); const dirname = path.dirname(path.dirname(path.dirname(__dirname))); const extensionConfig = new CoqpilotConfigWrapper( - common.updateCoqpilotConfig(CoqpilotConfig.create(wsConfig)) + common.updateCoqpilotConfig(CoqpilotConfig.create(wsConfig)), false ); interface TheoremData {