@@ -11,9 +11,6 @@ import { FortranLangServer, checkForLangServer } from './lang-server'
11
11
12
12
13
13
export function activate ( context : vscode . ExtensionContext ) {
14
- let hoverProvider = new FortranHoverProvider ( )
15
- let completionProvider = new FortranCompletionProvider ( )
16
- let symbolProvider = new FortranDocumentSymbolProvider ( )
17
14
18
15
const extensionConfig = vscode . workspace . getConfiguration ( EXTENSION_ID )
19
16
@@ -23,17 +20,30 @@ export function activate(context: vscode.ExtensionContext) {
23
20
vscode . languages . registerCodeActionsProvider ( FORTRAN_FREE_FORM_ID , linter )
24
21
}
25
22
26
- vscode . languages . registerCompletionItemProvider (
27
- FORTRAN_FREE_FORM_ID ,
28
- completionProvider
29
- )
30
- vscode . languages . registerHoverProvider ( FORTRAN_FREE_FORM_ID , hoverProvider )
31
-
32
- vscode . languages . registerDocumentSymbolProvider (
33
- FORTRAN_FREE_FORM_ID ,
34
- symbolProvider
35
- )
36
-
23
+ if ( extensionConfig . get ( 'provideCompletion' , true ) ) {
24
+ let completionProvider = new FortranCompletionProvider ( )
25
+ vscode . languages . registerCompletionItemProvider (
26
+ FORTRAN_FREE_FORM_ID ,
27
+ completionProvider
28
+ )
29
+ }
30
+
31
+ if ( extensionConfig . get ( 'provideHover' , true ) ) {
32
+ let hoverProvider = new FortranHoverProvider ( )
33
+ vscode . languages . registerHoverProvider (
34
+ FORTRAN_FREE_FORM_ID ,
35
+ hoverProvider
36
+ )
37
+ }
38
+
39
+ if ( extensionConfig . get ( 'provideSymbols' , true ) ) {
40
+ let symbolProvider = new FortranDocumentSymbolProvider ( )
41
+ vscode . languages . registerDocumentSymbolProvider (
42
+ FORTRAN_FREE_FORM_ID ,
43
+ symbolProvider
44
+ )
45
+ }
46
+
37
47
if ( checkForLangServer ( extensionConfig ) ) {
38
48
39
49
const langServer = new FortranLangServer ( context , extensionConfig )
0 commit comments