11
11
*/
12
12
13
13
import * as fs from 'fs-extra' ;
14
- import * as os from 'os' ;
15
- import * as path from 'path' ;
16
- import { ExtensionContext , Uri , extensions , languages , commands } from "vscode" ;
14
+ import { DocumentFilter , DocumentSelector , ExtensionContext , Uri , commands , extensions , languages } from "vscode" ;
17
15
import { Executable , LanguageClient } from 'vscode-languageclient/node' ;
18
16
import { XMLExtensionApi } from './api/xmlExtensionApi' ;
19
17
import { getXmlExtensionApiImplementation } from './api/xmlExtensionApiImplementation' ;
20
18
import { cleanUpHeapDumps } from './client/clientErrorHandler' ;
21
19
import { getIndentationRules } from './client/indentation' ;
22
- import { startLanguageClient , XML_SUPPORTED_LANGUAGE_IDS } from './client/xmlClient' ;
20
+ import { XML_SUPPORTED_LANGUAGE_IDS , startLanguageClient } from './client/xmlClient' ;
23
21
import { registerClientOnlyCommands } from './commands/registerCommands' ;
24
22
import { collectXmlJavaExtensions } from './plugin' ;
25
23
import * as requirements from './server/requirements' ;
@@ -37,8 +35,13 @@ export async function activate(context: ExtensionContext): Promise<XMLExtensionA
37
35
registerClientOnlyCommands ( context ) ;
38
36
39
37
// Update indentation rules for all language which are XML.
40
- XML_SUPPORTED_LANGUAGE_IDS . forEach ( l => {
41
- const languageId = < string > l ;
38
+ XML_SUPPORTED_LANGUAGE_IDS . forEach ( ( l : DocumentSelector ) => {
39
+ let languageId : string ;
40
+ if ( ( l as DocumentFilter ) . language ) {
41
+ languageId = ( l as DocumentFilter ) . language ;
42
+ } else {
43
+ languageId = l as string ;
44
+ }
42
45
languages . setLanguageConfiguration ( languageId , getIndentationRules ( ) ) ;
43
46
} ) ;
44
47
0 commit comments