252 lines
7.1 KiB
JavaScript
252 lines
7.1 KiB
JavaScript
import {
|
|
CompletionAdapter,
|
|
DefinitionAdapter,
|
|
DiagnosticsAdapter,
|
|
DocumentColorAdapter,
|
|
DocumentFormattingEditProvider,
|
|
DocumentHighlightAdapter,
|
|
DocumentLinkAdapter,
|
|
DocumentRangeFormattingEditProvider,
|
|
DocumentSymbolAdapter,
|
|
FoldingRangeAdapter,
|
|
HoverAdapter,
|
|
ReferenceAdapter,
|
|
RenameAdapter,
|
|
SelectionRangeAdapter,
|
|
fromPosition,
|
|
fromRange,
|
|
toRange,
|
|
toTextEdit
|
|
} from "./chunk-4HDAG2SO.js";
|
|
import {
|
|
createWebWorker
|
|
} from "./chunk-LDDGU7BO.js";
|
|
import {
|
|
languages
|
|
} from "./chunk-FYA5C7HA.js";
|
|
import "./chunk-DC5AMYBS.js";
|
|
|
|
// node_modules/monaco-editor/esm/vs/language/html/workerManager.js
|
|
var STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
|
|
var WorkerManager = class {
|
|
constructor(defaults) {
|
|
this._defaults = defaults;
|
|
this._worker = null;
|
|
this._client = null;
|
|
this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
|
|
this._lastUsedTime = 0;
|
|
this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
|
|
}
|
|
_stopWorker() {
|
|
if (this._worker) {
|
|
this._worker.dispose();
|
|
this._worker = null;
|
|
}
|
|
this._client = null;
|
|
}
|
|
dispose() {
|
|
clearInterval(this._idleCheckInterval);
|
|
this._configChangeListener.dispose();
|
|
this._stopWorker();
|
|
}
|
|
_checkIfIdle() {
|
|
if (!this._worker) {
|
|
return;
|
|
}
|
|
let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
|
|
if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
|
|
this._stopWorker();
|
|
}
|
|
}
|
|
_getClient() {
|
|
this._lastUsedTime = Date.now();
|
|
if (!this._client) {
|
|
this._worker = createWebWorker({
|
|
// module that exports the create() method and returns a `HTMLWorker` instance
|
|
moduleId: "vs/language/html/htmlWorker",
|
|
createWorker: () => new Worker(new URL("html.worker.js", import.meta.url), { type: "module" }),
|
|
// passed in to the create() method
|
|
createData: {
|
|
languageSettings: this._defaults.options,
|
|
languageId: this._defaults.languageId
|
|
},
|
|
label: this._defaults.languageId
|
|
});
|
|
this._client = this._worker.getProxy();
|
|
}
|
|
return this._client;
|
|
}
|
|
getLanguageServiceWorker(...resources) {
|
|
let _client;
|
|
return this._getClient().then((client) => {
|
|
_client = client;
|
|
}).then((_) => {
|
|
if (this._worker) {
|
|
return this._worker.withSyncedResources(resources);
|
|
}
|
|
}).then((_) => _client);
|
|
}
|
|
};
|
|
|
|
// node_modules/monaco-editor/esm/vs/language/html/htmlMode.js
|
|
import "E:/Workspace/easysql/node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css";
|
|
import "E:/Workspace/easysql/node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css";
|
|
var HTMLCompletionAdapter = class extends CompletionAdapter {
|
|
constructor(worker) {
|
|
super(worker, [".", ":", "<", '"', "=", "/"]);
|
|
}
|
|
};
|
|
function setupMode1(defaults) {
|
|
const client = new WorkerManager(defaults);
|
|
const worker = (...uris) => {
|
|
return client.getLanguageServiceWorker(...uris);
|
|
};
|
|
let languageId = defaults.languageId;
|
|
languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker));
|
|
languages.registerHoverProvider(languageId, new HoverAdapter(worker));
|
|
languages.registerDocumentHighlightProvider(
|
|
languageId,
|
|
new DocumentHighlightAdapter(worker)
|
|
);
|
|
languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker));
|
|
languages.registerFoldingRangeProvider(
|
|
languageId,
|
|
new FoldingRangeAdapter(worker)
|
|
);
|
|
languages.registerDocumentSymbolProvider(
|
|
languageId,
|
|
new DocumentSymbolAdapter(worker)
|
|
);
|
|
languages.registerSelectionRangeProvider(
|
|
languageId,
|
|
new SelectionRangeAdapter(worker)
|
|
);
|
|
languages.registerRenameProvider(languageId, new RenameAdapter(worker));
|
|
if (languageId === "html") {
|
|
languages.registerDocumentFormattingEditProvider(
|
|
languageId,
|
|
new DocumentFormattingEditProvider(worker)
|
|
);
|
|
languages.registerDocumentRangeFormattingEditProvider(
|
|
languageId,
|
|
new DocumentRangeFormattingEditProvider(worker)
|
|
);
|
|
}
|
|
}
|
|
function setupMode(defaults) {
|
|
const disposables = [];
|
|
const providers = [];
|
|
const client = new WorkerManager(defaults);
|
|
disposables.push(client);
|
|
const worker = (...uris) => {
|
|
return client.getLanguageServiceWorker(...uris);
|
|
};
|
|
function registerProviders() {
|
|
const { languageId, modeConfiguration } = defaults;
|
|
disposeAll(providers);
|
|
if (modeConfiguration.completionItems) {
|
|
providers.push(
|
|
languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker))
|
|
);
|
|
}
|
|
if (modeConfiguration.hovers) {
|
|
providers.push(
|
|
languages.registerHoverProvider(languageId, new HoverAdapter(worker))
|
|
);
|
|
}
|
|
if (modeConfiguration.documentHighlights) {
|
|
providers.push(
|
|
languages.registerDocumentHighlightProvider(
|
|
languageId,
|
|
new DocumentHighlightAdapter(worker)
|
|
)
|
|
);
|
|
}
|
|
if (modeConfiguration.links) {
|
|
providers.push(
|
|
languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker))
|
|
);
|
|
}
|
|
if (modeConfiguration.documentSymbols) {
|
|
providers.push(
|
|
languages.registerDocumentSymbolProvider(
|
|
languageId,
|
|
new DocumentSymbolAdapter(worker)
|
|
)
|
|
);
|
|
}
|
|
if (modeConfiguration.rename) {
|
|
providers.push(
|
|
languages.registerRenameProvider(languageId, new RenameAdapter(worker))
|
|
);
|
|
}
|
|
if (modeConfiguration.foldingRanges) {
|
|
providers.push(
|
|
languages.registerFoldingRangeProvider(
|
|
languageId,
|
|
new FoldingRangeAdapter(worker)
|
|
)
|
|
);
|
|
}
|
|
if (modeConfiguration.selectionRanges) {
|
|
providers.push(
|
|
languages.registerSelectionRangeProvider(
|
|
languageId,
|
|
new SelectionRangeAdapter(worker)
|
|
)
|
|
);
|
|
}
|
|
if (modeConfiguration.documentFormattingEdits) {
|
|
providers.push(
|
|
languages.registerDocumentFormattingEditProvider(
|
|
languageId,
|
|
new DocumentFormattingEditProvider(worker)
|
|
)
|
|
);
|
|
}
|
|
if (modeConfiguration.documentRangeFormattingEdits) {
|
|
providers.push(
|
|
languages.registerDocumentRangeFormattingEditProvider(
|
|
languageId,
|
|
new DocumentRangeFormattingEditProvider(worker)
|
|
)
|
|
);
|
|
}
|
|
}
|
|
registerProviders();
|
|
disposables.push(asDisposable(providers));
|
|
return asDisposable(disposables);
|
|
}
|
|
function asDisposable(disposables) {
|
|
return { dispose: () => disposeAll(disposables) };
|
|
}
|
|
function disposeAll(disposables) {
|
|
while (disposables.length) {
|
|
disposables.pop().dispose();
|
|
}
|
|
}
|
|
export {
|
|
CompletionAdapter,
|
|
DefinitionAdapter,
|
|
DiagnosticsAdapter,
|
|
DocumentColorAdapter,
|
|
DocumentFormattingEditProvider,
|
|
DocumentHighlightAdapter,
|
|
DocumentLinkAdapter,
|
|
DocumentRangeFormattingEditProvider,
|
|
DocumentSymbolAdapter,
|
|
FoldingRangeAdapter,
|
|
HoverAdapter,
|
|
ReferenceAdapter,
|
|
RenameAdapter,
|
|
SelectionRangeAdapter,
|
|
WorkerManager,
|
|
fromPosition,
|
|
fromRange,
|
|
setupMode,
|
|
setupMode1,
|
|
toRange,
|
|
toTextEdit
|
|
};
|
|
//# sourceMappingURL=htmlMode-NDZ3CCQE.js.map
|