@@ -4,7 +4,7 @@ import { InstanceId, InstanceType } from 'jsEngine/api/InstanceId';
44import { Engine } from 'jsEngine/engine/Engine' ;
55import { JSFileSelectModal } from 'jsEngine/fileRunner/JSFileSelectModal' ;
66import { JsMDRC } from 'jsEngine/JsMDRC' ;
7- import { MessageManager } from 'jsEngine/messages/MessageManager' ;
7+ import { MessageManager , MessageType } from 'jsEngine/messages/MessageManager' ;
88import type { JsEnginePluginSettings } from 'jsEngine/settings/Settings' ;
99import { JS_ENGINE_DEFAULT_SETTINGS , JsEnginePluginSettingTab } from 'jsEngine/settings/Settings' ;
1010import { Validators } from 'jsEngine/utils/Validators' ;
@@ -60,6 +60,18 @@ export default class JsEnginePlugin extends Plugin {
6060 async loadSettings ( ) : Promise < void > {
6161 const loadedSettings = ( await this . loadData ( ) ) as JsEnginePluginSettings ;
6262 this . settings = Object . assign ( { } , JS_ENGINE_DEFAULT_SETTINGS , loadedSettings ) ;
63+
64+ for ( const script of this . settings . startupScripts ) {
65+ if ( ! ( await this . app . vault . adapter . exists ( script ) ) ) {
66+ this . settings . startupScripts . remove ( script ) ;
67+ this . api . message . createMessage (
68+ MessageType . WANING ,
69+ 'startup-script removed from settings' ,
70+ `removed 'vault/${ script } ' from list of startup-scripts, as the file no longer exists in the vault` ,
71+ ) ;
72+ await this . saveSettings ( ) ;
73+ }
74+ }
6375 }
6476
6577 async saveSettings ( ) : Promise < void > {
0 commit comments