@@ -9,6 +9,7 @@ import { RoslynLanguageServerEvents } from './languageServerEvents';
9
9
import { languageServerOptions } from '../shared/options' ;
10
10
import { ServerState } from './serverStateChange' ;
11
11
import { getCSharpDevKit } from '../utils/getCSharpDevKit' ;
12
+ import { RazorLanguage } from '../razor/src/razorLanguage' ;
12
13
13
14
export function registerLanguageStatusItems (
14
15
context : vscode . ExtensionContext ,
@@ -22,12 +23,17 @@ export function registerLanguageStatusItems(
22
23
ProjectContextStatus . createStatusItem ( context , languageServer ) ;
23
24
}
24
25
26
+ function combineDocumentSelectors ( ...selectors : vscode . DocumentSelector [ ] ) : vscode . DocumentSelector {
27
+ return selectors . reduce < ( string | vscode . DocumentFilter ) [ ] > ( ( acc , selector ) => acc . concat ( selector ) , [ ] ) ;
28
+ }
29
+
25
30
class WorkspaceStatus {
26
31
static createStatusItem ( context : vscode . ExtensionContext , languageServerEvents : RoslynLanguageServerEvents ) {
27
- const item = vscode . languages . createLanguageStatusItem (
28
- 'csharp.workspaceStatus' ,
29
- languageServerOptions . documentSelector
32
+ const documentSelector = combineDocumentSelectors (
33
+ languageServerOptions . documentSelector ,
34
+ RazorLanguage . documentSelector
30
35
) ;
36
+ const item = vscode . languages . createLanguageStatusItem ( 'csharp.workspaceStatus' , documentSelector ) ;
31
37
item . name = vscode . l10n . t ( 'C# Workspace Status' ) ;
32
38
item . command = {
33
39
command : 'dotnet.openSolution' ,
0 commit comments