@@ -66,16 +66,22 @@ class AsmDocFormat implements vscode.DocumentFormattingEditProvider {
6666 }
6767}
6868export function provider ( context : vscode . ExtensionContext ) {
69- let uri = vscode . Uri . joinPath ( context . extensionUri , "./scripts/keyword.json" ) ;
70- vscode . workspace . fs . readFile ( uri ) . then (
71- ( text ) => {
72- key . Dictionary ( text . toString ( ) ) ;
73- }
74- ) ;
75- context . subscriptions . push ( vscode . languages . registerHoverProvider ( 'assembly' , new AsmHoverProvider ( ) ) ) ;
76- context . subscriptions . push ( vscode . languages . registerDefinitionProvider ( "assembly" , new AsmDefProvider ( ) ) ) ;
77- context . subscriptions . push ( vscode . languages . registerDocumentSymbolProvider ( "assembly" , new Asmsymbolprovider ( ) ) ) ;
78- context . subscriptions . push ( vscode . languages . registerReferenceProvider ( "assembly" , new AsmReferenceProvider ( ) ) ) ;
79- context . subscriptions . push ( vscode . languages . registerDocumentFormattingEditProvider ( "assembly" , new AsmDocFormat ( ) ) ) ;
69+ let programmaticFeatures = vscode . workspace . getConfiguration ( "masmtasm.language" ) ;
70+ if ( programmaticFeatures . get ( "Hover" ) ) {
71+ let uri = vscode . Uri . joinPath ( context . extensionUri , "./scripts/keyword.json" ) ;
72+ vscode . workspace . fs . readFile ( uri ) . then (
73+ ( text ) => {
74+ key . Dictionary ( text . toString ( ) ) ;
75+ }
76+ ) ;
77+ context . subscriptions . push ( vscode . languages . registerHoverProvider ( 'assembly' , new AsmHoverProvider ( ) ) ) ;
78+ }
79+ if ( programmaticFeatures . get ( "programmaticFeatures" ) ) {
80+ context . subscriptions . push ( vscode . languages . registerDocumentSymbolProvider ( "assembly" , new Asmsymbolprovider ( ) ) ) ;
81+ context . subscriptions . push ( vscode . languages . registerDefinitionProvider ( "assembly" , new AsmDefProvider ( ) ) ) ;
82+ context . subscriptions . push ( vscode . languages . registerReferenceProvider ( "assembly" , new AsmReferenceProvider ( ) ) ) ;
83+ context . subscriptions . push ( vscode . languages . registerDocumentFormattingEditProvider ( "assembly" , new AsmDocFormat ( ) ) ) ;
84+ }
85+
8086}
8187
0 commit comments