1
1
// src/extension.ts
2
- import * as which from 'which'
3
- import * as vscode from 'vscode'
2
+ import * as which from 'which' ;
3
+ import * as vscode from 'vscode' ;
4
4
5
- import FortranLintingProvider from './features/linter-provider'
6
- import FortranHoverProvider from './features/hover-provider'
7
- import { FortranCompletionProvider } from './features/completion-provider'
8
- import { FortranDocumentSymbolProvider } from './features/document-symbol-provider'
5
+ import FortranLintingProvider from './features/linter-provider' ;
6
+ import FortranHoverProvider from './features/hover-provider' ;
7
+ import { FortranCompletionProvider } from './features/completion-provider' ;
8
+ import { FortranDocumentSymbolProvider } from './features/document-symbol-provider' ;
9
9
10
- import { FortranLangServer } from './lang-server'
11
- import { FORTRAN_DOCUMENT_SELECTOR , EXTENSION_ID , promptForMissingTool } from './lib/helper'
12
- import { LoggingService } from './services/logging-service'
13
- import * as pkg from '../package.json'
14
- import { LANG_SERVER_TOOL_ID } from './lib/tools'
10
+ import { FortranLangServer } from './lang-server' ;
11
+ import { FORTRAN_DOCUMENT_SELECTOR , EXTENSION_ID , promptForMissingTool } from './lib/helper' ;
12
+ import { LoggingService } from './services/logging-service' ;
13
+ import * as pkg from '../package.json' ;
14
+ import { LANG_SERVER_TOOL_ID } from './lib/tools' ;
15
15
16
16
export function activate ( context : vscode . ExtensionContext ) {
17
- const loggingService = new LoggingService ( )
18
- const extensionConfig = vscode . workspace . getConfiguration ( EXTENSION_ID )
17
+ const loggingService = new LoggingService ( ) ;
18
+ const extensionConfig = vscode . workspace . getConfiguration ( EXTENSION_ID ) ;
19
19
20
- loggingService . logInfo ( `Extension Name: ${ pkg . displayName } ` )
21
- loggingService . logInfo ( `Extension Version: ${ pkg . version } ` )
20
+ loggingService . logInfo ( `Extension Name: ${ pkg . displayName } ` ) ;
21
+ loggingService . logInfo ( `Extension Version: ${ pkg . version } ` ) ;
22
22
23
23
if ( extensionConfig . get ( 'linterEnabled' , true ) ) {
24
- let linter = new FortranLintingProvider ( loggingService )
25
- linter . activate ( context . subscriptions )
26
- vscode . languages . registerCodeActionsProvider ( FORTRAN_DOCUMENT_SELECTOR , linter )
27
- loggingService . logInfo ( 'Linter is enabled' )
24
+ const linter = new FortranLintingProvider ( loggingService ) ;
25
+ linter . activate ( context . subscriptions ) ;
26
+ vscode . languages . registerCodeActionsProvider ( FORTRAN_DOCUMENT_SELECTOR , linter ) ;
27
+ loggingService . logInfo ( 'Linter is enabled' ) ;
28
28
} else {
29
- loggingService . logInfo ( 'Linter is not enabled' )
29
+ loggingService . logInfo ( 'Linter is not enabled' ) ;
30
30
}
31
31
32
32
if ( extensionConfig . get ( 'provideCompletion' , true ) ) {
33
- let completionProvider = new FortranCompletionProvider ( loggingService )
33
+ const completionProvider = new FortranCompletionProvider ( loggingService ) ;
34
34
vscode . languages . registerCompletionItemProvider (
35
35
FORTRAN_DOCUMENT_SELECTOR ,
36
36
completionProvider
37
- )
37
+ ) ;
38
38
} else {
39
- loggingService . logInfo ( 'Completion Provider is not enabled' )
39
+ loggingService . logInfo ( 'Completion Provider is not enabled' ) ;
40
40
}
41
41
42
42
if ( extensionConfig . get ( 'provideHover' , true ) ) {
43
- let hoverProvider = new FortranHoverProvider ( loggingService )
44
- vscode . languages . registerHoverProvider ( FORTRAN_DOCUMENT_SELECTOR , hoverProvider )
45
- loggingService . logInfo ( 'Hover Provider is enabled' )
43
+ const hoverProvider = new FortranHoverProvider ( loggingService ) ;
44
+ vscode . languages . registerHoverProvider ( FORTRAN_DOCUMENT_SELECTOR , hoverProvider ) ;
45
+ loggingService . logInfo ( 'Hover Provider is enabled' ) ;
46
46
} else {
47
- loggingService . logInfo ( 'Hover Provider is not enabled' )
47
+ loggingService . logInfo ( 'Hover Provider is not enabled' ) ;
48
48
}
49
49
50
50
if ( extensionConfig . get ( 'provideSymbols' , true ) ) {
51
- let symbolProvider = new FortranDocumentSymbolProvider ( )
51
+ const symbolProvider = new FortranDocumentSymbolProvider ( ) ;
52
52
vscode . languages . registerDocumentSymbolProvider (
53
53
FORTRAN_DOCUMENT_SELECTOR ,
54
54
symbolProvider
55
- )
56
- loggingService . logInfo ( 'Symbol Provider is enabled' )
55
+ ) ;
56
+ loggingService . logInfo ( 'Symbol Provider is enabled' ) ;
57
57
} else {
58
- loggingService . logInfo ( 'Symbol Provider is not enabled' )
58
+ loggingService . logInfo ( 'Symbol Provider is not enabled' ) ;
59
59
}
60
60
61
61
// Check if the language server is installed and if not prompt to install it
62
62
if ( ! which . sync ( 'fortls' , { nothrow : true } ) ) {
63
- let msg = `It is highly recommended to use the fortran-language-server to
63
+ const msg = `It is highly recommended to use the fortran-language-server to
64
64
enable hover, peeking, gotos and many more.
65
65
For a full list of features the language server adds see:
66
66
https://github.com/hansec/fortran-language-server` ;
@@ -69,7 +69,7 @@ export function activate(context: vscode.ExtensionContext) {
69
69
70
70
// Check that Fortran Intellisense is installed and if not prompt to install
71
71
if ( ! vscode . extensions . getExtension ( 'hansec.fortran-ls' ) ) {
72
- let msg = `It is highly recommended to install the Fortran IntelliSense
72
+ const msg = `It is highly recommended to install the Fortran IntelliSense
73
73
extension. The extension is used to interface with the
74
74
fortran-language-server.
75
75
For a full list of features provided by the extension see:
@@ -81,15 +81,15 @@ export function activate(context: vscode.ExtensionContext) {
81
81
// VS Code extension Fortran IntelliSense
82
82
const useInternalFLInterface = false ;
83
83
if ( useInternalFLInterface ) {
84
- const langServer = new FortranLangServer ( context , extensionConfig )
85
- langServer . start ( )
84
+ const langServer = new FortranLangServer ( context , extensionConfig ) ;
85
+ langServer . start ( ) ;
86
86
langServer . onReady ( ) . then ( ( ) => {
87
- const capabilities = langServer . getCapabilities ( )
87
+ const capabilities = langServer . getCapabilities ( ) ;
88
88
if ( ! capabilities ) {
89
89
return vscode . window . showErrorMessage (
90
90
'The language server is not able to serve any features at the moment.'
91
- )
91
+ ) ;
92
92
}
93
- } )
93
+ } ) ;
94
94
}
95
95
}
0 commit comments