easysql/node_modules/.vite/deps/htmlMode-NDZ3CCQE.js
2025-12-29 18:35:04 +08:00

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