@ws-ui/code-editor 1.1.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,23 +1,23 @@
1
- import { jsxs as D, jsx as x, Fragment as ve } from "react/jsx-runtime";
2
- import B, { useEffect as J, createContext as oe, useState as z, useRef as te, useContext as re, memo as Se } from "react";
3
- import { loader as ye, useMonaco as Ne, Editor as Re } from "@monaco-editor/react";
4
- import { lspSubject as we, LspActions as j, hasAttributesString as se, FileFolderType as xe, HTTP_HANDLERS_PATH as ke } from "@ws-ui/shared";
1
+ import { jsxs as P, jsx as k, Fragment as Se } from "react/jsx-runtime";
2
+ import D, { useEffect as V, createContext as le, useState as _, useRef as oe, useContext as ae, memo as ye } from "react";
3
+ import { loader as Ne, useMonaco as Re, Editor as we } from "@monaco-editor/react";
4
+ import { lspSubject as xe, LspActions as E, hasAttributesString as ge, FileFolderType as ie, SourceCodeDescriptor as ke, HTTP_HANDLERS_PATH as Le } from "@ws-ui/shared";
5
5
  import { MonacoLanguageClient as We } from "monaco-languageclient";
6
- import { mergeServices as Le, initServices as Fe } from "monaco-languageclient/vscode/services";
7
- import Ze, { initUserConfiguration as je } from "@codingame/monaco-vscode-configuration-service-override";
8
- import Xe from "@codingame/monaco-vscode-languages-service-override";
6
+ import { mergeServices as Fe, initServices as Ze } from "monaco-languageclient/vscode/services";
7
+ import je, { initUserConfiguration as Xe } from "@codingame/monaco-vscode-configuration-service-override";
8
+ import Ee from "@codingame/monaco-vscode-languages-service-override";
9
9
  import Ke from "@codingame/monaco-vscode-textmate-service-override";
10
10
  import "@codingame/monaco-vscode-theme-defaults-default-extension";
11
- import Ee from "@codingame/monaco-vscode-editor-service-override";
12
- import Be from "@codingame/monaco-vscode-theme-service-override";
13
- import * as a from "monaco-editor";
14
- import { Selection as Te, KeyMod as O, KeyCode as G, editor as ae, Range as Oe, Uri as Ge, CancellationTokenSource as De } from "monaco-editor";
15
- import { Logger as Je } from "monaco-languageclient/tools";
16
- import { CloseAction as Me, ErrorAction as Pe } from "vscode-languageclient";
17
- import { WebSocketMessageReader as Ve, WebSocketMessageWriter as Ye, toSocket as He } from "vscode-ws-jsonrpc";
18
- import { TextDocumentSaveReason as ze, DocumentDiagnosticRequest as $e, WillSaveTextDocumentNotification as _e, DidSaveTextDocumentNotification as Ue, WillCreateFilesRequest as qe, WillRenameFilesRequest as Qe, WillDeleteFilesRequest as et, DidCreateFilesNotification as tt, DidRenameFilesNotification as nt, DidDeleteFilesNotification as it, SemanticTokensRegistrationType as ot } from "vscode-languageserver-protocol";
19
- import { StandaloneServices as rt, ICodeEditorService as st } from "vscode/services";
20
- import { KeybindingsRegistry as U } from "vscode/monaco";
11
+ import Be from "@codingame/monaco-vscode-editor-service-override";
12
+ import Te from "@codingame/monaco-vscode-theme-service-override";
13
+ import * as l from "monaco-editor";
14
+ import { Selection as Oe, KeyMod as J, KeyCode as M, editor as ce, Range as De, Uri as Ge, CancellationTokenSource as Je } from "monaco-editor";
15
+ import { Logger as Me } from "monaco-languageclient/tools";
16
+ import { CloseAction as Pe, ErrorAction as Ve } from "vscode-languageclient";
17
+ import { WebSocketMessageReader as Ye, WebSocketMessageWriter as He, toSocket as ze } from "vscode-ws-jsonrpc";
18
+ import { TextDocumentSaveReason as $e, DocumentDiagnosticRequest as _e, WillSaveTextDocumentNotification as Ue, DidSaveTextDocumentNotification as qe, WillCreateFilesRequest as Qe, WillRenameFilesRequest as et, WillDeleteFilesRequest as tt, DidCreateFilesNotification as nt, DidRenameFilesNotification as it, DidDeleteFilesNotification as ot, SemanticTokensRegistrationType as rt } from "vscode-languageserver-protocol";
19
+ import { StandaloneServices as st, ICodeEditorService as lt } from "vscode/services";
20
+ import { KeybindingsRegistry as te } from "vscode/monaco";
21
21
  import "@codingame/monaco-vscode-standalone-languages";
22
22
  import "@codingame/monaco-vscode-standalone-html-language-features";
23
23
  import "@codingame/monaco-vscode-standalone-css-language-features";
@@ -28,13 +28,13 @@ import "@codingame/monaco-vscode-json-default-extension";
28
28
  import "@codingame/monaco-vscode-html-default-extension";
29
29
  import "@codingame/monaco-vscode-javascript-default-extension";
30
30
  import { registerExtension as at } from "vscode/extensions";
31
- const lt = () => Ze(), gt = () => Ee(
31
+ const gt = () => je(), ct = () => Be(
32
32
  () => Promise.resolve(void 0)
33
- ), ct = () => {
34
- const t = Be(), e = t.themeService.ctor.prototype;
33
+ ), ut = () => {
34
+ const t = Te(), e = t.themeService.ctor.prototype;
35
35
  return e.defineTheme = () => {
36
36
  }, t;
37
- }, ut = `{
37
+ }, dt = `{
38
38
  "workbench.colorTheme": "Default Dark+",
39
39
  "workbench.iconTheme": "vs-seti",
40
40
  "editor.autoClosingBrackets": "languageDefined",
@@ -119,10 +119,10 @@ const lt = () => Ze(), gt = () => Ee(
119
119
  }
120
120
  }
121
121
  }
