easysql/node_modules/monaco-editor/dev/vs/cssMode-Cakukknl.js
2025-12-29 18:35:04 +08:00

208 lines
7.4 KiB
JavaScript

define("vs/cssMode-Cakukknl", ["module", "exports", "./workers-p6mTW5Va", "./lspLanguageFeatures-BnY_dL8Y", "./editor.api-CykLys8L"], (function(module, exports, workers, lspLanguageFeatures, editor_api) {
"use strict";
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
class WorkerManager {
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 = workers.createWebWorker({
// module that exports the create() method and returns a `CSSWorker` instance
moduleId: "vs/language/css/cssWorker",
createWorker: () => new Worker(new URL(
/* @vite-ignore */
"" + new URL(require.toUrl("./assets/css.worker-CgWp-mpq.js"), document.baseURI).href,
new URL(module.uri, document.baseURI).href
), { type: "module" }),
label: this._defaults.languageId,
// passed in to the create() method
createData: {
options: this._defaults.options,
languageId: 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);
}
}
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(
editor_api.languages.registerCompletionItemProvider(
languageId,
new lspLanguageFeatures.CompletionAdapter(worker, ["/", "-", ":"])
)
);
}
if (modeConfiguration.hovers) {
providers.push(
editor_api.languages.registerHoverProvider(languageId, new lspLanguageFeatures.HoverAdapter(worker))
);
}
if (modeConfiguration.documentHighlights) {
providers.push(
editor_api.languages.registerDocumentHighlightProvider(
languageId,
new lspLanguageFeatures.DocumentHighlightAdapter(worker)
)
);
}
if (modeConfiguration.definitions) {
providers.push(
editor_api.languages.registerDefinitionProvider(
languageId,
new lspLanguageFeatures.DefinitionAdapter(worker)
)
);
}
if (modeConfiguration.references) {
providers.push(
editor_api.languages.registerReferenceProvider(
languageId,
new lspLanguageFeatures.ReferenceAdapter(worker)
)
);
}
if (modeConfiguration.documentSymbols) {
providers.push(
editor_api.languages.registerDocumentSymbolProvider(
languageId,
new lspLanguageFeatures.DocumentSymbolAdapter(worker)
)
);
}
if (modeConfiguration.rename) {
providers.push(
editor_api.languages.registerRenameProvider(languageId, new lspLanguageFeatures.RenameAdapter(worker))
);
}
if (modeConfiguration.colors) {
providers.push(
editor_api.languages.registerColorProvider(
languageId,
new lspLanguageFeatures.DocumentColorAdapter(worker)
)
);
}
if (modeConfiguration.foldingRanges) {
providers.push(
editor_api.languages.registerFoldingRangeProvider(
languageId,
new lspLanguageFeatures.FoldingRangeAdapter(worker)
)
);
}
if (modeConfiguration.diagnostics) {
providers.push(
new lspLanguageFeatures.DiagnosticsAdapter(languageId, worker, defaults.onDidChange)
);
}
if (modeConfiguration.selectionRanges) {
providers.push(
editor_api.languages.registerSelectionRangeProvider(
languageId,
new lspLanguageFeatures.SelectionRangeAdapter(worker)
)
);
}
if (modeConfiguration.documentFormattingEdits) {
providers.push(
editor_api.languages.registerDocumentFormattingEditProvider(
languageId,
new lspLanguageFeatures.DocumentFormattingEditProvider(worker)
)
);
}
if (modeConfiguration.documentRangeFormattingEdits) {
providers.push(
editor_api.languages.registerDocumentRangeFormattingEditProvider(
languageId,
new lspLanguageFeatures.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();
}
}
exports.CompletionAdapter = lspLanguageFeatures.CompletionAdapter;
exports.DefinitionAdapter = lspLanguageFeatures.DefinitionAdapter;
exports.DiagnosticsAdapter = lspLanguageFeatures.DiagnosticsAdapter;
exports.DocumentColorAdapter = lspLanguageFeatures.DocumentColorAdapter;
exports.DocumentFormattingEditProvider = lspLanguageFeatures.DocumentFormattingEditProvider;
exports.DocumentHighlightAdapter = lspLanguageFeatures.DocumentHighlightAdapter;
exports.DocumentLinkAdapter = lspLanguageFeatures.DocumentLinkAdapter;
exports.DocumentRangeFormattingEditProvider = lspLanguageFeatures.DocumentRangeFormattingEditProvider;
exports.DocumentSymbolAdapter = lspLanguageFeatures.DocumentSymbolAdapter;
exports.FoldingRangeAdapter = lspLanguageFeatures.FoldingRangeAdapter;
exports.HoverAdapter = lspLanguageFeatures.HoverAdapter;
exports.ReferenceAdapter = lspLanguageFeatures.ReferenceAdapter;
exports.RenameAdapter = lspLanguageFeatures.RenameAdapter;
exports.SelectionRangeAdapter = lspLanguageFeatures.SelectionRangeAdapter;
exports.fromPosition = lspLanguageFeatures.fromPosition;
exports.fromRange = lspLanguageFeatures.fromRange;
exports.toRange = lspLanguageFeatures.toRange;
exports.toTextEdit = lspLanguageFeatures.toTextEdit;
exports.WorkerManager = WorkerManager;
exports.setupMode = setupMode;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));