Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'editors/code/src/config.ts')
-rw-r--r--editors/code/src/config.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts
index 0e64054c11..39e2f767c7 100644
--- a/editors/code/src/config.ts
+++ b/editors/code/src/config.ts
@@ -216,6 +216,39 @@ export class Config {
),
);
}
+ get checkOnSave() {
+ return this.get<boolean>("checkOnSave") ?? false;
+ }
+ async toggleCheckOnSave() {
+ const config = this.cfg.inspect<boolean>("checkOnSave") ?? { key: "checkOnSave" };
+ let overrideInLanguage;
+ let target;
+ let value;
+ if (
+ config.workspaceFolderValue !== undefined ||
+ config.workspaceFolderLanguageValue !== undefined
+ ) {
+ target = vscode.ConfigurationTarget.WorkspaceFolder;
+ overrideInLanguage = config.workspaceFolderLanguageValue;
+ value = config.workspaceFolderValue || config.workspaceFolderLanguageValue;
+ } else if (
+ config.workspaceValue !== undefined ||
+ config.workspaceLanguageValue !== undefined
+ ) {
+ target = vscode.ConfigurationTarget.Workspace;
+ overrideInLanguage = config.workspaceLanguageValue;
+ value = config.workspaceValue || config.workspaceLanguageValue;
+ } else if (config.globalValue !== undefined || config.globalLanguageValue !== undefined) {
+ target = vscode.ConfigurationTarget.Global;
+ overrideInLanguage = config.globalLanguageValue;
+ value = config.globalValue || config.globalLanguageValue;
+ } else if (config.defaultValue !== undefined || config.defaultLanguageValue !== undefined) {
+ overrideInLanguage = config.defaultLanguageValue;
+ value = config.defaultValue || config.defaultLanguageValue;
+ }
+ await this.cfg.update("checkOnSave", !(value || false), target || null, overrideInLanguage);
+ }
+
get traceExtension() {
return this.get<boolean>("trace.extension");
}