@@ -540,9 +540,14 @@ function proposedApiPrompt(active: boolean, added?: readonly vscode.WorkspaceFol
540
540
}
541
541
}
542
542
543
- // The URIs of all classes that have been opened. Used when objectscript.openClassContracted is true.
543
+ /** The URIs of all classes that have been opened. Used when ` objectscript.openClassContracted` is true */
544
544
let openedClasses : string [ ] ;
545
545
546
+ // Disposables for language configurations that can be modifed by settings
547
+ let macLangConf : vscode . Disposable ;
548
+ let incLangConf : vscode . Disposable ;
549
+ let intLangConf : vscode . Disposable ;
550
+
546
551
export async function activate ( context : vscode . ExtensionContext ) : Promise < any > {
547
552
if ( ! packageJson . version . includes ( "SNAPSHOT" ) ) {
548
553
try {
@@ -737,6 +742,10 @@ export async function activate(context: vscode.ExtensionContext): Promise<any> {
737
742
738
743
iscIcon = vscode . Uri . joinPath ( context . extensionUri , "images" , "fileIcon.svg" ) ;
739
744
745
+ macLangConf = vscode . languages . setLanguageConfiguration ( macLangId , getLanguageConfiguration ( macLangId ) ) ;
746
+ incLangConf = vscode . languages . setLanguageConfiguration ( incLangId , getLanguageConfiguration ( incLangId ) ) ;
747
+ intLangConf = vscode . languages . setLanguageConfiguration ( intLangId , getLanguageConfiguration ( intLangId ) ) ;
748
+
740
749
context . subscriptions . push (
741
750
reporter ,
742
751
panel ,
@@ -971,9 +980,6 @@ export async function activate(context: vscode.ExtensionContext): Promise<any> {
971
980
isReadonly : true ,
972
981
} ) ,
973
982
vscode . languages . setLanguageConfiguration ( clsLangId , getLanguageConfiguration ( clsLangId ) ) ,
974
- vscode . languages . setLanguageConfiguration ( macLangId , getLanguageConfiguration ( macLangId ) ) ,
975
- vscode . languages . setLanguageConfiguration ( incLangId , getLanguageConfiguration ( incLangId ) ) ,
976
- vscode . languages . setLanguageConfiguration ( intLangId , getLanguageConfiguration ( intLangId ) ) ,
977
983
vscode . languages . registerCodeActionsProvider ( documentSelector ( clsLangId , macLangId ) , new CodeActionProvider ( ) ) ,
978
984
vscode . languages . registerWorkspaceSymbolProvider ( new WorkspaceSymbolProvider ( ) ) ,
979
985
vscode . debug . registerDebugConfigurationProvider ( "objectscript" , new ObjectScriptConfigurationProvider ( ) ) ,
@@ -1149,6 +1155,18 @@ export async function activate(context: vscode.ExtensionContext): Promise<any> {
1149
1155
vscode . commands . executeCommand ( "workbench.files.action.refreshFilesExplorer" ) ;
1150
1156
}
1151
1157
}
1158
+ if ( affectsConfiguration ( "objectscript.commentToken" ) ) {
1159
+ // Update the language configuration for "objectscript" and "objectscript-macros"
1160
+ macLangConf ?. dispose ( ) ;
1161
+ incLangConf ?. dispose ( ) ;
1162
+ macLangConf = vscode . languages . setLanguageConfiguration ( macLangId , getLanguageConfiguration ( macLangId ) ) ;
1163
+ incLangConf = vscode . languages . setLanguageConfiguration ( incLangId , getLanguageConfiguration ( incLangId ) ) ;
1164
+ }
1165
+ if ( affectsConfiguration ( "objectscript.intCommentToken" ) ) {
1166
+ // Update the language configuration for "objectscript-int"
1167
+ intLangConf ?. dispose ( ) ;
1168
+ intLangConf = vscode . languages . setLanguageConfiguration ( intLangId , getLanguageConfiguration ( intLangId ) ) ;
1169
+ }
1152
1170
} ) ,
1153
1171
vscode . window . onDidCloseTerminal ( ( t ) => {
1154
1172
const terminalIndex = terminals . findIndex ( ( terminal ) => terminal . name == t . name ) ;
@@ -1382,4 +1400,7 @@ export function deactivate(): void {
1382
1400
if ( terminals ) {
1383
1401
terminals . forEach ( ( t ) => t . dispose ( ) ) ;
1384
1402
}
1403
+ macLangConf ?. dispose ( ) ;
1404
+ incLangConf ?. dispose ( ) ;
1405
+ intLangConf ?. dispose ( ) ;
1385
1406
}
0 commit comments