@@ -13,10 +13,11 @@ import { BsvInfoProviderManger } from './BsvProvider';
1313import * as ModuleInstantiation from './commands/ModuleInstantiation' ;
1414import * as FormatProvider from './providers/FormatPrivider' ;
1515
16- let lintManager : LintManager ;
1716export var logger : vscode . LogOutputChannel ; // Global logger
1817export var ctagsManager : CtagsManager ;
1918export let extensionID : string = 'mshr-h.veriloghdl' ;
19+
20+ let lintManager : LintManager ;
2021let languageClients = new Map < string , LanguageClient > ( ) ;
2122
2223export function activate ( context : vscode . ExtensionContext ) {
@@ -29,7 +30,7 @@ export function activate(context: vscode.ExtensionContext) {
2930 } ) ;
3031
3132 // document selector
32- let systemverilogSelector : vscode . DocumentSelector = {
33+ let systemVerilogSelector : vscode . DocumentSelector = {
3334 scheme : 'file' ,
3435 language : 'systemverilog' ,
3536 } ;
@@ -53,77 +54,90 @@ export function activate(context: vscode.ExtensionContext) {
5354 lintManager = new LintManager ( logger ) ;
5455
5556 // Configure Document Symbol Provider
56- let docProvider = new DocumentSymbolProvider . VerilogDocumentSymbolProvider ( logger ) ;
57+ let verilogDocumentSymbolProvider = new DocumentSymbolProvider . VerilogDocumentSymbolProvider (
58+ logger
59+ ) ;
5760 context . subscriptions . push (
58- vscode . languages . registerDocumentSymbolProvider ( systemverilogSelector , docProvider )
61+ vscode . languages . registerDocumentSymbolProvider (
62+ systemVerilogSelector ,
63+ verilogDocumentSymbolProvider
64+ )
5965 ) ;
6066 context . subscriptions . push (
61- vscode . languages . registerDocumentSymbolProvider ( verilogSelector , docProvider )
67+ vscode . languages . registerDocumentSymbolProvider ( verilogSelector , verilogDocumentSymbolProvider )
6268 ) ;
63- let bsvdocProvider = new DocumentSymbolProvider . BsvDocumentSymbolProvider ( logger ) ;
69+ let bsvDocumentSymbolProvider = new DocumentSymbolProvider . BsvDocumentSymbolProvider ( logger ) ;
6470 context . subscriptions . push (
65- vscode . languages . registerDocumentSymbolProvider ( bsvSelector , bsvdocProvider )
71+ vscode . languages . registerDocumentSymbolProvider ( bsvSelector , bsvDocumentSymbolProvider )
6672 ) ;
6773
6874 // Configure Completion Item Provider
6975 // Trigger on ".", "(", "="
70- let compItemProvider = new CompletionItemProvider . VerilogCompletionItemProvider ( logger ) ;
76+ let verilogCompletionItemProvider = new CompletionItemProvider . VerilogCompletionItemProvider (
77+ logger
78+ ) ;
7179 context . subscriptions . push (
7280 vscode . languages . registerCompletionItemProvider (
7381 verilogSelector ,
74- compItemProvider ,
82+ verilogCompletionItemProvider ,
7583 '.' ,
7684 '(' ,
7785 '='
7886 )
7987 ) ;
8088 context . subscriptions . push (
8189 vscode . languages . registerCompletionItemProvider (
82- systemverilogSelector ,
83- compItemProvider ,
90+ systemVerilogSelector ,
91+ verilogCompletionItemProvider ,
8492 '.' ,
8593 '(' ,
8694 '='
8795 )
8896 ) ;
89- let bsvcompItemProvider = new CompletionItemProvider . BsvCompletionItemProvider ( logger ) ;
97+ let bsvCompletionItemProvider = new CompletionItemProvider . BsvCompletionItemProvider ( logger ) ;
9098 context . subscriptions . push (
91- vscode . languages . registerCompletionItemProvider ( bsvSelector , bsvcompItemProvider , '.' , '(' , '=' )
99+ vscode . languages . registerCompletionItemProvider (
100+ bsvSelector ,
101+ bsvCompletionItemProvider ,
102+ '.' ,
103+ '(' ,
104+ '='
105+ )
92106 ) ;
93107
94108 // Configure Hover Providers
95- let veriloghoverProvider = new HoverProvider . VerilogHoverProvider ( logger ) ;
109+ let verilogHoverProvider = new HoverProvider . VerilogHoverProvider ( logger ) ;
96110 context . subscriptions . push (
97- vscode . languages . registerHoverProvider ( systemverilogSelector , veriloghoverProvider )
111+ vscode . languages . registerHoverProvider ( systemVerilogSelector , verilogHoverProvider )
98112 ) ;
99113 context . subscriptions . push (
100- vscode . languages . registerHoverProvider ( verilogSelector , veriloghoverProvider )
114+ vscode . languages . registerHoverProvider ( verilogSelector , verilogHoverProvider )
101115 ) ;
102- let bsvhoverProvider = new HoverProvider . BsvHoverProvider ( logger ) ;
103- context . subscriptions . push ( vscode . languages . registerHoverProvider ( bsvSelector , bsvhoverProvider ) ) ;
116+ let bsvHoverProvider = new HoverProvider . BsvHoverProvider ( logger ) ;
117+ context . subscriptions . push ( vscode . languages . registerHoverProvider ( bsvSelector , bsvHoverProvider ) ) ;
104118
105119 // Configure Definition Providers
106- let defProvider = new DefinitionProvider . VerilogDefinitionProvider ( logger ) ;
120+ let verilogDefinitionProvider = new DefinitionProvider . VerilogDefinitionProvider ( logger ) ;
107121 context . subscriptions . push (
108- vscode . languages . registerDefinitionProvider ( systemverilogSelector , defProvider )
122+ vscode . languages . registerDefinitionProvider ( systemVerilogSelector , verilogDefinitionProvider )
109123 ) ;
110124 context . subscriptions . push (
111- vscode . languages . registerDefinitionProvider ( verilogSelector , defProvider )
125+ vscode . languages . registerDefinitionProvider ( verilogSelector , verilogDefinitionProvider )
112126 ) ;
113- let bsvdefProvider = new DefinitionProvider . BsvDefinitionProvider ( ) ;
127+ let bsvDefinitionProvider = new DefinitionProvider . BsvDefinitionProvider ( ) ;
114128 context . subscriptions . push (
115- vscode . languages . registerDefinitionProvider ( bsvSelector , bsvdefProvider )
129+ vscode . languages . registerDefinitionProvider ( bsvSelector , bsvDefinitionProvider )
116130 ) ;
117131
118132 // Configure Format Provider
119133 let verilogFormatProvider = new FormatProvider . VerilogFormatProvider ( logger ) ;
120- let systemVerilogFormatProvider = new FormatProvider . SystemVerilogFormatProvider ( logger ) ;
121134 context . subscriptions . push (
122135 vscode . languages . registerDocumentFormattingEditProvider ( verilogSelector , verilogFormatProvider )
123136 ) ;
137+ let systemVerilogFormatProvider = new FormatProvider . SystemVerilogFormatProvider ( logger ) ;
124138 context . subscriptions . push (
125139 vscode . languages . registerDocumentFormattingEditProvider (
126- systemverilogSelector ,
140+ systemVerilogSelector ,
127141 systemVerilogFormatProvider
128142 )
129143 ) ;
@@ -134,6 +148,7 @@ export function activate(context: vscode.ExtensionContext) {
134148 ModuleInstantiation . instantiateModuleInteract ,
135149 logger
136150 ) ;
151+
137152 // Register command for manual linting
138153 vscode . commands . registerCommand ( 'verilog.lint' , lintManager . runLintTool , lintManager ) ;
139154
@@ -179,17 +194,6 @@ function setupLanguageClient(
179194 logger . info ( '"' + name + '" language server started.' ) ;
180195}
181196
182- function stopAllLanguageClients ( ) : Promise < any > {
183- var p = [ ] ;
184- for ( const [ name , client ] of languageClients ) {
185- if ( client . isRunning ( ) ) {
186- p . push ( client . stop ( ) ) ;
187- logger . info ( '"' + name + '" language server stopped.' ) ;
188- }
189- }
190- return Promise . all ( p ) ;
191- }
192-
193197function initAllLanguageClients ( ) {
194198 // init svls
195199 setupLanguageClient ( 'svls' , 'svls' , [ ] , [ '--debug' ] , {
@@ -211,6 +215,17 @@ function initAllLanguageClients() {
211215 } ) ;
212216}
213217
218+ function stopAllLanguageClients ( ) : Promise < any > {
219+ var p = [ ] ;
220+ for ( const [ name , client ] of languageClients ) {
221+ if ( client . isRunning ( ) ) {
222+ p . push ( client . stop ( ) ) ;
223+ logger . info ( '"' + name + '" language server stopped.' ) ;
224+ }
225+ }
226+ return Promise . all ( p ) ;
227+ }
228+
214229function askShowChangelogIfUpdated ( context : vscode . ExtensionContext ) {
215230 let previousVersion = new SemVer ( context . globalState . get ( 'version' , '0.0.0' ) ) ;
216231 let currentVersion = new SemVer ( vscode . extensions . getExtension ( extensionID ) . packageJSON . version ) ;
0 commit comments