diff src/settings.ts @ 43:7e981d54a055

Support state persistence between sessions There is now an option to save/load file states on disk.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 20 Sep 2023 22:40:25 -0700
parents 815b93d13e0f
children
line wrap: on
line diff
--- a/src/settings.ts	Wed Sep 20 17:19:46 2023 -0700
+++ b/src/settings.ts	Wed Sep 20 22:40:25 2023 -0700
@@ -8,12 +8,14 @@
 
 export interface RememberFileStatePluginSettings {
 	rememberMaxFiles: number;
+	persistStates: boolean;
 }
 
 export const DEFAULT_SETTINGS: RememberFileStatePluginSettings = {
 	// Matches the number of files Obsidian remembers the undo/redo 
 	// history for by default (at least as of 0.13.17).
-	rememberMaxFiles: 20 
+	rememberMaxFiles: 20,
+	persistStates: true
 }
 
 export class RememberFileStatePluginSettingTab extends PluginSettingTab {
@@ -41,5 +43,15 @@
 						await this.plugin.saveSettings();
 					}
 				}));
+
+		new Setting(containerEl)
+			.setName('Save states')
+			.setDesc('Whether to save the state of all open files to disk')
+			.addToggle(toggle => toggle
+				.setValue(this.plugin.settings.persistStates)
+				.onChange(async (value: boolean) => {
+					this.plugin.settings.persistStates = value;
+					await this.plugin.saveSettings();
+				}));
 	}
 }