monaco-editor
Version:
A browser based code editor
2 lines (1 loc) • 3.87 kB
JavaScript
var D=Object.defineProperty;var v=(t,c,e)=>c in t?D(t,c,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[c]=e;var l=(t,c,e)=>(v(t,typeof c!="symbol"?c+"":c,e),e);define("vs/cssMode.71dc3162",["exports","./workers.8ff654dc","./lspLanguageFeatures.b4763a7b","./editor.api.001a2486"],function(t,c,e,d){"use strict";class g{constructor(h){l(this,"_defaults");l(this,"_idleCheckInterval");l(this,"_lastUsedTime");l(this,"_configChangeListener");l(this,"_worker");l(this,"_client");this._defaults=h,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(){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;Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=c.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...h){let i;return this._getClient().then(m=>{i=m}).then(m=>{if(this._worker)return this._worker.withSyncedResources(h)}).then(m=>i)}}function _(s){const h=[],i=[],m=new g(s);h.push(m);const o=(...n)=>m.getLanguageServiceWorker(...n);function A(){const{languageId:n,modeConfiguration:r}=s;f(i),r.completionItems&&i.push(d.languages.registerCompletionItemProvider(n,new e.CompletionAdapter(o,["/","-",":"]))),r.hovers&&i.push(d.languages.registerHoverProvider(n,new e.HoverAdapter(o))),r.documentHighlights&&i.push(d.languages.registerDocumentHighlightProvider(n,new e.DocumentHighlightAdapter(o))),r.definitions&&i.push(d.languages.registerDefinitionProvider(n,new e.DefinitionAdapter(o))),r.references&&i.push(d.languages.registerReferenceProvider(n,new e.ReferenceAdapter(o))),r.documentSymbols&&i.push(d.languages.registerDocumentSymbolProvider(n,new e.DocumentSymbolAdapter(o))),r.rename&&i.push(d.languages.registerRenameProvider(n,new e.RenameAdapter(o))),r.colors&&i.push(d.languages.registerColorProvider(n,new e.DocumentColorAdapter(o))),r.foldingRanges&&i.push(d.languages.registerFoldingRangeProvider(n,new e.FoldingRangeAdapter(o))),r.diagnostics&&i.push(new e.DiagnosticsAdapter(n,o,s.onDidChange)),r.selectionRanges&&i.push(d.languages.registerSelectionRangeProvider(n,new e.SelectionRangeAdapter(o))),r.documentFormattingEdits&&i.push(d.languages.registerDocumentFormattingEditProvider(n,new e.DocumentFormattingEditProvider(o))),r.documentRangeFormattingEdits&&i.push(d.languages.registerDocumentRangeFormattingEditProvider(n,new e.DocumentRangeFormattingEditProvider(o)))}return A(),h.push(a(i)),a(h)}function a(s){return{dispose:()=>f(s)}}function f(s){for(;s.length;)s.pop().dispose()}t.CompletionAdapter=e.CompletionAdapter,t.DefinitionAdapter=e.DefinitionAdapter,t.DiagnosticsAdapter=e.DiagnosticsAdapter,t.DocumentColorAdapter=e.DocumentColorAdapter,t.DocumentFormattingEditProvider=e.DocumentFormattingEditProvider,t.DocumentHighlightAdapter=e.DocumentHighlightAdapter,t.DocumentLinkAdapter=e.DocumentLinkAdapter,t.DocumentRangeFormattingEditProvider=e.DocumentRangeFormattingEditProvider,t.DocumentSymbolAdapter=e.DocumentSymbolAdapter,t.FoldingRangeAdapter=e.FoldingRangeAdapter,t.HoverAdapter=e.HoverAdapter,t.ReferenceAdapter=e.ReferenceAdapter,t.RenameAdapter=e.RenameAdapter,t.SelectionRangeAdapter=e.SelectionRangeAdapter,t.fromPosition=e.fromPosition,t.fromRange=e.fromRange,t.toRange=e.toRange,t.toTextEdit=e.toTextEdit,t.WorkerManager=g,t.setupMode=_,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});