122
- `, dt = () => je(ut), It = async (t) => {
122
+ `, It = () => Xe(dt), Ct = async (t) => {
123
123
  var o;
124
124
  const e = t.serviceConfig ?? {};
125
- e.debugLogging = ((o = t.logger) == null ? void 0 : o.isEnabled()) === !0 && (e.debugLogging === !0 || t.logger.isDebugEnabled() === !0), await dt(), e.userServices = e.userServices ?? {};
125
+ e.debugLogging = ((o = t.logger) == null ? void 0 : o.isEnabled()) === !0 && (e.debugLogging === !0 || t.logger.isDebugEnabled() === !0), await It(), e.userServices = e.userServices ?? {};
126
126
  const n = e.userServices.configurationService ?? void 0, i = e.workspaceConfig ?? void 0;
127
127
  if (n === void 0) {
128
128
  if (i)
@@ -131,19 +131,19 @@ const lt = () => Ze(), gt = () => Ee(
131
131
  );
132
132
  const r = {
133
133
  // @see https://github.com/CodinGame/monaco-vscode-api#monaco-standalone-services
134
- ...lt(),
135
- ...ct(),
134
+ ...gt(),
135
+ ...ut(),
136
136
  ...Ke(),
137
- ...Xe(),
138
- ...gt()
137
+ ...Ee(),
138
+ ...ct()
139
139
  };
140
- Le(r, e.userServices);
140
+ Fe(r, e.userServices);
141
141
  }
142
142
  return i || (e.workspaceConfig = {
143
143
  workspaceProvider: {
144
144
  trusted: !0,
145
145
  workspace: {
146
- workspaceUri: a.Uri.file("/workspace")
146
+ workspaceUri: l.Uri.file("/workspace")
147
147
  },
148
148
  async open() {
149
149
  return !1;
@@ -151,7 +151,7 @@ const lt = () => Ze(), gt = () => Ee(
151
151
  }
152
152
  }), e;
153
153
  };
154
- class Ct extends Ve {
154
+ class mt extends Ye {
155
155
  constructor(e, n) {
156
156
  super(e), this.onMessage = n;
157
157
  }
@@ -168,7 +168,7 @@ class Ct extends Ve {
168
168
  }
169
169
  }
170
170
  }
171
- class mt extends Ye {
171
+ class ft extends He {
172
172
  constructor(e, n) {
173
173
  super(e), this.onSend = n;
174
174
  }
@@ -181,50 +181,50 @@ class mt extends Ye {
181
181
  }
182
182
  }
183
183
  }
184
- function Z(t, e = !0) {
184
+ function j(t, e = !0) {
185
185
  const n = `/PACKAGE/Project/Sources/${t}`;
186
186
  return e ? `file://${n}` : n;
187
187
  }
188
- function le(t, e = 0) {
188
+ function ue(t, e = 0) {
189
189
  setTimeout(t, e);
190
190
  }
191
- function ft(t, e) {
192
- const n = new Te(
191
+ function pt(t, e) {
192
+ const n = new Oe(
193
193
  e.startLineNumber,
194
194
  e.startColumn,
195
195
  e.endLineNumber || e.startLineNumber,
196
196
  e.endColumn || e.startColumn
197
197
  );
198
- le(() => {
198
+ ue(() => {
199
199
  t.setSelection(n), t.revealRangeInCenter(n), t.focus();
200
200
  });
201
201
  }
202
- function pt(t, e, n = 0) {
203
- n > 0 && (e = n + e), le(() => {
202
+ function At(t, e, n = 0) {
203
+ n > 0 && (e = n + e), ue(() => {
204
204
  t.setPosition({ lineNumber: e, column: 1 }), t.revealLineInCenter(e), t.focus();
205
205
  });
206
206
  }
207
- function yn(t, e, n) {
207
+ function wn(t, e, n) {
208
208
  const o = t.getModel();
209
209
  if (o && e) {
210
210
  const r = o.getLineCount();
211
211
  for (let s = 1; s <= r; s++) {
212
- const A = o.getLineContent(s);
213
- if (new RegExp(`(?:Function|function) ${n}`).test(A))
212
+ const m = o.getLineContent(s);
213
+ if (new RegExp(`(?:Function|function) ${n}`).test(m))
214
214
  return s;
215
215
  }
216
216
  }
217
217
  return 0;
218
218
  }
219
- const At = {
219
+ const bt = {
220
220
  provideCompletionItems: async (t, e) => {
221
221
  const n = t.getWordUntilPosition(e);
222
222
  return {
223
223
  suggestions: [
224
224
  {
225
225
  label: "var",
226
- kind: a.languages.CompletionItemKind.Snippet,
227
- range: new a.Range(
226
+ kind: l.languages.CompletionItemKind.Snippet,
227
+ range: new l.Range(
228
228
  e.lineNumber,
229
229
  n.startColumn,
230
230
  e.lineNumber,
@@ -232,12 +232,12 @@ const At = {
232
232
  ),
233
233
  insertText: ["var ${1:var_name} : ${2:var_type}"].join(`
234
234
  `),
235
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
235
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
236
236
  },
237
237
  {
238
238
  label: "While",
239
- kind: a.languages.CompletionItemKind.Snippet,
240
- range: new a.Range(
239
+ kind: l.languages.CompletionItemKind.Snippet,
240
+ range: new l.Range(
241
241
  e.lineNumber,
242
242
  n.startColumn,
243
243
  e.lineNumber,
@@ -249,12 +249,12 @@ const At = {
249
249
  "End while"
250
250
  ].join(`
251
251
  `),
252
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
252
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
253
253
  },
254
254
  {
255
255
  label: "Case of",
256
- kind: a.languages.CompletionItemKind.Snippet,
257
- range: new a.Range(
256
+ kind: l.languages.CompletionItemKind.Snippet,
257
+ range: new l.Range(
258
258
  e.lineNumber,
259
259
  n.startColumn,
260
260
  e.lineNumber,
@@ -267,12 +267,12 @@ const At = {
267
267
  "End case"
268
268
  ].join(`
269
269
  `),
270
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
270
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
271
271
  },
272
272
  {
273
273
  label: "Else",
274
- kind: a.languages.CompletionItemKind.Snippet,
275
- range: new a.Range(
274
+ kind: l.languages.CompletionItemKind.Snippet,
275
+ range: new l.Range(
276
276
  e.lineNumber,
277
277
  n.startColumn,
278
278
  e.lineNumber,
@@ -280,12 +280,12 @@ const At = {
280
280
  ),
281
281
  insertText: ["Else", " "].join(`
282
282
  `),
283
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
283
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
284
284
  },
285
285
  {
286
286
  label: "If",
287
- kind: a.languages.CompletionItemKind.Snippet,
288
- range: new a.Range(
287
+ kind: l.languages.CompletionItemKind.Snippet,
288
+ range: new l.Range(
289
289
  e.lineNumber,
290
290
  n.startColumn,
291
291
  e.lineNumber,
@@ -295,12 +295,12 @@ const At = {
295
295
  `
296
296
  `
297
297
  ),
298
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
298
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
299
299
  },
300
300
  {
301
301
  label: "For",
302
- kind: a.languages.CompletionItemKind.Snippet,
303
- range: new a.Range(
302
+ kind: l.languages.CompletionItemKind.Snippet,
303
+ range: new l.Range(
304
304
  e.lineNumber,
305
305
  n.startColumn,
306
306
  e.lineNumber,
@@ -312,12 +312,12 @@ const At = {
312
312
  "End for"
313
313
  ].join(`
314
314
  `),
315
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
315
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
316
316
  },
317
317
  {
318
318
  label: "Function",
319
- kind: a.languages.CompletionItemKind.Snippet,
320
- range: new a.Range(
319
+ kind: l.languages.CompletionItemKind.Snippet,
320
+ range: new l.Range(
321
321
  e.lineNumber,
322
322
  n.startColumn,
323
323
  e.lineNumber,
@@ -328,20 +328,20 @@ const At = {
328
328
  " ${5:body}"
329
329
  ].join(`
330
330
  `),
331
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
331
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
332
332
  }
333
333
  ]
334
334
  };
335
335
  }
336
- }, bt = {
336
+ }, ht = {
337
337
  provideCompletionItems: async (t, e) => {
338
338
  const n = t.getWordUntilPosition(e);
339
339
  return {
340
340
  suggestions: [
341
341
  {
342
342
  label: "var",
343
- kind: a.languages.CompletionItemKind.Snippet,
344
- range: new a.Range(
343
+ kind: l.languages.CompletionItemKind.Snippet,
344
+ range: new l.Range(
345
345
  e.lineNumber,
346
346
  n.startColumn,
347
347
  e.lineNumber,
@@ -349,12 +349,12 @@ const At = {
349
349
  ),
350
350
  insertText: ["var ${1:var_name} : ${2:var_type}"].join(`
351
351
  `),
352
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
352
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
353
353
  },
354
354
  {
355
355
  label: "while",
356
- kind: a.languages.CompletionItemKind.Snippet,
357
- range: new a.Range(
356
+ kind: l.languages.CompletionItemKind.Snippet,
357
+ range: new l.Range(
358
358
  e.lineNumber,
359
359
  n.startColumn,
360
360
  e.lineNumber,
@@ -364,12 +364,12 @@ const At = {
364
364
  `
365
365
  `
366
366
  ),
367
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
367
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
368
368
  },
369
369
  {
370
370
  label: "switch",
371
- kind: a.languages.CompletionItemKind.Snippet,
372
- range: new a.Range(
371
+ kind: l.languages.CompletionItemKind.Snippet,
372
+ range: new l.Range(
373
373
  e.lineNumber,
374
374
  n.startColumn,
375
375
  e.lineNumber,
@@ -382,12 +382,12 @@ const At = {
382
382
  "end"
383
383
  ].join(`
384
384
  `),
385
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
385
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
386
386
  },
387
387
  {
388
388
  label: "else",
389
- kind: a.languages.CompletionItemKind.Snippet,
390
- range: new a.Range(
389
+ kind: l.languages.CompletionItemKind.Snippet,
390
+ range: new l.Range(
391
391
  e.lineNumber,
392
392
  n.startColumn,
393
393
  e.lineNumber,
@@ -395,12 +395,12 @@ const At = {
395
395
  ),
396
396
  insertText: ["else", " "].join(`
397
397
  `),
398
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
398
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
399
399
  },
400
400
  {
401
401
  label: "if",
402
- kind: a.languages.CompletionItemKind.Snippet,
403
- range: new a.Range(
402
+ kind: l.languages.CompletionItemKind.Snippet,
403
+ range: new l.Range(
404
404
  e.lineNumber,
405
405
  n.startColumn,
406
406
  e.lineNumber,
@@ -410,12 +410,12 @@ const At = {
410
410
  `
411
411
  `
412
412
  ),
413
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
413
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
414
414
  },
415
415
  {
416
416
  label: "for",
417
- kind: a.languages.CompletionItemKind.Snippet,
418
- range: new a.Range(
417
+ kind: l.languages.CompletionItemKind.Snippet,
418
+ range: new l.Range(
419
419
  e.lineNumber,
420
420
  n.startColumn,
421
421
  e.lineNumber,
@@ -427,12 +427,12 @@ const At = {
427
427
  "end"
428
428
  ].join(`
429
429
  `),
430
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
430
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
431
431
  },
432
432
  {
433
433
  label: "function",
434
- kind: a.languages.CompletionItemKind.Snippet,
435
- range: new a.Range(
434
+ kind: l.languages.CompletionItemKind.Snippet,
435
+ range: new l.Range(
436
436
  e.lineNumber,
437
437
  n.startColumn,
438
438
  e.lineNumber,
@@ -443,50 +443,50 @@ const At = {
443
443
  " ${5:body}"
444
444
  ].join(`
445
445
  `),
446
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
446
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
447
447
  }
448
448
  ]
449
449
  };
450
450
  }
451
- }, ht = [
451
+ }, vt = [
452
452
  // zoom in
453
453
  {
454
- keybinding: O.CtrlCmd | G.NumpadAdd,
454
+ keybinding: J.CtrlCmd | M.NumpadAdd,
455
455
  command: "editor.action.fontZoomIn"
456
456
  },
457
457
  {
458
- keybinding: O.CtrlCmd | G.Equal,
458
+ keybinding: J.CtrlCmd | M.Equal,
459
459
  command: "editor.action.fontZoomIn"
460
460
  },
461
461
  // zoom out
462
462
  {
463
- keybinding: O.CtrlCmd | G.NumpadSubtract,
463
+ keybinding: J.CtrlCmd | M.NumpadSubtract,
464
464
  command: "editor.action.fontZoomOut"
465
465
  },
466
466
  {
467
- keybinding: O.CtrlCmd | G.Minus,
467
+ keybinding: J.CtrlCmd | M.Minus,
468
468
  command: "editor.action.fontZoomOut"
469
469
  },
470
470
  // zoom reset
471
471
  {
472
- keybinding: O.CtrlCmd | G.Numpad0,
472
+ keybinding: J.CtrlCmd | M.Numpad0,
473
473
  command: "editor.action.fontZoomReset"
474
474
  },
475
475
  {
476
- keybinding: O.CtrlCmd | G.Digit0,
476
+ keybinding: J.CtrlCmd | M.Digit0,
477
477
  command: "editor.action.fontZoomReset"
478
478
  }
479
- ], vt = ({ defaultZoom: t }) => (J(() => {
480
- t !== void 0 && ae.EditorZoom.setZoomLevel(t);
479
+ ], St = ({ defaultZoom: t }) => (V(() => {
480
+ t !== void 0 && ce.EditorZoom.setZoomLevel(t);
481
481
  }, []), null);
482
- ye.config({
483
- monaco: a
482
+ Ne.config({
483
+ monaco: l
484
484
  // paths: {
485
485
  // vs: import.meta.env.VITE_MONACO_EDITOR_CDN,
486
486
  // },
487
487
  });
488
- var H = /* @__PURE__ */ ((t) => (t[t.NotSet = -1] = "NotSet", t[t.None = 0] = "None", t[t.Italic = 1] = "Italic", t[t.Bold = 2] = "Bold", t[t.Underline = 4] = "Underline", t[t.Strikethrough = 8] = "Strikethrough", t))(H || {}), ge = /* @__PURE__ */ ((t) => (t[t.None = 0] = "None", t[t.DefaultForeground = 1] = "DefaultForeground", t[t.DefaultBackground = 2] = "DefaultBackground", t))(ge || {}), ce = /* @__PURE__ */ ((t) => (t[t.Other = 0] = "Other", t[t.Comment = 1] = "Comment", t[t.String = 2] = "String", t[t.RegEx = 3] = "RegEx", t))(ce || {});
489
- class V {
488
+ var $ = /* @__PURE__ */ ((t) => (t[t.NotSet = -1] = "NotSet", t[t.None = 0] = "None", t[t.Italic = 1] = "Italic", t[t.Bold = 2] = "Bold", t[t.Underline = 4] = "Underline", t[t.Strikethrough = 8] = "Strikethrough", t))($ || {}), de = /* @__PURE__ */ ((t) => (t[t.None = 0] = "None", t[t.DefaultForeground = 1] = "DefaultForeground", t[t.DefaultBackground = 2] = "DefaultBackground", t))(de || {}), Ie = /* @__PURE__ */ ((t) => (t[t.Other = 0] = "Other", t[t.Comment = 1] = "Comment", t[t.String = 2] = "String", t[t.RegEx = 3] = "RegEx", t))(Ie || {});
489
+ class H {
490
490
  static getLanguageId(e) {
491
491
  return (e & 255) >>> 0;
492
492
  }
@@ -528,47 +528,47 @@ class V {
528
528
  };
529
529
  }
530
530
  }
531
- function St(t, e, n, i) {
531
+ function yt(t, e, n, i) {
532
532
  const o = n.tokens.data, r = t.getLanguageId();
533
- let s = 0, A = 0;
534
- const I = i.lineNumber - 1, v = i.column - 1;
535
- for (let b = 0; b < o.length; b += 5) {
536
- const C = o[b], m = o[b + 1], N = o[b + 2], w = o[b + 3], S = o[b + 4], R = s + C, f = C === 0 ? A + m : m;
537
- if (I === R && f <= v && v < f + N) {
538
- const k = n.legend.tokenTypes[w] || "not in legend (ignored)", p = [];
539
- let l = S;
540
- for (let M = 0; l > 0 && M < n.legend.tokenModifiers.length; M++)
541
- l & 1 && p.push(n.legend.tokenModifiers[M]), l = l >> 1;
542
- l > 0 && p.push("not in legend (ignored)");
543
- const u = new Oe(
533
+ let s = 0, m = 0;
534
+ const I = i.lineNumber - 1, h = i.column - 1;
535
+ for (let C = 0; C < o.length; C += 5) {
536
+ const f = o[C], A = o[C + 1], N = o[C + 2], w = o[C + 3], S = o[C + 4], R = s + f, b = f === 0 ? m + A : A;
537
+ if (I === R && b <= h && h < b + N) {
538
+ const L = n.legend.tokenTypes[w] || "not in legend (ignored)", p = [];
539
+ let a = S;
540
+ for (let Y = 0; a > 0 && Y < n.legend.tokenModifiers.length; Y++)
541
+ a & 1 && p.push(n.legend.tokenModifiers[Y]), a = a >> 1;
542
+ a > 0 && p.push("not in legend (ignored)");
543
+ const u = new De(
544
544
  R + 1,
545
- f + 1,
545
+ b + 1,
546
546
  R + 1,
547
- f + 1 + N
548
- ), y = {}, W = e.getColorTheme().tokenColorMap, h = e.getColorTheme().getTokenStyleMetadata(
549
- k,
547
+ b + 1 + N
548
+ ), y = {}, F = e.getColorTheme().tokenColorMap, v = e.getColorTheme().getTokenStyleMetadata(
549
+ L,
550
550
  p,
551
551
  r,
552
552
  !0,
553
553
  y
554
554
  );
555
- let E;
556
- return h && (E = {
555
+ let O;
556
+ return v && (O = {
557
557
  languageId: void 0,
558
- tokenType: ce.Other,
559
- bold: h == null ? void 0 : h.bold,
560
- italic: h == null ? void 0 : h.italic,
561
- underline: h == null ? void 0 : h.underline,
562
- strikethrough: h == null ? void 0 : h.strikethrough,
563
- foreground: W[(h == null ? void 0 : h.foreground) || ge.None],
558
+ tokenType: Ie.Other,
559
+ bold: v == null ? void 0 : v.bold,
560
+ italic: v == null ? void 0 : v.italic,
561
+ underline: v == null ? void 0 : v.underline,
562
+ strikethrough: v == null ? void 0 : v.strikethrough,
563
+ foreground: F[(v == null ? void 0 : v.foreground) || de.None],
564
564
  background: void 0
565
- }), { type: k, modifiers: p, range: u, metadata: E, definitions: y };
565
+ }), { type: L, modifiers: p, range: u, metadata: O, definitions: y };
566
566
  }
567
- s = R, A = f;
567
+ s = R, m = b;
568
568
  }
569
569
  return null;
570
570
  }
571
- function yt(t, e, n) {
571
+ function Nt(t, e, n) {
572
572
  let i = null;
573
573
  for (let o = 1; o < n; o++)
574
574
  i = e.tokenizeLine(
@@ -577,51 +577,51 @@ function yt(t, e, n) {
577
577
  ).ruleStack;
578
578
  return i;
579
579
  }
580
- function Nt(t, e, n) {
581
- const i = t.getColorTheme().tokenColorMap, o = V.getLanguageId(n), r = V.getTokenType(n), s = V.getFontStyle(n), A = V.getForeground(n), I = V.getBackground(n);
580
+ function Rt(t, e, n) {
581
+ const i = t.getColorTheme().tokenColorMap, o = H.getLanguageId(n), r = H.getTokenType(n), s = H.getFontStyle(n), m = H.getForeground(n), I = H.getBackground(n);
582
582
  return {
583
583
  languageId: e.languageIdCodec.decodeLanguageId(o),
584
584
  tokenType: r,
585
- bold: s & H.Bold ? !0 : void 0,
586
- italic: s & H.Italic ? !0 : void 0,
587
- underline: s & H.Underline ? !0 : void 0,
588
- strikethrough: s & H.Strikethrough ? !0 : void 0,
589
- foreground: i[A],
585
+ bold: s & $.Bold ? !0 : void 0,
586
+ italic: s & $.Italic ? !0 : void 0,
587
+ underline: s & $.Underline ? !0 : void 0,
588
+ strikethrough: s & $.Strikethrough ? !0 : void 0,
589
+ foreground: i[m],
590
590
  background: i[I]
591
591
  };
592
592
  }
593
- function Rt(t, e, n) {
594
- const i = n.lineNumber, o = t, r = o._tokenizationTextModelPart.grammarTokens._tokenizer.tokenizationSupport._actual._grammar, s = yt(t, r, i), A = r.tokenizeLine(
593
+ function wt(t, e, n) {
594
+ const i = n.lineNumber, o = t, r = o._tokenizationTextModelPart.grammarTokens._tokenizer.tokenizationSupport._actual._grammar, s = Nt(t, r, i), m = r.tokenizeLine(
595
595
  t.getLineContent(i),
596
596
  s
597
597
  ), I = r.tokenizeLine2(
598
598
  t.getLineContent(i),
599
599
  s
600
600
  );
601
- let v = 0;
602
- for (let C = A.tokens.length - 1; C >= 0; C--) {
603
- const m = A.tokens[C];
604
- if (n.column - 1 >= m.startIndex) {
605
- v = C;
601
+ let h = 0;
602
+ for (let f = m.tokens.length - 1; f >= 0; f--) {
603
+ const A = m.tokens[f];
604
+ if (n.column - 1 >= A.startIndex) {
605
+ h = f;
606
606
  break;
607
607
  }
608
608
  }
609
- let b = 0;
610
- for (let C = I.tokens.length >>> 1; C >= 0; C--)
611
- if (n.column - 1 >= I.tokens[C << 1]) {
612
- b = C;
609
+ let C = 0;
610
+ for (let f = I.tokens.length >>> 1; f >= 0; f--)
611
+ if (n.column - 1 >= I.tokens[f << 1]) {
612
+ C = f;
613
613
  break;
614
614
  }
615
615
  return {
616
- token: A.tokens[v],
617
- metadata: Nt(
616
+ token: m.tokens[h],
617
+ metadata: Rt(
618
618
  e,
619
619
  o._languageService,
620
- I.tokens[(b << 1) + 1]
620
+ I.tokens[(C << 1) + 1]
621
621
  )
622
622
  };
623
623
  }
624
- const ue = oe(void 0), Nn = ({
624
+ const Ce = le(void 0), xn = ({
625
625
  children: t,
626
626
  url: e,
627
627
  qodly: n,
@@ -630,45 +630,67 @@ const ue = oe(void 0), Nn = ({
630
630
  language: r = "4d",
631
631
  defaultInited: s = !1
632
632
  }) => {
633
- const A = Ne(), [I, v] = z(s), [b, C] = z(null), m = te(), N = te(0);
634
- J(() => {
635
- e && A && w();
636
- }, [e, A]);
633
+ const m = Re(), [I, h] = _(s), [C, f] = _(null), A = oe(), N = oe(0);
634
+ V(() => {
635
+ e && m && w();
636
+ }, [e, m]);
637
637
  const w = async () => {
638
- if (!A) return;
639
- const d = new Je({
638
+ if (!m) return;
639
+ const d = new Me({
640
640
  enabled: process.env.NODE_ENV === "development",
641
641
  debugEnabled: process.env.NODE_ENV === "development"
642
- }), g = await It({
642
+ }), g = await Ct({
643
643
  logger: d
644
644
  });
645
- await Fe({
645
+ await Ze({
646
646
  caller: "Qodly Code Editor",
647
647
  logger: d,
648
648
  serviceConfig: g
649
- }), o && rt.get(st).registerCodeEditorOpenHandler(o), A.languages.registerCompletionItemProvider(
649
+ }), o && st.get(lt).registerCodeEditorOpenHandler(o), m.languages.registerCompletionItemProvider(
650
650
  r,
651
- n ? bt : At
651
+ n ? ht : bt
652
652
  );
653
- const c = U.getDefaultKeybindings.bind(U);
654
- U.getDefaultKeybindings = () => c().filter(
655
- (F) => ![
653
+ const c = te.getDefaultKeybindings.bind(te);
654
+ te.getDefaultKeybindings = () => c().filter(
655
+ (W) => ![
656
656
  "workbench.action.files.saveAs",
657
657
  "workbench.action.files.save"
658
- ].includes(F.command)
659
- ), ae.addKeybindingRules(ht), S();
658
+ ].includes(W.command)
659
+ ), ce.addKeybindingRules(vt), m.languages.registerFoldingRangeProvider(r, {
660
+ provideFoldingRanges: function(x) {
661
+ const W = [], X = /\\\s*$/;
662
+ for (let Z = 1, G = x.getLineCount(); Z <= G; Z++) {
663
+ const U = x.getLineContent(Z);
664
+ if (X.exec(U)) {
665
+ let K = Z + 1;
666
+ for (; K <= G; ) {
667
+ const ee = x.getLineContent(K);
668
+ if (X.exec(ee) == null)
669
+ break;
670
+ K++;
671
+ }
672
+ K > Z && (W.push({
673
+ start: Z,
674
+ end: K,
675
+ kind: m.languages.FoldingRangeKind.Region
676
+ }), Z = K);
677
+ }
678
+ }
679
+ return W;
680
+ }
681
+ }), S();
660
682
  }, S = () => {
661
- C(null);
683
+ f(null);
662
684
  let d;
663
685
  try {
664
686
  d = new WebSocket(localStorage.LSP_SERVER || e);
665
687
  } catch {
666
- C(new Event("INVALID_URL"));
688
+ f(new Event("INVALID_URL"));
667
689
  return;
668
690
  }
669
- d.onopen = R, d.onclose = f, d.onerror = k, N.current = 0;
691
+ d.onopen = R, d.onclose = b, d.onerror = L, N.current = 0;
670
692
  }, R = async function() {
671
- const d = He(this), g = new Ct(d), c = new mt(d), L = new We({
693
+ const d = ze(this), g = new mt(d), c = new ft(d), x = new We({
672
694
  name: "4D Language Client",
673
695
  clientOptions: {
674
696
  workspaceFolder: {
@@ -678,8 +700,8 @@ const ue = oe(void 0), Nn = ({
678
700
  documentSelector: [{ scheme: "file", language: r }],
679
701
  // disable the default error handler
680
702
  errorHandler: {
681
- error: () => ({ action: Pe.Continue }),
682
- closed: () => ({ action: Me.DoNotRestart })
703
+ error: () => ({ action: Ve.Continue }),
704
+ closed: () => ({ action: Pe.DoNotRestart })
683
705
  }
684
706
  },
685
707
  // create a language client connection from the JSON RPC connection on demand
@@ -690,49 +712,49 @@ const ue = oe(void 0), Nn = ({
690
712
  })
691
713
  }
692
714
  });
693
- m.current = L;
694
- const F = L.sendRequest.bind(L);
695
- m.current.sendRequest = function(T, P, _) {
696
- return typeof T == "object" && T.method === "textDocument/diagnostic" && /file:\/\/\/PACKAGE\/Project\/Sources\/Methods\/__Debugger_.*/.test(
697
- P.textDocument.uri
698
- ) ? Promise.resolve() : F(T, P, _);
715
+ A.current = x;
716
+ const W = x.sendRequest.bind(x);
717
+ A.current.sendRequest = function(X, Z, G) {
718
+ return typeof X == "object" && X.method === "textDocument/diagnostic" && /file:\/\/\/PACKAGE\/Project\/Sources\/Methods\/__Debugger_.*/.test(
719
+ Z.textDocument.uri
720
+ ) ? Promise.resolve() : W(X, Z, G);
699
721
  }, g.onClose(() => {
700
- L.stop(), N.current < 3 ? setTimeout(() => {
722
+ x.stop(), N.current < 3 ? setTimeout(() => {
701
723
  N.current++, S();
702
- }, 1e3) : C(new Event("WEBSOCKET_CLOSED"));
703
- }), L.needsStart() && await L.start(), v(!0);
704
- }, f = () => {
705
- }, k = (d) => {
706
- C(d);
724
+ }, 1e3) : f(new Event("WEBSOCKET_CLOSED"));
725
+ }), x.needsStart() && await x.start(), h(!0);
726
+ }, b = () => {
727
+ }, L = (d) => {
728
+ f(d);
707
729
  };
708
- J(() => {
709
- const d = we.subscribe(({ action: g, payload: c }) => {
730
+ V(() => {
731
+ const d = xe.subscribe(({ action: g, payload: c }) => {
710
732
  switch (g) {
711
- case j.WILL_SAVE:
712
- W(c.filePath);
733
+ case E.WILL_SAVE:
734
+ F(c.filePath);
713
735
  break;
714
- case j.DID_SAVE:
715
- K(c.filePath, c.content);
736
+ case E.DID_SAVE:
737
+ T(c.filePath, c.content);
716
738
  break;
717
- case j.WILL_CREATE:
718
- h(c.filePath);
739
+ case E.WILL_CREATE:
740
+ v(c.filePath);
719
741
  break;
720
- case j.DID_CREATE:
721
- fe(c.filePath);
742
+ case E.DID_CREATE:
743
+ be(c.filePath);
722
744
  break;
723
- case j.WILL_RENAME:
724
- E(c.oldPath, c.newPath);
745
+ case E.WILL_RENAME:
746
+ O(c.oldPath, c.newPath);
725
747
  break;
726
- case j.DID_RENAME:
727
- pe(c.oldPath, c.newPath);
748
+ case E.DID_RENAME:
749
+ he(c.oldPath, c.newPath);
728
750
  break;
729
- case j.WILL_DELETE:
730
- M(c.filePath);
751
+ case E.WILL_DELETE:
752
+ Y(c.filePath);
731
753
  break;
732
- case j.DID_DELETE:
733
- Ae(c.filePath);
754
+ case E.DID_DELETE:
755
+ ve(c.filePath);
734
756
  break;
735
- case j.DIAGNOSTIC_REFRESH:
757
+ case E.DIAGNOSTIC_REFRESH:
736
758
  y(c.filePath);
737
759
  break;
738
760
  }
@@ -741,158 +763,158 @@ const ue = oe(void 0), Nn = ({
741
763
  }, []);
742
764
  const p = (d) => {
743
765
  var g, c;
744
- return (c = (g = m.current) == null ? void 0 : g._features) == null ? void 0 : c.find(
745
- (L) => {
746
- var F;
747
- return ((F = L._registrationType) == null ? void 0 : F.method) === d;
766
+ return (c = (g = A.current) == null ? void 0 : g._features) == null ? void 0 : c.find(
767
+ (x) => {
768
+ var W;
769
+ return ((W = x._registrationType) == null ? void 0 : W.method) === d;
748
770
  }
749
771
  );
750
- }, l = (d) => {
772
+ }, a = (d) => {
751
773
  const g = [], c = p(d);
752
774
  if (c)
753
- for (const [L, F] of c._registrations)
754
- F.provider && g.push(F.provider);
775
+ for (const [x, W] of c._registrations)
776
+ W.provider && g.push(W.provider);
755
777
  return g;
756
778
  }, u = async (d, g, c) => {
757
- var F, T, P;
758
- const L = l(
759
- ot.method
779
+ var W, X, Z;
780
+ const x = a(
781
+ rt.method
760
782
  );
761
- if (L[0]) {
762
- const _ = new De(), Q = await Promise.resolve(
763
- L[0].full.provideDocumentSemanticTokens(
783
+ if (x[0]) {
784
+ const G = new Je(), U = await Promise.resolve(
785
+ x[0].full.provideDocumentSemanticTokens(
764
786
  g,
765
- _.token
787
+ G.token
766
788
  )
767
- ), ee = d, be = Q ? St(
789
+ ), Q = d, K = U ? yt(
768
790
  g,
769
- ee._themeService,
791
+ Q._themeService,
770
792
  {
771
- tokens: Q,
772
- legend: (P = (T = (F = m.current) == null ? void 0 : F._capabilities) == null ? void 0 : T.semanticTokensProvider) == null ? void 0 : P.legend
793
+ tokens: U,
794
+ legend: (Z = (X = (W = A.current) == null ? void 0 : W._capabilities) == null ? void 0 : X.semanticTokensProvider) == null ? void 0 : Z.legend
773
795
  },
774
796
  c
775
- ) : null, he = Rt(
797
+ ) : null, ee = wt(
776
798
  g,
777
- ee._themeService,
799
+ Q._themeService,
778
800
  c
779
801
  );
780
802
  return {
781
- semanticTokenInfo: be,
782
- textmateTokenInfo: he
803
+ semanticTokenInfo: K,
804
+ textmateTokenInfo: ee
783
805
  };
784
806
  }
785
807
  return null;
786
808
  }, y = (d) => {
787
- if (m.current) {
788
- const g = l(
789
- $e.method
809
+ if (A.current) {
810
+ const g = a(
811
+ _e.method
790
812
  );
791
813
  for (const c of g)
792
814
  c.onDidChangeDiagnosticsEmitter.fire();
793
815
  }
794
- }, W = (d, g = ze.Manual) => {
816
+ }, F = (d, g = $e.Manual) => {
795
817
  var c;
796
- (c = m.current) == null || c.sendNotification(_e.type, {
818
+ (c = A.current) == null || c.sendNotification(Ue.type, {
797
819
  textDocument: {
798
- uri: Z(d)
820
+ uri: j(d)
799
821
  },
800
822
  reason: g
801
823
  });
802
- }, K = (d, g) => {
824
+ }, T = (d, g) => {
803
825
  var c;
804
- (c = m.current) == null || c.sendNotification(Ue.type, {
826
+ (c = A.current) == null || c.sendNotification(qe.type, {
805
827
  textDocument: {
806
- uri: Z(d)
828
+ uri: j(d)
807
829
  },
808
830
  text: g
809
831
  });
810
- }, h = (d) => {
832
+ }, v = (d) => {
811
833
  var g;
812
- (g = m.current) == null || g.sendRequest(qe.type, {
834
+ (g = A.current) == null || g.sendRequest(Qe.type, {
813
835
  files: [
814
836
  {
815
- uri: Z(d)
837
+ uri: j(d)
816
838
  }
817
839
  ]
818
840
  });
819
- }, E = (d, g) => {
841
+ }, O = (d, g) => {
820
842
  var c;
821
- (c = m.current) == null || c.sendRequest(Qe.type, {
843
+ (c = A.current) == null || c.sendRequest(et.type, {
822
844
  files: [
823
845
  {
824
- oldUri: Z(d),
825
- newUri: Z(g)
846
+ oldUri: j(d),
847
+ newUri: j(g)
826
848
  }
827
849
  ]
828
850
  });
829
- }, M = (d) => {
851
+ }, Y = (d) => {
830
852
  var g;
831
- (g = m.current) == null || g.sendRequest(et.type, {
853
+ (g = A.current) == null || g.sendRequest(tt.type, {
832
854
  files: [
833
855
  {
834
- uri: Z(d)
856
+ uri: j(d)
835
857
  }
836
858
  ]
837
859
  });
838
- }, fe = (d) => {
860
+ }, be = (d) => {
839
861
  var g;
840
- (g = m.current) == null || g.sendNotification(tt.type, {
862
+ (g = A.current) == null || g.sendNotification(nt.type, {
841
863
  files: [
842
864
  {
843
- uri: Z(d)
865
+ uri: j(d)
844
866
  }
845
867
  ]
846
868
  });
847
- }, pe = (d, g) => {
869
+ }, he = (d, g) => {
848
870
  var c;
849
- (c = m.current) == null || c.sendNotification(nt.type, {
871
+ (c = A.current) == null || c.sendNotification(it.type, {
850
872
  files: [
851
873
  {
852
- oldUri: Z(d),
853
- newUri: Z(g)
874
+ oldUri: j(d),
875
+ newUri: j(g)
854
876
  }
855
877
  ]
856
878
  });
857
- }, Ae = (d) => {
879
+ }, ve = (d) => {
858
880
  var g;
859
- (g = m.current) == null || g.sendNotification(it.type, {
881
+ (g = A.current) == null || g.sendNotification(ot.type, {
860
882
  files: [
861
883
  {
862
- uri: Z(d)
884
+ uri: j(d)
863
885
  }
864
886
  ]
865
887
  });
866
888
  };
867
- return /* @__PURE__ */ D(
868
- ue.Provider,
889
+ return /* @__PURE__ */ P(
890
+ Ce.Provider,
869
891
  {
870
892
  value: {
871
- inited: I || !!b,
872
- clientRef: m,
873
- lastError: b,
893
+ inited: I || !!C,
894
+ clientRef: A,
895
+ lastError: C,
874
896
  reload: S,
875
897
  getTokenAtPosition: u
876
898
  },
877
899
  children: [
878
900
  t,
879
- /* @__PURE__ */ x(vt, { defaultZoom: i })
901
+ /* @__PURE__ */ k(St, { defaultZoom: i })
880
902
  ]
881
903
  }
882
904
  );
883
905
  };
884
- function Rn() {
885
- const t = re(ue);
906
+ function kn() {
907
+ const t = ae(Ce);
886
908
  if (t === void 0)
887
909
  throw new Error("useLSP must be used within an LSPContext");
888
910
  return t;
889
911
  }
890
- const de = oe(
912
+ const me = le(
891
913
  void 0
892
- ), wn = Se(({ children: t }) => {
893
- const [e, n] = z(null);
894
- return /* @__PURE__ */ x(
895
- de.Provider,
914
+ ), Ln = ye(({ children: t }) => {
915
+ const [e, n] = _(null);
916
+ return /* @__PURE__ */ k(
917
+ me.Provider,
896
918
  {
897
919
  value: {
898
920
  editor: e,
@@ -902,8 +924,8 @@ const de = oe(
902
924
  }
903
925
  );
904
926
  });
905
- function wt() {
906
- const t = re(de), e = z(null);
927
+ function xt() {
928
+ const t = ae(me), e = _(null);
907
929
  if (t === void 0) {
908
930
  const [n, i] = e;
909
931
  return {
@@ -913,85 +935,85 @@ function wt() {
913
935
  }
914
936
  return t;
915
937
  }
916
- var Ie = {
938
+ var fe = {
917
939
  color: void 0,
918
940
  size: void 0,
919
941
  className: void 0,
920
942
  style: void 0,
921
943
  attr: void 0
922
- }, ne = B.createContext && B.createContext(Ie), X = function() {
923
- return X = Object.assign || function(t) {
944
+ }, re = D.createContext && D.createContext(fe), B = function() {
945
+ return B = Object.assign || function(t) {
924
946
  for (var e, n = 1, i = arguments.length; n < i; n++) {
925
947
  e = arguments[n];
926
948
  for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && (t[o] = e[o]);
927
949
  }
928
950
  return t;
929
- }, X.apply(this, arguments);
930
- }, xt = function(t, e) {
951
+ }, B.apply(this, arguments);
952
+ }, kt = function(t, e) {
931
953
  var n = {};
932
954
  for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && e.indexOf(i) < 0 && (n[i] = t[i]);
933
955
  if (t != null && typeof Object.getOwnPropertySymbols == "function") for (var o = 0, i = Object.getOwnPropertySymbols(t); o < i.length; o++)
934
956
  e.indexOf(i[o]) < 0 && Object.prototype.propertyIsEnumerable.call(t, i[o]) && (n[i[o]] = t[i[o]]);
935
957
  return n;
936
958
  };
937
- function Ce(t) {
959
+ function pe(t) {
938
960
  return t && t.map(function(e, n) {
939
- return B.createElement(e.tag, X({
961
+ return D.createElement(e.tag, B({
940
962
  key: n
941
- }, e.attr), Ce(e.child));
963
+ }, e.attr), pe(e.child));
942
964
  });
943
965
  }
944
- function me(t) {
966
+ function Ae(t) {
945
967
  return function(e) {
946
- return B.createElement(kt, X({
947
- attr: X({}, t.attr)
948
- }, e), Ce(t.child));
968
+ return D.createElement(Lt, B({
969
+ attr: B({}, t.attr)
970
+ }, e), pe(t.child));
949
971
  };
950
972
  }
951
- function kt(t) {
973
+ function Lt(t) {
952
974
  var e = function(n) {
953
- var i = t.attr, o = t.size, r = t.title, s = xt(t, ["attr", "size", "title"]), A = o || n.size || "1em", I;
954
- return n.className && (I = n.className), t.className && (I = (I ? I + " " : "") + t.className), B.createElement("svg", X({
975
+ var i = t.attr, o = t.size, r = t.title, s = kt(t, ["attr", "size", "title"]), m = o || n.size || "1em", I;
976
+ return n.className && (I = n.className), t.className && (I = (I ? I + " " : "") + t.className), D.createElement("svg", B({
955
977
  stroke: "currentColor",
956
978
  fill: "currentColor",
957
979
  strokeWidth: "0"
958
980
  }, n.attr, i, s, {
959
981
  className: I,
960
- style: X(X({
982
+ style: B(B({
961
983
  color: t.color || n.color
962
984
  }, n.style), t.style),
963
- height: A,
964
- width: A,
985
+ height: m,
986
+ width: m,
965
987
  xmlns: "http://www.w3.org/2000/svg"
966
- }), r && B.createElement("title", null, r), t.children);
988
+ }), r && D.createElement("title", null, r), t.children);
967
989
  };
968
- return ne !== void 0 ? B.createElement(ne.Consumer, null, function(n) {
990
+ return re !== void 0 ? D.createElement(re.Consumer, null, function(n) {
969
991
  return e(n);
970
- }) : e(Ie);
992
+ }) : e(fe);
971
993
  }
972
994
  function Wt(t) {
973
- return me({ attr: { viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { d: "M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 10.5858L9.17157 7.75736L7.75736 9.17157L10.5858 12L7.75736 14.8284L9.17157 16.2426L12 13.4142L14.8284 16.2426L16.2426 14.8284L13.4142 12L16.2426 9.17157L14.8284 7.75736L12 10.5858Z" } }] })(t);
995
+ return Ae({ attr: { viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { d: "M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 10.5858L9.17157 7.75736L7.75736 9.17157L10.5858 12L7.75736 14.8284L9.17157 16.2426L12 13.4142L14.8284 16.2426L16.2426 14.8284L13.4142 12L16.2426 9.17157L14.8284 7.75736L12 10.5858Z" } }] })(t);
974
996
  }
975
- function Lt(t) {
976
- return me({ attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M449.07 399.08L278.64 82.58c-12.08-22.44-44.26-22.44-56.35 0L51.87 399.08A32 32 0 0080 446.25h340.89a32 32 0 0028.18-47.17zm-198.6-1.83a20 20 0 1120-20 20 20 0 01-20 20zm21.72-201.15l-5.74 122a16 16 0 01-32 0l-5.74-121.95a21.73 21.73 0 0121.5-22.69h.21a21.74 21.74 0 0121.73 22.7z" } }] })(t);
997
+ function Ft(t) {
998
+ return Ae({ attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M449.07 399.08L278.64 82.58c-12.08-22.44-44.26-22.44-56.35 0L51.87 399.08A32 32 0 0080 446.25h340.89a32 32 0 0028.18-47.17zm-198.6-1.83a20 20 0 1120-20 20 20 0 01-20 20zm21.72-201.15l-5.74 122a16 16 0 01-32 0l-5.74-121.95a21.73 21.73 0 0121.5-22.69h.21a21.74 21.74 0 0121.73 22.7z" } }] })(t);
977
999
  }
978
- const Ft = ({
1000
+ const Zt = ({
979
1001
  lspProps: { lastError: t, reload: e }
980
1002
  }) => {
981
- const [n, i] = z(!1), o = () => {
1003
+ const [n, i] = _(!1), o = () => {
982
1004
  e();
983
1005
  }, r = () => {
984
1006
  i(!1);
985
1007
  };
986
- return J(() => {
1008
+ return V(() => {
987
1009
  i(!!t);
988
- }, [t]), n ? /* @__PURE__ */ D("div", { className: "flex items-center border-b border-fd-gray-darker bg-grey-800 px-2 py-1.5 text-xs text-grey-50", children: [
989
- /* @__PURE__ */ D("span", { className: "flex flex-1 justify-center gap-1", children: [
990
- /* @__PURE__ */ x(Lt, { className: "h-4 w-4 text-yellow-600" }),
991
- /* @__PURE__ */ D("span", { children: [
1010
+ }, [t]), n ? /* @__PURE__ */ P("div", { className: "flex items-center border-b border-fd-gray-darker bg-grey-800 px-2 py-1.5 text-xs text-grey-50", children: [
1011
+ /* @__PURE__ */ P("span", { className: "flex flex-1 justify-center gap-1", children: [
1012
+ /* @__PURE__ */ k(Ft, { className: "h-4 w-4 text-yellow-600" }),
1013
+ /* @__PURE__ */ P("span", { children: [
992
1014
  "LSP not loaded.",
993
1015
  " ",
994
- /* @__PURE__ */ x(
1016
+ /* @__PURE__ */ k(
995
1017
  "button",
996
1018
  {
997
1019
  className: "text-primary-dark underline",
@@ -1001,7 +1023,7 @@ const Ft = ({
1001
1023
  )
1002
1024
  ] })
1003
1025
  ] }),
1004
- /* @__PURE__ */ x("button", { className: "focus:outline-none", children: /* @__PURE__ */ x(
1026
+ /* @__PURE__ */ k("button", { className: "focus:outline-none", children: /* @__PURE__ */ k(
1005
1027
  Wt,
1006
1028
  {
1007
1029
  className: "h-4 w-4 text-white",
@@ -1009,16 +1031,16 @@ const Ft = ({
1009
1031
  }
1010
1032
  ) })
1011
1033
  ] }) : null;
1012
- }, Zt = {
1034
+ }, jt = {
1013
1035
  provideCompletionItems: (t, e) => {
1014
1036
  const n = t.getWordUntilPosition(e);
1015
1037
  return {
1016
1038
  suggestions: [
1017
1039
  {
1018
1040
  label: "device:xs",
1019
- kind: a.languages.CompletionItemKind.Snippet,
1041
+ kind: l.languages.CompletionItemKind.Snippet,
1020
1042
  documentation: "Media query for phone device",
1021
- range: new a.Range(
1043
+ range: new l.Range(
1022
1044
  e.lineNumber,
1023
1045
  n.startColumn,
1024
1046
  e.lineNumber,
@@ -1032,12 +1054,12 @@ const Ft = ({
1032
1054
  "}"
1033
1055
  ].join(`
1034
1056
  `),
1035
- insertTextRules: a.languages.CompletionItemInsertTextRule.InsertAsSnippet
1057
+ insertTextRules: l.languages.CompletionItemInsertTextRule.InsertAsSnippet
1036
1058
  }
1037
1059
  ]
1038
1060
  };
1039
1061
  }
1040
- }, jt = "#/definitions/Condition", Xt = {
1062
+ }, Xt = "#/definitions/Condition", Et = {
1041
1063
  Base: {
1042
1064
  type: "object",
1043
1065
  properties: {
@@ -1306,9 +1328,9 @@ const Ft = ({
1306
1328
  ]
1307
1329
  }
1308
1330
  }, Kt = {
1309
- $ref: jt,
1310
- definitions: Xt
1311
- }, Et = "array", Bt = {
1331
+ $ref: Xt,
1332
+ definitions: Et
1333
+ }, Bt = "array", Tt = {
1312
1334
  type: "object",
1313
1335
  properties: {
1314
1336
  class: {
@@ -1324,11 +1346,11 @@ const Ft = ({
1324
1346
  type: "string"
1325
1347
  }
1326
1348
  }
1327
- }, Tt = {
1328
- type: Et,
1329
- items: Bt
1349
+ }, Ot = {
1350
+ type: Bt,
1351
+ items: Tt
1330
1352
  };
1331
- function Ot(t, e) {
1353
+ function Dt(t, e) {
1332
1354
  const n = document.createElement("style");
1333
1355
  n.dataset.id = e, n.textContent = t, document.head.append(n);
1334
1356
  }
@@ -1337,72 +1359,72 @@ function Gt(t) {
1337
1359
  (e) => e.ownerNode.getAttribute("data-id") === t
1338
1360
  );
1339
1361
  }
1340
- function Dt(t, e) {
1362
+ function Jt(t, e) {
1341
1363
  const n = [];
1342
1364
  let i = [];
1343
- const o = [], r = (l, u, y, W) => {
1365
+ const o = [], r = (a, u, y, F) => {
1344
1366
  n.push({
1345
- startLineNumber: l,
1367
+ startLineNumber: a,
1346
1368
  endLineNumber: y,
1347
1369
  startColumn: u,
1348
- endColumn: W
1349
- }), v(), I();
1350
- }, s = (l) => {
1351
- o.indexOf(l) < 0 && o.push(l);
1352
- }, A = (l) => {
1353
- const u = o.indexOf(l);
1370
+ endColumn: F
1371
+ }), h(), I();
1372
+ }, s = (a) => {
1373
+ o.indexOf(a) < 0 && o.push(a);
1374
+ }, m = (a) => {
1375
+ const u = o.indexOf(a);
1354
1376
  u < 0 || o.splice(u, 1);
1355
1377
  }, I = () => {
1356
- for (const l of o)
1378
+ for (const a of o)
1357
1379
  try {
1358
- l(i);
1380
+ a(i);
1359
1381
  } catch (u) {
1360
1382
  console.error(u);
1361
1383
  }
1362
- }, v = () => {
1363
- const l = t.getModel();
1364
- l && (i = Mt(
1384
+ }, h = () => {
1385
+ const a = t.getModel();
1386
+ a && (i = Pt(
1365
1387
  n.map((u) => [
1366
- l.getOffsetAt({
1388
+ a.getOffsetAt({
1367
1389
  lineNumber: u.startLineNumber,
1368
1390
  column: u.startColumn
1369
1391
  }),
1370
- l.getOffsetAt({
1392
+ a.getOffsetAt({
1371
1393
  lineNumber: u.endLineNumber,
1372
1394
  column: u.endColumn
1373
1395
  })
1374
1396
  ]),
1375
1397
  /*mergeJoins*/
1376
1398
  !0
1377
- ), i.length > 0 && (i[0][0] <= 0 && (i[0][0] = Number.NEGATIVE_INFINITY), i[i.length - 1][1] >= l.getValueLength() && (i[i.length - 1][1] = Number.POSITIVE_INFINITY)));
1378
- }, b = (l) => {
1399
+ ), i.length > 0 && (i[0][0] <= 0 && (i[0][0] = Number.NEGATIVE_INFINITY), i[i.length - 1][1] >= a.getValueLength() && (i[i.length - 1][1] = Number.POSITIVE_INFINITY)));
1400
+ }, C = (a) => {
1379
1401
  const u = {
1380
1402
  isDeletion: !1,
1381
1403
  isAddition: !1,
1382
1404
  isReplacement: !1
1383
1405
  };
1384
- return l.text === "" ? u.isDeletion = !0 : l.range.startLineNumber === l.range.endLineNumber && l.range.startColumn === l.range.endColumn ? u.isAddition = !0 : u.isReplacement = !0, u;
1385
- }, C = t.onDidChangeModel((l) => {
1386
- v(), k();
1387
- }), m = t.onDidChangeModelContent((l) => {
1388
- if (!l.isUndoing)
1389
- for (const u of l.changes) {
1390
- const y = b(u);
1406
+ return a.text === "" ? u.isDeletion = !0 : a.range.startLineNumber === a.range.endLineNumber && a.range.startColumn === a.range.endColumn ? u.isAddition = !0 : u.isReplacement = !0, u;
1407
+ }, f = t.onDidChangeModel((a) => {
1408
+ h(), L();
1409
+ }), A = t.onDidChangeModelContent((a) => {
1410
+ if (!a.isUndoing)
1411
+ for (const u of a.changes) {
1412
+ const y = C(u);
1391
1413
  if (y.isReplacement || y.isDeletion || y.isAddition) {
1392
- const W = n.some(
1393
- (h) => u.range.startLineNumber >= h.startLineNumber && u.range.endLineNumber <= h.endLineNumber && u.range.startColumn >= h.startColumn && u.range.endColumn <= h.endColumn
1394
- ), K = !W && e && u.range.startLineNumber === 1 && u.range.startColumn === 1 && !se(u.text);
1395
- if (W || K) {
1396
- const h = t.getModel();
1397
- if (h) {
1398
- h.undo();
1414
+ const F = n.some(
1415
+ (v) => u.range.startLineNumber >= v.startLineNumber && u.range.endLineNumber <= v.endLineNumber && u.range.startColumn >= v.startColumn && u.range.endColumn <= v.endColumn
1416
+ ), T = !F && e && u.range.startLineNumber === 1 && u.range.startColumn === 1 && !ge(u.text);
1417
+ if (F || T) {
1418
+ const v = t.getModel();
1419
+ if (v) {
1420
+ v.undo();
1399
1421
  return;
1400
1422
  }
1401
1423
  }
1402
1424
  }
1403
1425
  }
1404
1426
  }), N = () => {
1405
- C.dispose(), m.dispose();
1427
+ f.dispose(), A.dispose();
1406
1428
  };
1407
1429
  let w = [], S = `
1408
1430
  .idoc-readonly-mark {
@@ -1411,27 +1433,27 @@ function Dt(t, e) {
1411
1433
  }
1412
1434
  `;
1413
1435
  if (S) {
1414
- const l = "monaco-read-only";
1415
- Gt(l) || Ot(S, l), S = null;
1436
+ const a = "monaco-read-only";
1437
+ Gt(a) || Dt(S, a), S = null;
1416
1438
  }
1417
1439
  const R = () => {
1418
- s(k), k();
1419
- }, f = () => {
1420
- A(k), w = t.deltaDecorations(w, []);
1421
- }, k = () => {
1422
- const l = t.getModel();
1423
- l && (w = t.deltaDecorations(
1440
+ s(L), L();
1441
+ }, b = () => {
1442
+ m(L), w = t.deltaDecorations(w, []);
1443
+ }, L = () => {
1444
+ const a = t.getModel();
1445
+ a && (w = t.deltaDecorations(
1424
1446
  w,
1425
- i.map(p(l))
1447
+ i.map(p(a))
1426
1448
  ));
1427
- }, p = (l) => (u) => {
1428
- const y = l.getPositionAt(u[0]), W = l.getPositionAt(u[1]);
1449
+ }, p = (a) => (u) => {
1450
+ const y = a.getPositionAt(u[0]), F = a.getPositionAt(u[1]);
1429
1451
  return {
1430
- range: new a.Range(
1452
+ range: new l.Range(
1431
1453
  y.lineNumber,
1432
1454
  y.column,
1433
- W.lineNumber,
1434
- W.column
1455
+ F.lineNumber,
1456
+ F.column
1435
1457
  ),
1436
1458
  options: {
1437
1459
  className: "idoc-readonly-mark"
@@ -1444,67 +1466,67 @@ function Dt(t, e) {
1444
1466
  },
1445
1467
  exclude: r,
1446
1468
  attach: s,
1447
- detach: A,
1469
+ detach: m,
1448
1470
  dispose: N,
1449
1471
  show: R,
1450
- hide: f
1472
+ hide: b
1451
1473
  };
1452
1474
  }
1453
- function Jt(t, e, n) {
1475
+ function Mt(t, e, n) {
1454
1476
  let i = !1;
1455
- const o = (f) => f[1] < f[0] ? (i = !0, [[f[1], f[0]]]) : [[...f]], r = (f) => i ? f.map((k) => k[1] > k[0] ? A(k) : k).reverse() : f;
1477
+ const o = (b) => b[1] < b[0] ? (i = !0, [[b[1], b[0]]]) : [[...b]], r = (b) => i ? b.map((L) => L[1] > L[0] ? m(L) : L).reverse() : b;
1456
1478
  let s;
1457
- const A = (f) => (s = f[1], f[1] = f[0], f[0] = s, f), I = o(t);
1458
- let v, b, C, m, N, w, S, R;
1459
- C = I[0];
1460
- for (b of e)
1461
- for (S = b[0], R = b[1], m = 0; m < I.length; m++) {
1462
- if (C = I[m], N = C[0], w = C[1], N < S)
1463
- w < S ? v = [C] : w <= R ? v = [[N, S - 1]] : v = [
1479
+ const m = (b) => (s = b[1], b[1] = b[0], b[0] = s, b), I = o(t);
1480
+ let h, C, f, A, N, w, S, R;
1481
+ f = I[0];
1482
+ for (C of e)
1483
+ for (S = C[0], R = C[1], A = 0; A < I.length; A++) {
1484
+ if (f = I[A], N = f[0], w = f[1], N < S)
1485
+ w < S ? h = [f] : w <= R ? h = [[N, S - 1]] : h = [
1464
1486
  [N, S - 1],
1465
1487
  [R + 1, w]
1466
1488
  ];
1467
1489
  else if (N <= R)
1468
1490
  if (S === Number.NEGATIVE_INFINITY) {
1469
- const f = R + 1;
1470
- v = n === 0 ? [] : [[f, w > f ? w : f]];
1471
- } else R === Number.POSITIVE_INFINITY ? v = n === 0 ? [] : [[S - 1, S - 1]] : w <= R ? v = n < 0 ? [[S - 1, S - 1]] : n > 0 ? [[R + 1, R + 1]] : [] : v = [[R + 1, w]];
1491
+ const b = R + 1;
1492
+ h = n === 0 ? [] : [[b, w > b ? w : b]];
1493
+ } else R === Number.POSITIVE_INFINITY ? h = n === 0 ? [] : [[S - 1, S - 1]] : w <= R ? h = n < 0 ? [[S - 1, S - 1]] : n > 0 ? [[R + 1, R + 1]] : [] : h = [[R + 1, w]];
1472
1494
  else
1473
- v = [C];
1474
- if (I.splice(m, 1, ...v), I.length === 1 && I[0][1] < S) return r(I);
1495
+ h = [f];
1496
+ if (I.splice(A, 1, ...h), I.length === 1 && I[0][1] < S) return r(I);
1475
1497
  }
1476
1498
  return r(I);
1477
1499
  }
1478
- function Mt(t, e) {
1500
+ function Pt(t, e) {
1479
1501
  if (t.length < 2) return t;
1480
1502
  const n = [];
1481
1503
  let i = null, o, r;
1482
1504
  t = t.map(
1483
1505
  (s) => (s[1] < s[0] && (o = s[1], s[1] = s[0], s[1] = o), s)
1484
- ).sort((s, A) => s[0] - A[0]), n.push(t[0]);
1506
+ ).sort((s, m) => s[0] - m[0]), n.push(t[0]);
1485
1507
  for (let s = 1; s < t.length; s++)
1486
1508
  i = n[n.length - 1], r = t[s], i[1], r[0], i[1] === r[0] - 1 && e ? (i[1] = r[1], n.splice(n.length - 1, 1, i)) : i[1] < r[0] ? n.push(r) : i[1] < r[1] && (i[1] = r[1], n.splice(n.length - 1, 1, i));
1487
1509
  return n;
1488
1510
  }
1489
- function Y(t, e) {
1511
+ function z(t, e) {
1490
1512
  return e.bind(t);
1491
1513
  }
1492
- class Pt {
1514
+ class Vt {
1493
1515
  constructor(e, n) {
1494
1516
  var i;
1495
- this.disposables = [], this.prefer = 1, this.lastPrefer = 1, this.onCursor = Y(
1517
+ this.disposables = [], this.prefer = 1, this.lastPrefer = 1, this.onCursor = z(
1496
1518
  this,
1497
1519
  function(o) {
1498
1520
  if (o.source === "api") return;
1499
1521
  const r = this.getApprovedSelections();
1500
1522
  r.length !== 0 && this.editor.setSelections(r);
1501
1523
  }
1502
- ), this.onRectangleSelectionStart = Y(this, function({ event: o }) {
1524
+ ), this.onRectangleSelectionStart = z(this, function({ event: o }) {
1503
1525
  o.middleButton && (this.lastPrefer = this.prefer, this.prefer = 0, window.addEventListener("pointerup", this.onRectangleSelectionStop));
1504
- }), this.onRectangleSelectionStop = Y(this, function() {
1526
+ }), this.onRectangleSelectionStop = z(this, function() {
1505
1527
  this.prefer = this.lastPrefer, window.removeEventListener("pointerup", this.onRectangleSelectionStop);
1506
- }), this.onKey = Y(this, function(o) {
1507
- const r = o.keyCode, s = a.KeyCode;
1528
+ }), this.onKey = z(this, function(o) {
1529
+ const r = o.keyCode, s = l.KeyCode;
1508
1530
  if (o.altKey || s.F1 <= r && r <= s.F19 || o.ctrlKey && r !== s.Backspace) return;
1509
1531
  if (r === s.UpArrow || r === s.LeftArrow || r === s.Home || r === s.PageUp) {
1510
1532
  this.prefer = -1;
@@ -1514,21 +1536,21 @@ class Pt {
1514
1536
  this.prefer = 1;
1515
1537
  return;
1516
1538
  }
1517
- const A = this.getSelections(), I = this.intervals.buffer;
1518
- let v;
1539
+ const m = this.getSelections(), I = this.intervals.buffer;
1540
+ let h;
1519
1541
  if (r === s.Delete)
1520
- v = (b) => b[0] === b[1] && I.find((C) => b[1] + 1 === C[0]) != null;
1542
+ h = (C) => C[0] === C[1] && I.find((f) => C[1] + 1 === f[0]) != null;
1521
1543
  else if (r === s.Backspace)
1522
- v = (b) => b[0] === b[1] && I.find((C) => C[1] + 1 === b[0]) != null;
1544
+ h = (C) => C[0] === C[1] && I.find((f) => f[1] + 1 === C[0]) != null;
1523
1545
  else
1524
1546
  return;
1525
- A.findIndex(v) !== -1 && (o.stopPropagation(), o.preventDefault());
1526
- }), this.getOffsetAt = Y(this, function(o) {
1547
+ m.findIndex(h) !== -1 && (o.stopPropagation(), o.preventDefault());
1548
+ }), this.getOffsetAt = z(this, function(o) {
1527
1549
  let r;
1528
1550
  for (let s = 0; s < this.intervals.buffer.length; s++)
1529
1551
  if (r = this.intervals.buffer[s], o <= r[1])
1530
1552
  return r[0] - o < o - r[1] ? r[0] : r[1];
1531
- }), this.editor = e, this.intervals = Dt(e, n), (i = this.editor.getModel()) == null || i.setEOL(a.editor.EndOfLineSequence.LF);
1553
+ }), this.editor = e, this.intervals = Jt(e, n), (i = this.editor.getModel()) == null || i.setEOL(l.editor.EndOfLineSequence.LF);
1532
1554
  }
1533
1555
  enable() {
1534
1556
  this.disposables.push(
@@ -1547,14 +1569,14 @@ class Pt {
1547
1569
  getApprovedSelections() {
1548
1570
  const e = this.editor.getModel();
1549
1571
  return this.getSelections().map(
1550
- (i) => Jt(
1572
+ (i) => Mt(
1551
1573
  i,
1552
1574
  this.intervals.buffer,
1553
1575
  this.prefer
1554
1576
  )
1555
1577
  ).flat().map((i) => {
1556
1578
  const o = e.getPositionAt(i[0]), r = e.getPositionAt(i[1]);
1557
- return new a.Selection(
1579
+ return new l.Selection(
1558
1580
  o.lineNumber,
1559
1581
  o.column,
1560
1582
  r.lineNumber,
@@ -1576,13 +1598,28 @@ class Pt {
1576
1598
  ]);
1577
1599
  }
1578
1600
  }
1579
- const Vt = new RegExp("^[ s]+(exposed|Function)", "i"), ie = () => /* @__PURE__ */ x("div", { className: "absolute inset-0 animate-pulse", children: /* @__PURE__ */ x("div", { className: "w-full space-y-4 px-4 py-1", children: /* @__PURE__ */ D("div", { className: "space-y-2", children: [
1580
- /* @__PURE__ */ x("div", { className: "h-3 w-3/4 rounded bg-grey-200" }),
1581
- /* @__PURE__ */ x("div", { className: "h-3 rounded bg-grey-200" }),
1582
- /* @__PURE__ */ x("div", { className: "h-3 w-5/6 rounded bg-grey-200" }),
1583
- /* @__PURE__ */ x("div", { className: "h-3 rounded bg-grey-200" }),
1584
- /* @__PURE__ */ x("div", { className: "h-3 rounded bg-grey-200" })
1585
- ] }) }) }), q = ["fd-dark"], xn = ({
1601
+ const Yt = new RegExp("^[ s]+(exposed|Function)", "i"), Ht = ({
1602
+ lineNumber: t,
1603
+ editor: e,
1604
+ type: n,
1605
+ source: i
1606
+ }) => {
1607
+ var h;
1608
+ const o = n === ie.METHOD || n === ie.DEBUGGER && ((h = i == null ? void 0 : i.codeDescriptorInfo) == null ? void 0 : h.type) === ke.METHOD;
1609
+ if (t === 1)
1610
+ return o ? "" : "1";
1611
+ const r = e == null ? void 0 : e.getModel(), s = (r == null ? void 0 : r.getLinesContent()) || [], m = Array(s.length).fill("-");
1612
+ let I = o ? 0 : 1;
1613
+ for (let C = 1; C < s.length; C++)
1614
+ (C === 1 ? "" : s[C - 1]).endsWith("\\") || (I += 1, m[C] = I.toString());
1615
+ return m[t - 1];
1616
+ }, se = () => /* @__PURE__ */ k("div", { className: "absolute inset-0 animate-pulse", children: /* @__PURE__ */ k("div", { className: "w-full space-y-4 px-4 py-1", children: /* @__PURE__ */ P("div", { className: "space-y-2", children: [
1617
+ /* @__PURE__ */ k("div", { className: "h-3 w-3/4 rounded bg-grey-200" }),
1618
+ /* @__PURE__ */ k("div", { className: "h-3 rounded bg-grey-200" }),
1619
+ /* @__PURE__ */ k("div", { className: "h-3 w-5/6 rounded bg-grey-200" }),
1620
+ /* @__PURE__ */ k("div", { className: "h-3 rounded bg-grey-200" }),
1621
+ /* @__PURE__ */ k("div", { className: "h-3 rounded bg-grey-200" })
1622
+ ] }) }) }), ne = ["fd-dark"], Wn = ({
1586
1623
  path: t,
1587
1624
  initialValue: e,
1588
1625
  type: n,
@@ -1590,14 +1627,14 @@ const Vt = new RegExp("^[ s]+(exposed|Function)", "i"), ie = () => /* @__PURE__
1590
1627
  onChange: o,
1591
1628
  options: r = {},
1592
1629
  extra: s = {},
1593
- showAlerts: A = !1,
1630
+ showAlerts: m = !1,
1594
1631
  lspProps: I,
1595
- theme: v = q[0],
1596
- ...b
1632
+ theme: h = ne[0],
1633
+ ...C
1597
1634
  }) => {
1598
- const { initialLineInfo: C, initialSelectionInfo: m } = s, { editor: N, setEditor: w } = wt(), { inited: S } = I;
1635
+ const { initialLineInfo: f, initialSelectionInfo: A } = s, { editor: N, setEditor: w } = xt(), { inited: S } = I;
1599
1636
  function R(p) {
1600
- i === "css" && p.languages.registerCompletionItemProvider("css", Zt), i === "json" && p.languages.json && p.languages.json.jsonDefaults.setDiagnosticsOptions({
1637
+ i === "css" && p.languages.registerCompletionItemProvider("css", jt), i === "json" && p.languages.json && p.languages.json.jsonDefaults.setDiagnosticsOptions({
1601
1638
  validate: !0,
1602
1639
  schemas: [
1603
1640
  {
@@ -1607,75 +1644,82 @@ const Vt = new RegExp("^[ s]+(exposed|Function)", "i"), ie = () => /* @__PURE__
1607
1644
  },
1608
1645
  {
1609
1646
  uri: "handlers-schema.json",
1610
- fileMatch: [ke],
1611
- schema: Tt
1647
+ fileMatch: [Le],
1648
+ schema: Ot
1612
1649
  }
1613
1650
  ]
1614
1651
  });
1615
1652
  }
1616
- function f(p, l) {
1653
+ function b(p, a) {
1617
1654
  w(p);
1618
1655
  const u = p.getModel();
1619
1656
  if (u && (u.updateOptions({ insertSpaces: !1 }), p.onKeyUp(() => {
1620
- var W;
1621
- const y = (W = p.getPosition()) == null ? void 0 : W.lineNumber;
1657
+ var F;
1658
+ const y = (F = p.getPosition()) == null ? void 0 : F.lineNumber;
1622
1659
  if (y) {
1623
- const K = u.getLineFirstNonWhitespaceColumn(y), h = u.getLineLength(y), E = u.getLineContent(y);
1624
- Vt.test(E) && p.executeEdits("edit-handler", [
1660
+ const T = u.getLineFirstNonWhitespaceColumn(y), v = u.getLineLength(y), O = u.getLineContent(y);
1661
+ Yt.test(O) && p.executeEdits("edit-handler", [
1625
1662
  {
1626
- range: new l.Range(
1663
+ range: new a.Range(
1627
1664
  y,
1628
1665
  0,
1629
1666
  y,
1630
- h
1667
+ v
1631
1668
  ),
1632
- text: E.substr(
1633
- K - 1,
1634
- h - K
1669
+ text: O.substr(
1670
+ T - 1,
1671
+ v - T
1635
1672
  )
1636
1673
  }
1637
1674
  ]);
1638
1675
  }
1639
- })), n === xe.METHOD && se(e)) {
1640
- const y = new Pt(p, !0);
1676
+ })), n === ie.METHOD && ge(e)) {
1677
+ const y = new Vt(p, !0);
1641
1678
  y.exclude(1, 1, 1, Number.POSITIVE_INFINITY), y.enable();
1642
1679
  }
1643
1680
  }
1644
- J(() => {
1681
+ V(() => {
1645
1682
  if (!N) return;
1646
- const { line: p, offset: l } = C || {};
1647
- p && pt(N, p, l);
1648
- }, [C, N]), J(() => {
1683
+ const { line: p, offset: a } = f || {};
1684
+ p && At(N, p, a);
1685
+ }, [f, N]), V(() => {
1649
1686
  if (!N) return;
1650
- const { selection: p } = m || {};
1651
- p && ft(N, p);
1652
- }, [m, N]);
1653
- const k = (p) => q.includes(p) ? p : q[0];
1654
- return S ? /* @__PURE__ */ D(ve, { children: [
1655
- A ? /* @__PURE__ */ x(Ft, { lspProps: I }) : null,
1656
- /* @__PURE__ */ x(
1657
- Re,
1687
+ const { selection: p } = A || {};
1688
+ p && pt(N, p);
1689
+ }, [A, N]);
1690
+ const L = (p) => ne.includes(p) ? p : ne[0];
1691
+ return S ? /* @__PURE__ */ P(Se, { children: [
1692
+ m ? /* @__PURE__ */ k(Zt, { lspProps: I }) : null,
1693
+ /* @__PURE__ */ k(
1694
+ we,
1658
1695
  {
1659
1696
  options: {
1660
1697
  readOnly: !0,
1661
1698
  fontSize: 12,
1662
1699
  "semanticHighlighting.enabled": !0,
1663
1700
  padding: { top: 10 },
1701
+ lineNumbers: i === "4d" ? (p) => Ht({
1702
+ lineNumber: p,
1703
+ editor: N,
1704
+ type: n,
1705
+ source: s == null ? void 0 : s.source
1706
+ }) : void 0,
1707
+ scrollBeyondLastLine: !1,
1664
1708
  ...r
1665
1709
  },
1666
- path: Z(t),
1710
+ path: j(t),
1667
1711
  value: e,
1668
- theme: k(v),
1712
+ theme: L(h),
1669
1713
  onChange: (p) => o && o(p || ""),
1670
1714
  language: i,
1671
1715
  beforeMount: R,
1672
- onMount: f,
1673
- loading: /* @__PURE__ */ x(ie, {}),
1674
- ...b
1716
+ onMount: b,
1717
+ loading: /* @__PURE__ */ k(se, {}),
1718
+ ...C
1675
1719
  }
1676
1720
  )
1677
- ] }) : /* @__PURE__ */ x(ie, {});
1678
- }, Yt = {
1721
+ ] }) : /* @__PURE__ */ k(se, {});
1722
+ }, zt = {
1679
1723
  name: "4d",
1680
1724
  displayName: "%displayName%",
1681
1725
  description: "%description%",
@@ -1700,43 +1744,44 @@ const Vt = new RegExp("^[ s]+(exposed|Function)", "i"), ie = () => /* @__PURE__
1700
1744
  }
1701
1745
  ]
1702
1746
  }
1703
- }, { registerFileUrl: $, whenReady: kn } = at(Yt, void 0, {
1747
+ }, { registerFileUrl: q, whenReady: Fn } = at(zt, void 0, {
1704
1748
  system: !0
1705
1749
  });
1706
- $(
1750
+ q(
1707
1751
  "./syntaxes/4d.tmLanguage.json",
1708
1752
  new URL("data:application/json;base64,ewogICJuYW1lIjogIjREIiwKICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICJwYXR0ZXJucyI6IFsKICAgIHsKICAgICAgImluY2x1ZGUiOiAiI3N0YXRlbWVudHMiCiAgICB9CiAgXSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJzdGF0ZW1lbnRzIjogewogICAgICAicGF0dGVybnMiOiBbCiAgICAgICAgewogICAgICAgICAgImluY2x1ZGUiOiAiI2NvbW1lbnQiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgImNvbW1lbnQiOiB7CiAgICAgICJwYXR0ZXJucyI6IFsKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJjb21tZW50LmJsb2NrLjRkIiwKICAgICAgICAgICJiZWdpbiI6ICIoL1xcKikoPzpcXHMqKChAKWludGVybmFsKSg/PVxcc3woXFwqLykpKT8iLAogICAgICAgICAgImJlZ2luQ2FwdHVyZXMiOiB7CiAgICAgICAgICAgICIxIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlZmluaXRpb24uY29tbWVudC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAic3RvcmFnZS50eXBlLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICIzIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlY29yYXRvci5pbnRlcm5hbGRlY2xhcmF0aW9uLjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImVuZCI6ICJcXCovIiwKICAgICAgICAgICJlbmRDYXB0dXJlcyI6IHsKICAgICAgICAgICAgIjAiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYmVnaW4iOiAiKF5bIFxcdF0rKT8oKC8vKSg/OlxccyooKEApaW50ZXJuYWwpKD89XFxzfCQpKT8pIiwKICAgICAgICAgICJiZWdpbkNhcHR1cmVzIjogewogICAgICAgICAgICAiMSI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJwdW5jdHVhdGlvbi53aGl0ZXNwYWNlLmNvbW1lbnQubGVhZGluZy40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAiY29tbWVudC5saW5lLmRvdWJsZS1zbGFzaC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjMiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiNCI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJzdG9yYWdlLnR5cGUuaW50ZXJuYWxkZWNsYXJhdGlvbi40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjUiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVjb3JhdG9yLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZW5kIjogIig/PSQpIiwKICAgICAgICAgICJjb250ZW50TmFtZSI6ICJjb21tZW50LmxpbmUuZG91YmxlLXNsYXNoLjRkIgogICAgICAgIH0KICAgICAgXQogICAgfQogIH0KfQo=", import.meta.url).toString(),
1709
1753
  { mimeType: "application/json", size: 1592 }
1710
1754
  );
1711
- $(
1755
+ q(
1712
1756
  "./language-configuration.json",
1713
1757
  new URL("data:application/json;base64,ewogICJjb21tZW50cyI6IHsKICAgICJsaW5lQ29tbWVudCI6ICIvLyIsCiAgICAiYmxvY2tDb21tZW50IjogWyIvKioiLCAiKiovIl0KICB9LAogIC8vIHN5bWJvbHMgdXNlZCBhcyBicmFja2V0cwogICJicmFja2V0cyI6IFsKICAgIFsieyIsICJ9Il0sCiAgICBbIigiLCAiKSJdLAogICAgWyJbIiwgIl0iXQogIF0sCiAgLy8gc3ltYm9scyB0aGF0IGFyZSBhdXRvIGNsb3NlZCB3aGVuIHR5cGluZwogIC8vIHN5bWJvbHMgdGhhdCB0aGF0IGNhbiBiZSB1c2VkIHRvIHN1cnJvdW5kIGEgc2VsZWN0aW9uCiAgInN1cnJvdW5kaW5nUGFpcnMiOiBbCiAgICBbInsiLCAifSJdLAogICAgWyJbIiwgIl0iXSwKICAgIFsiKCIsICIpIl0sCiAgICBbIlwiIiwgIlwiIl0sCiAgICBbIiciLCAiJyJdCiAgXSwKICAiYXV0b0Nsb3NpbmdQYWlycyI6IFsKICAgIHsKICAgICAgIm9wZW4iOiAiKCIsCiAgICAgICJjbG9zZSI6ICIpIgogICAgfSwKICAgIHsgIm9wZW4iOiAieyIsICJjbG9zZSI6ICJ9IiB9LAogICAgeyAib3BlbiI6ICJbIiwgImNsb3NlIjogIl0iIH0sCiAgICB7ICJvcGVuIjogIiciLCAiY2xvc2UiOiAiJyIsICJub3RJbiI6IFsic3RyaW5nIiwgImNvbW1lbnQiXSB9LAogICAgeyAib3BlbiI6ICJcIiIsICJjbG9zZSI6ICJcIiIsICJub3RJbiI6IFsic3RyaW5nIl0gfSwKICAgIHsgIm9wZW4iOiAiYCIsICJjbG9zZSI6ICJgIiwgIm5vdEluIjogWyJzdHJpbmciLCAiY29tbWVudCJdIH0sCiAgICB7ICJvcGVuIjogIi8qKiIsICJjbG9zZSI6ICIgKiovIiwgIm5vdEluIjogWyJzdHJpbmciXSB9CiAgXSwKICAiYXV0b0Nsb3NlQmVmb3JlIjogIjs6Liw9fV0pPmAgXG5cdCIsCiAgIndvcmRQYXR0ZXJuIjogIigtP1xcZCpcXC5cXGRcXHcqKXwoW15cXGBcXH5cXCFcXEBcXCNcXCVcXF5cXCZcXCpcXChcXClcXC1cXD1cXCtcXFtcXHtcXF1cXH1cXFxcXFx8XFw7XFw6XFwnXFxcIlxcLFxcLlxcPFxcPlxcL1xcP1xcclxcblxcdFxcZlxcdiBdKyl8KD88PVthLXpBLVpdKSA/KD89W2EtekEtWl0pIiwKICAiaW5kZW50YXRpb25SdWxlcyI6IHsKICAgICJpbmNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGNsYXNzIGNvbnN0cnVjdG9yKSl8KF4oPyFbXlxcc10pKlxccyooZXhwb3NlZHxsb2NhbHxcXHMqKXsxfVxccypmdW5jdGlvbnsxfVxccypcXHcpfCheKD8hW15cXHNdKSpcXHMqKElmfEVsc2V8Rm9yfEZvciBlYWNofFdoaWxlfEJlZ2luIFNRTHxDYXNlIG9mfFVzZXxSZXBlYXR8OiAqXFwoLiopKS4qJCIsCiAgICAgICJmbGFncyI6ICJpIgogICAgfSwKICAgICJkZWNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGV4cG9zZWR8bG9jYWx8XFxzKil7MX1cXHMqZnVuY3Rpb257MX1cXHMqXFx3KXwoRW5kIElmfEVuZCBGb3J8RWxzZXxFbmQgZm9yIGVhY2h8RW5kIFdoaWxlfEVuZCBTUUx8RW5kIGNhc2V8RW5kIHVzZXxVbnRpbHw6ICpcXCguKikuKiQiLAogICAgICAiZmxhZ3MiOiAiaSIKICAgIH0KICB9LAogICJvbkVudGVyUnVsZXMiOiBbCiAgICB7CiAgICAgICJiZWZvcmVUZXh0IjogewogICAgICAgICJwYXR0ZXJuIjogIl5leHBvc2VkIiwKICAgICAgICAiZmxhZ3MiOiAiaSIKICAgICAgfSwKICAgICAgImFjdGlvbiI6IHsgImluZGVudCI6ICJpbmRlbnQiLCAiaW5kZW50QWN0aW9uIjogMSB9CiAgICB9CiAgXQp9Cg==", import.meta.url).toString(),
1714
1758
  { mimeType: "application/json", size: 1723 }
1715
1759
  );
1716
- $(
1760
+ q(
1717
1761
  "package.json",
1718
1762
  new URL("data:application/json;base64,ewogICJuYW1lIjogIjRkIiwKICAiZGlzcGxheU5hbWUiOiAiJWRpc3BsYXlOYW1lJSIsCiAgImRlc2NyaXB0aW9uIjogIiVkZXNjcmlwdGlvbiUiLAogICJ2ZXJzaW9uIjogIjEuMC4wIiwKICAicHVibGlzaGVyIjogInZzY29kZSIsCiAgImxpY2Vuc2UiOiAiTUlUIiwKICAiZW5naW5lcyI6IHsKICAgICJ2c2NvZGUiOiAiMC4xMC54IgogIH0sCiAgInNjcmlwdHMiOiB7CiAgICAidXBkYXRlLWdyYW1tYXIiOiAibm9kZSAuLi9ub2RlX21vZHVsZXMvdnNjb2RlLWdyYW1tYXItdXBkYXRlci9iaW4gbWljcm9zb2Z0L3ZzY29kZS00ZCBncmFtbWFycy80ZC5jc29uIC4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogIH0sCiAgImNhdGVnb3JpZXMiOiBbCiAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2VzIgogIF0sCiAgImNvbnRyaWJ1dGVzIjogewogICAgImxhbmd1YWdlcyI6IFsKICAgICAgewogICAgICAgICJpZCI6ICI0ZCIsCiAgICAgICAgImFsaWFzZXMiOiBbCiAgICAgICAgICAiNEQiLAogICAgICAgICAgIjRkIgogICAgICAgIF0sCiAgICAgICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICAgICAiLjRkbSIsCiAgICAgICAgICAiLjRxcyIKICAgICAgICBdLAogICAgICAgICJjb25maWd1cmF0aW9uIjogIi4vbGFuZ3VhZ2UtY29uZmlndXJhdGlvbi5qc29uIgogICAgICB9CiAgICBdLAogICAgImdyYW1tYXJzIjogWwogICAgICB7CiAgICAgICAgImxhbmd1YWdlIjogIjRkIiwKICAgICAgICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICAgICAgICJwYXRoIjogIi4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogICAgICB9CiAgICBdCiAgfSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJ0eXBlIjogImdpdCIsCiAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlLmdpdCIKICB9Cn0K", import.meta.url).toString(),
1719
1763
  { mimeType: "application/json", size: 1006 }
1720
1764
  );
1721
- $(
1765
+ q(
1722
1766
  "package.nls.json",
1723
1767
  new URL("data:application/json;base64,ewogICJkaXNwbGF5TmFtZSI6ICI0RCBMYW5ndWFnZSBCYXNpY3MiLAogICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyBzeW50YXggaGlnaGxpZ2h0aW5nIGFuZCBicmFja2V0IG1hdGNoaW5nIGZvciA0RE0gYW5kIDRRUyBmaWxlcy4iCn0K", import.meta.url).toString(),
1724
1768
  { mimeType: "application/json", size: 135 }
1725
1769
  );
1726
1770
  export {
1727
- Ft as Alerts,
1728
- xn as CodeEditor,
1729
- wn as CodeEditorProvider,
1730
- Nn as LSPProvider,
1731
- q as SUPPORTED_THEMES,
1732
- le as _await,
1733
- It as configureServices,
1734
- Z as getFileSystemPath,
1735
- yn as getFunctionOffset,
1736
- dt as initMonacoUserConfiguration,
1737
- pt as jumpToLine,
1738
- ft as jumpToSelection,
1739
- wt as useCodeEditor,
1740
- Rn as useLSP
1771
+ Zt as Alerts,
1772
+ Wn as CodeEditor,
1773
+ Ln as CodeEditorProvider,
1774
+ Ht as FdLineNumbers,
1775
+ xn as LSPProvider,
1776
+ ne as SUPPORTED_THEMES,
1777
+ ue as _await,
1778
+ Ct as configureServices,
1779
+ j as getFileSystemPath,
1780
+ wn as getFunctionOffset,
1781
+ It as initMonacoUserConfiguration,
1782
+ At as jumpToLine,
1783
+ pt as jumpToSelection,
1784
+ xt as useCodeEditor,
1785
+ kn as useLSP
1741
1786
  };
1742
1787
  //# sourceMappingURL=index.es.js.map