|
13 | 13 | import { prepareExecutable } from './javaServerStarter'; |
14 | 14 | import { LanguageClientOptions, RevealOutputChannelOn, LanguageClient, DidChangeConfigurationNotification, RequestType, TextDocumentPositionParams, ReferencesRequest } from 'vscode-languageclient'; |
15 | 15 | import * as requirements from './requirements'; |
16 | | -import { languages, IndentAction, workspace, window, commands, ExtensionContext, TextDocument, Position, LanguageConfiguration, Uri } from "vscode"; |
| 16 | +import { languages, IndentAction, workspace, window, commands, ExtensionContext, TextDocument, Position, LanguageConfiguration, Uri, extensions } from "vscode"; |
17 | 17 | import * as path from 'path'; |
18 | 18 | import * as os from 'os'; |
19 | 19 | import { activateTagClosing, AutoCloseResult } from './tagClosing'; |
20 | 20 | import { Commands } from './commands'; |
21 | 21 | import { onConfigurationChange, subscribeJDKChangeConfiguration } from './settings'; |
| 22 | +import { collectXmlJavaExtensions, onExtensionChange } from './plugin'; |
22 | 23 |
|
23 | 24 | export interface ScopeInfo { |
24 | 25 | scope : "default" | "global" | "workspace" | "folder"; |
@@ -84,7 +85,7 @@ export function activate(context: ExtensionContext) { |
84 | 85 | } |
85 | 86 | } |
86 | 87 |
|
87 | | - let serverOptions = prepareExecutable(requirements); |
| 88 | + let serverOptions = prepareExecutable(requirements, collectXmlJavaExtensions(extensions.all)); |
88 | 89 | let languageClient = new LanguageClient('xml', 'XML Support', serverOptions, clientOptions); |
89 | 90 | let toDispose = context.subscriptions; |
90 | 91 | let disposable = languageClient.start(); |
@@ -113,6 +114,12 @@ export function activate(context: ExtensionContext) { |
113 | 114 | return text; |
114 | 115 | }; |
115 | 116 |
|
| 117 | + if (extensions.onDidChange) {// Theia doesn't support this API yet |
| 118 | + extensions.onDidChange(() => { |
| 119 | + onExtensionChange(extensions.all); |
| 120 | + }); |
| 121 | + } |
| 122 | + |
116 | 123 | disposable = activateTagClosing(tagProvider, { xml: true, xsl: true }, Commands.AUTO_CLOSE_TAGS); |
117 | 124 | toDispose.push(disposable); |
118 | 125 | }); |
|
0 commit comments