@@ -4,7 +4,7 @@ import { InstanceId, InstanceType } from 'jsEngine/api/InstanceId';
4
4
import { Engine } from 'jsEngine/engine/Engine' ;
5
5
import { JSFileSelectModal } from 'jsEngine/fileRunner/JSFileSelectModal' ;
6
6
import { JsMDRC } from 'jsEngine/JsMDRC' ;
7
- import { MessageManager } from 'jsEngine/messages/MessageManager' ;
7
+ import { MessageManager , MessageType } from 'jsEngine/messages/MessageManager' ;
8
8
import type { JsEnginePluginSettings } from 'jsEngine/settings/Settings' ;
9
9
import { JS_ENGINE_DEFAULT_SETTINGS , JsEnginePluginSettingTab } from 'jsEngine/settings/Settings' ;
10
10
import { Validators } from 'jsEngine/utils/Validators' ;
@@ -60,6 +60,18 @@ export default class JsEnginePlugin extends Plugin {
60
60
async loadSettings ( ) : Promise < void > {
61
61
const loadedSettings = ( await this . loadData ( ) ) as JsEnginePluginSettings ;
62
62
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
+ }
63
75
}
64
76
65
77
async saveSettings ( ) : Promise < void > {
0 commit comments