@cloudcare/codemirror-dql 0.0.27 → 0.0.29

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.
@@ -26,6 +26,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
28
  exports.MatherIn = exports.MatcherOp = void 0;
29
+ exports.createFragmentMatcher = createFragmentMatcher;
29
30
  exports.createMatcher = createMatcher;
30
31
  exports.isMatcher = isMatcher;
31
32
  var lezer_dql_1 = require("@cloudcare/lezer-dql");
@@ -33,6 +34,45 @@ var path_finder_1 = require("./path-finder");
33
34
  var types_1 = require("../types");
34
35
  exports.MatcherOp = [lezer_dql_1.EqlSingle, lezer_dql_1.Neq, lezer_dql_1.EqlRegex, lezer_dql_1.NeqRegex];
35
36
  exports.MatherIn = [lezer_dql_1.In, lezer_dql_1.NotIn];
37
+ function createFragmentMatcher(labelMatcher, state) {
38
+ var matcher = new types_1.Matcher(0, '', state.sliceDoc(labelMatcher.from, labelMatcher.to).slice(1, -1));
39
+ var binaryNode = (0, path_finder_1.walkBackward)(labelMatcher, lezer_dql_1.ComparisonExpr);
40
+ var cursor = binaryNode.cursor();
41
+ if (cursor.next()) {
42
+ do {
43
+ if (!cursor.next())
44
+ return matcher;
45
+ switch (cursor.type.id) {
46
+ case lezer_dql_1.Identifier: {
47
+ if (matcher.type === 0) {
48
+ // 这里说明是左边的,正常情况下,Identifier只能出现在左边
49
+ matcher.name = state.sliceDoc(cursor.from, cursor.to);
50
+ }
51
+ break;
52
+ }
53
+ case lezer_dql_1.StringLiteral: {
54
+ if (matcher.type === 0) {
55
+ // 这里说明是左边的,因为左边也支持写'host' = 'xxx' 这种
56
+ matcher.name = state.sliceDoc(cursor.from, cursor.to).slice(1, -1);
57
+ }
58
+ break;
59
+ }
60
+ case lezer_dql_1.Operator: {
61
+ var ope = cursor.node.firstChild;
62
+ if (ope) {
63
+ matcher.type = ope.type.id;
64
+ }
65
+ break;
66
+ }
67
+ case lezer_dql_1.InFieldValue: {
68
+ break;
69
+ }
70
+ }
71
+ cursor.parent(); //回到上一层
72
+ } while (cursor.nextSibling());
73
+ }
74
+ return matcher;
75
+ }
36
76
  function createMatcher(labelMatcher, state) {
37
77
  var matcher = new types_1.Matcher(0, '', state.sliceDoc(labelMatcher.from, labelMatcher.to).slice(1, -1));
38
78
  var binaryNode = (0, path_finder_1.walkBackward)(labelMatcher, lezer_dql_1.BinaryExpr);
@@ -1 +1 @@
1
- {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../../src/parser/matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../../src/parser/matcher.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { snippet } from '@codemirror/autocomplete';
2
2
  import { syntaxTree } from '@codemirror/language';
3
- import { containsChild, isMatcher, walkBackward, getChildNodeText, createMatcher, walkBackwardAtLeasQuerytNode } from '../parser';
4
- import { Order, SOrder, Limit, Slimit, Asc, Desc, In, NotIn, By, And, Or, DQL, EvalCallBody, ArgItem, Identifier, EqlSingle, StringLiteral, Number, RollupIdentifier, FunctionCallBody, Pow, Mul, Div, Mod, Add, Sub, Eql, Gte, Gtr, Lte, Lss, InValue, AsExpr, Query, Namespace, IndexExpr, IndexItem, DataSourceList, DataSourceItem, Star, Projection, ProjectionItem, ProjectionField, FieldName, FilterClause, Having, SingleHavingExpr, FilterExpr, InFieldValue, BinaryExpr, DColon, Neq, DAnd, DOr, EqlRegex, NeqRegex, LimitClause, TimeClause, TimeRange, TimeExpr, ByClause, ByListExpr, OrderClause, OffsetClause, SLimitClause, SOffsetClause, SOrderClause, OuterFunctionCallBody, ShowIdentifier, } from '@cloudcare/lezer-dql';
3
+ import { containsChild, isMatcher, walkBackward, getChildNodeText, createMatcher, walkBackwardAtLeasQuerytNode, createFragmentMatcher, } from '../parser';
4
+ import { Order, SOrder, Limit, Slimit, Asc, Desc, In, NotIn, By, And, Or, DQL, EvalCallBody, ArgItem, Identifier, EqlSingle, StringLiteral, Number, RollupIdentifier, FunctionCallBody, Pow, Mul, Div, Mod, Add, Sub, Eql, Gte, Gtr, Lte, Lss, InValue, AsExpr, ComparisonExpr, Query, Namespace, IndexExpr, IndexItem, DataSourceList, DataSourceItem, Star, Projection, ProjectionFragment, ProjectionItem, ProjectionItemFragment, ProjectionField, ProjectionFieldFragment, FieldName, FilterClause, Having, SingleHavingExpr, FilterExpr, InFieldValue, BinaryExpr, DColon, Neq, DAnd, DOr, EqlRegex, NeqRegex, LimitClause, TimeClause, TimeRange, TimeExpr, ByClause, ByListExpr, OrderClause, OffsetClause, SLimitClause, SOffsetClause, SOrderClause, OuterFunctionCallBody, ShowIdentifier, DataSourceListFragment, DataSourceItemFragment, } from '@cloudcare/lezer-dql';
5
5
  import { functionIdentifierTerms, matchOpTerms, binOpTerms, durationTerms, snippets, connectOpTerms, rollupFuncTerms } from './dql.terms';
6
6
  const autocompleteNodes = {
7
7
  matchOp: matchOpTerms,
@@ -145,6 +145,7 @@ function getNodeDocByExpr(tree, state, finder) {
145
145
  return state.sliceDoc(currentNode.from, currentNode.to);
146
146
  }
147
147
  function getNamespaceByQuery(tree, state) {
148
+ console.log('getNamespaceByQuery', tree.toString(), state);
148
149
  let currentNode = walkBackward(tree, Query);
149
150
  if (!currentNode) {
150
151
  // Weird case that shouldn't happen, because "VectorSelector" is by definition the parent of the LabelMatchers.
@@ -196,7 +197,7 @@ function getSourceListByQuery(tree, state) {
196
197
  const matcherSourceTypes = [Identifier, StringLiteral];
197
198
  currentNode.cursor().iterate((node) => {
198
199
  // Continue until we find the VectorSelector, then look up the metric name.
199
- if (node.type.id === DataSourceItem) {
200
+ if (node.type.id === DataSourceItem || node.type.id === DataSourceItemFragment) {
200
201
  matcherSourceTypes.forEach((type) => {
201
202
  const childNode = node.node.getChild(type);
202
203
  if (childNode && type === StringLiteral) {
@@ -223,9 +224,9 @@ function getProjectFields(tree, state) {
223
224
  let projectFields = [];
224
225
  const matcherSourceTypes = [Identifier, StringLiteral];
225
226
  currentNode.cursor().iterate((node) => {
226
- var _a, _b;
227
+ var _a, _b, _c, _d;
227
228
  // Continue until we find the VectorSelector, then look up the metric name.
228
- if (((_a = node.node.parent) === null || _a === void 0 ? void 0 : _a.type.id) === ProjectionField && node.type.id === FieldName) {
229
+ if ((((_a = node.node.parent) === null || _a === void 0 ? void 0 : _a.type.id) === ProjectionField || ((_b = node.node.parent) === null || _b === void 0 ? void 0 : _b.type.id) === ProjectionFieldFragment) && node.type.id === FieldName) {
229
230
  matcherSourceTypes.forEach((type) => {
230
231
  const childNode = node.node.getChild(type);
231
232
  if (childNode && type === StringLiteral) {
@@ -237,11 +238,12 @@ function getProjectFields(tree, state) {
237
238
  });
238
239
  return false;
239
240
  }
240
- else if (node.type.id === Star && ((_b = node.node.parent) === null || _b === void 0 ? void 0 : _b.type.id) === ProjectionItem) {
241
+ else if (node.type.id === Star && (((_c = node.node.parent) === null || _c === void 0 ? void 0 : _c.type.id) === ProjectionItem || ((_d = node.node.parent) === null || _d === void 0 ? void 0 : _d.type.id) === ProjectionItemFragment)) {
241
242
  projectFields.push('*');
242
243
  return false;
243
244
  }
244
- else if (node.type.id === ArgItem && walkBackwardAtLeasQuerytNode(node.node, ProjectionField)) {
245
+ else if (node.type.id === ArgItem &&
246
+ (walkBackwardAtLeasQuerytNode(node.node, ProjectionField) || walkBackwardAtLeasQuerytNode(node.node, ProjectionFieldFragment))) {
245
247
  matcherSourceTypes.forEach((type) => {
246
248
  const childNode = node.node.getChild(type);
247
249
  if (childNode && type === StringLiteral) {
@@ -265,9 +267,9 @@ function getProjectAsFields(tree, state) {
265
267
  let projectFields = [];
266
268
  const matcherSourceTypes = [Identifier, StringLiteral];
267
269
  currentNode.cursor().iterate((node) => {
268
- var _a;
270
+ var _a, _b;
269
271
  // Continue until we find the VectorSelector, then look up the metric name.
270
- if (((_a = node.node.parent) === null || _a === void 0 ? void 0 : _a.type.id) === ProjectionField && node.type.id === AsExpr) {
272
+ if ((((_a = node.node.parent) === null || _a === void 0 ? void 0 : _a.type.id) === ProjectionField || ((_b = node.node.parent) === null || _b === void 0 ? void 0 : _b.type.id) === ProjectionFieldFragment) && node.type.id === AsExpr) {
271
273
  matcherSourceTypes.forEach((type) => {
272
274
  const childNode = node.node.getChild(type);
273
275
  if (childNode && type === StringLiteral) {
@@ -286,7 +288,7 @@ function getProjectAsFields(tree, state) {
286
288
  // The value of the autocompletion is then calculate by the function buildCompletion.
287
289
  // Note: this method is exported for testing purpose only. Do not use it directly.
288
290
  export function analyzeCompletion(state, node, pos) {
289
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
291
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
290
292
  const result = [];
291
293
  const currentText = state.doc.slice(node.from, pos).toString();
292
294
  console.log(`currentText: ${currentText}`, 'nodeName: ', node.type.name, (_a = node.parent) === null || _a === void 0 ? void 0 : _a.type.name);
@@ -316,10 +318,12 @@ export function analyzeCompletion(state, node, pos) {
316
318
  result.push({ kind: ContextKind.Index, Namespace: getNamespaceByQuery(node, state) });
317
319
  break;
318
320
  }
321
+ case DataSourceListFragment:
319
322
  case DataSourceList: {
320
323
  result.push({ kind: ContextKind.DataSource, Namespace: getNamespaceByQuery(node, state), Index: getIndexsByQuery(node, state) });
321
324
  break;
322
325
  }
326
+ case ProjectionFragment:
323
327
  case Projection: {
324
328
  if (node.firstChild === null) {
325
329
  result.push({
@@ -369,7 +373,7 @@ export function analyzeCompletion(state, node, pos) {
369
373
  break;
370
374
  }
371
375
  case Star: {
372
- if (((_c = node.parent) === null || _c === void 0 ? void 0 : _c.type.id) === ProjectionItem) {
376
+ if (((_c = node.parent) === null || _c === void 0 ? void 0 : _c.type.id) === ProjectionItem || ((_d = node.parent) === null || _d === void 0 ? void 0 : _d.type.id) === ProjectionItemFragment) {
373
377
  result.push({
374
378
  kind: ContextKind.FieldName,
375
379
  Namespace: getNamespaceByQuery(node, state),
@@ -378,7 +382,7 @@ export function analyzeCompletion(state, node, pos) {
378
382
  isProjectField: true,
379
383
  });
380
384
  }
381
- else if (((_d = node.parent) === null || _d === void 0 ? void 0 : _d.type.id) === DataSourceItem) {
385
+ else if (((_e = node.parent) === null || _e === void 0 ? void 0 : _e.type.id) === DataSourceItem || ((_f = node.parent) === null || _f === void 0 ? void 0 : _f.type.id) === DataSourceItemFragment) {
382
386
  result.push({
383
387
  kind: ContextKind.DataSource,
384
388
  Namespace: getNamespaceByQuery(node, state),
@@ -390,7 +394,7 @@ export function analyzeCompletion(state, node, pos) {
390
394
  case Identifier: {
391
395
  // Identifier is the root node of the DQL language
392
396
  // It can be used to complete the namespace, index, datasource, fieldname, fieldvalue
393
- if (((_e = node.parent) === null || _e === void 0 ? void 0 : _e.type.id) === Namespace) {
397
+ if (((_g = node.parent) === null || _g === void 0 ? void 0 : _g.type.id) === Namespace) {
394
398
  const queryNode = walkBackward(node, Query);
395
399
  if (queryNode === null || queryNode === void 0 ? void 0 : queryNode.getChildren(DColon).length) {
396
400
  //
@@ -408,9 +412,9 @@ export function analyzeCompletion(state, node, pos) {
408
412
  });
409
413
  }
410
414
  }
411
- else if (((_f = node.parent) === null || _f === void 0 ? void 0 : _f.type.id) === FieldName) {
415
+ else if (((_h = node.parent) === null || _h === void 0 ? void 0 : _h.type.id) === FieldName) {
412
416
  // L::xxx:(avg(), host)
413
- const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField);
417
+ const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField) || !!walkBackwardAtLeasQuerytNode(node, ProjectionFieldFragment);
414
418
  result.push({
415
419
  kind: ContextKind.FieldName,
416
420
  Namespace: getNamespaceByQuery(node, state),
@@ -418,7 +422,7 @@ export function analyzeCompletion(state, node, pos) {
418
422
  DataSource: getSourceListByQuery(node, state),
419
423
  isProjectField,
420
424
  });
421
- if (((_h = (_g = node.parent) === null || _g === void 0 ? void 0 : _g.parent) === null || _h === void 0 ? void 0 : _h.type.id) === SingleHavingExpr) {
425
+ if (((_k = (_j = node.parent) === null || _j === void 0 ? void 0 : _j.parent) === null || _k === void 0 ? void 0 : _k.type.id) === SingleHavingExpr) {
422
426
  result.push({
423
427
  kind: ContextKind.Custom,
424
428
  values: getProjectAsFields(node, state),
@@ -428,9 +432,9 @@ export function analyzeCompletion(state, node, pos) {
428
432
  result.push({ kind: ContextKind.Function });
429
433
  }
430
434
  }
431
- else if (((_j = node.parent) === null || _j === void 0 ? void 0 : _j.type.id) === ArgItem) {
435
+ else if (((_l = node.parent) === null || _l === void 0 ? void 0 : _l.type.id) === ArgItem) {
432
436
  //Avg(xxx)
433
- const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField);
437
+ const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField) || !!walkBackwardAtLeasQuerytNode(node, ProjectionFieldFragment);
434
438
  result.push({
435
439
  kind: ContextKind.FieldName,
436
440
  Namespace: getNamespaceByQuery(node, state),
@@ -439,20 +443,20 @@ export function analyzeCompletion(state, node, pos) {
439
443
  isProjectField,
440
444
  });
441
445
  }
442
- else if (((_k = node.parent) === null || _k === void 0 ? void 0 : _k.type.id) === IndexItem) {
446
+ else if (((_m = node.parent) === null || _m === void 0 ? void 0 : _m.type.id) === IndexItem) {
443
447
  result.push({
444
448
  kind: ContextKind.Index,
445
449
  Namespace: getNamespaceByQuery(node, state),
446
450
  });
447
451
  }
448
- else if (((_l = node.parent) === null || _l === void 0 ? void 0 : _l.type.id) === DataSourceItem) {
452
+ else if (((_o = node.parent) === null || _o === void 0 ? void 0 : _o.type.id) === DataSourceItem || ((_p = node.parent) === null || _p === void 0 ? void 0 : _p.type.id) === DataSourceItemFragment) {
449
453
  result.push({
450
454
  kind: ContextKind.DataSource,
451
455
  Namespace: getNamespaceByQuery(node, state),
452
456
  Index: getIndexsByQuery(node, state),
453
457
  }, { kind: ContextKind.Function });
454
458
  }
455
- else if (((_m = node.parent) === null || _m === void 0 ? void 0 : _m.type.id) === FilterExpr) {
459
+ else if (((_q = node.parent) === null || _q === void 0 ? void 0 : _q.type.id) === FilterExpr) {
456
460
  result.push({
457
461
  kind: ContextKind.FieldName,
458
462
  Namespace: getNamespaceByQuery(node, state),
@@ -465,8 +469,8 @@ export function analyzeCompletion(state, node, pos) {
465
469
  });
466
470
  }
467
471
  }
468
- else if (((_o = node.parent) === null || _o === void 0 ? void 0 : _o.type.id) === 0) {
469
- if (((_q = (_p = node.parent) === null || _p === void 0 ? void 0 : _p.parent) === null || _q === void 0 ? void 0 : _q.type.id) === TimeRange) {
472
+ else if (((_r = node.parent) === null || _r === void 0 ? void 0 : _r.type.id) === 0) {
473
+ if (((_t = (_s = node.parent) === null || _s === void 0 ? void 0 : _s.parent) === null || _t === void 0 ? void 0 : _t.type.id) === TimeRange) {
470
474
  result.push({
471
475
  kind: ContextKind.RollupFunc,
472
476
  });
@@ -478,20 +482,20 @@ export function analyzeCompletion(state, node, pos) {
478
482
  break;
479
483
  }
480
484
  case StringLiteral: {
481
- if (((_r = node.parent) === null || _r === void 0 ? void 0 : _r.type.id) === IndexItem) {
485
+ if (((_u = node.parent) === null || _u === void 0 ? void 0 : _u.type.id) === IndexItem) {
482
486
  result.push({
483
487
  kind: ContextKind.Index,
484
488
  Namespace: getNamespaceByQuery(node, state),
485
489
  });
486
490
  }
487
- else if (((_s = node.parent) === null || _s === void 0 ? void 0 : _s.type.id) === DataSourceItem) {
491
+ else if (((_v = node.parent) === null || _v === void 0 ? void 0 : _v.type.id) === DataSourceItem || ((_w = node.parent) === null || _w === void 0 ? void 0 : _w.type.id) === DataSourceItemFragment) {
488
492
  result.push({
489
493
  kind: ContextKind.DataSource,
490
494
  Namespace: getNamespaceByQuery(node, state),
491
495
  Index: getIndexsByQuery(node, state),
492
496
  });
493
497
  }
494
- else if (((_t = node.parent) === null || _t === void 0 ? void 0 : _t.type.id) === InFieldValue) {
498
+ else if (((_x = node.parent) === null || _x === void 0 ? void 0 : _x.type.id) === InFieldValue) {
495
499
  if (isMatcher(node)) {
496
500
  result.push({
497
501
  kind: ContextKind.FieldValue,
@@ -502,9 +506,19 @@ export function analyzeCompletion(state, node, pos) {
502
506
  projectFields: getProjectFields(node, state),
503
507
  });
504
508
  }
509
+ else if (((_z = (_y = node.parent) === null || _y === void 0 ? void 0 : _y.parent) === null || _z === void 0 ? void 0 : _z.type.id) === ComparisonExpr) {
510
+ result.push({
511
+ kind: ContextKind.FieldValue,
512
+ Namespace: getNamespaceByQuery(node, state),
513
+ Index: getIndexsByQuery(node, state),
514
+ DataSource: getSourceListByQuery(node, state),
515
+ matcher: createFragmentMatcher(node, state),
516
+ projectFields: getProjectFields(node, state),
517
+ });
518
+ }
505
519
  }
506
- else if (((_u = node.parent) === null || _u === void 0 ? void 0 : _u.type.id) === FieldName) {
507
- const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField);
520
+ else if (((_0 = node.parent) === null || _0 === void 0 ? void 0 : _0.type.id) === FieldName) {
521
+ const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField) || !!walkBackwardAtLeasQuerytNode(node, ProjectionFieldFragment);
508
522
  result.push({
509
523
  kind: ContextKind.FieldName,
510
524
  Namespace: getNamespaceByQuery(node, state),
@@ -513,7 +527,17 @@ export function analyzeCompletion(state, node, pos) {
513
527
  isProjectField,
514
528
  });
515
529
  }
516
- else if (((_v = node.parent) === null || _v === void 0 ? void 0 : _v.type.id) === FilterExpr) {
530
+ else if (((_1 = node.parent) === null || _1 === void 0 ? void 0 : _1.type.id) === ComparisonExpr) {
531
+ result.push({
532
+ kind: ContextKind.FieldValue,
533
+ Namespace: getNamespaceByQuery(node, state),
534
+ Index: getIndexsByQuery(node, state),
535
+ DataSource: getSourceListByQuery(node, state),
536
+ matcher: createFragmentMatcher(node, state),
537
+ projectFields: getProjectFields(node, state),
538
+ });
539
+ }
540
+ else if (((_2 = node.parent) === null || _2 === void 0 ? void 0 : _2.type.id) === FilterExpr) {
517
541
  if (isMatcher(node)) {
518
542
  result.push({
519
543
  kind: ContextKind.FieldValue,
@@ -525,7 +549,7 @@ export function analyzeCompletion(state, node, pos) {
525
549
  });
526
550
  }
527
551
  else {
528
- const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField);
552
+ const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField) || !!walkBackwardAtLeasQuerytNode(node, ProjectionFieldFragment);
529
553
  result.push({
530
554
  kind: ContextKind.FieldName,
531
555
  Namespace: getNamespaceByQuery(node, state),
@@ -535,8 +559,8 @@ export function analyzeCompletion(state, node, pos) {
535
559
  });
536
560
  }
537
561
  }
538
- else if (((_w = node.parent) === null || _w === void 0 ? void 0 : _w.type.id) === ArgItem) {
539
- const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField);
562
+ else if (((_3 = node.parent) === null || _3 === void 0 ? void 0 : _3.type.id) === ArgItem) {
563
+ const isProjectField = !!walkBackwardAtLeasQuerytNode(node, ProjectionField) || !!walkBackwardAtLeasQuerytNode(node, ProjectionFieldFragment);
540
564
  result.push({
541
565
  kind: ContextKind.FieldName,
542
566
  Namespace: getNamespaceByQuery(node, state),
@@ -548,7 +572,7 @@ export function analyzeCompletion(state, node, pos) {
548
572
  break;
549
573
  }
550
574
  case Number: {
551
- if (((_x = node.parent) === null || _x === void 0 ? void 0 : _x.type.id) === TimeExpr) {
575
+ if (((_4 = node.parent) === null || _4 === void 0 ? void 0 : _4.type.id) === TimeExpr) {
552
576
  result.push({
553
577
  kind: ContextKind.Duration,
554
578
  });
@@ -694,7 +718,7 @@ export class HybridComplete {
694
718
  let asyncResult = Promise.resolve([]);
695
719
  let completeSnippet = false;
696
720
  let span = true;
697
- console.log('====contexts', JSON.stringify(contexts));
721
+ console.log('====contexts', JSON.stringify(contexts), context, state, pos);
698
722
  for (const context of contexts) {
699
723
  switch (context.kind) {
700
724
  case ContextKind.Namespace: {
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../../src/complete/hybrid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../../src/complete/hybrid.ts"],"names":[],"mappings":"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"}
package/dist/esm/dql.d.ts CHANGED
@@ -3,7 +3,12 @@ import { LRLanguage } from '@codemirror/language';
3
3
  import { CompleteStrategy } from './complete';
4
4
  import { DQLClient } from './client';
5
5
  import { LintStrategy } from './lint';
6
- export declare function DQLLanguage(): LRLanguage;
6
+ export declare enum LanguageType {
7
+ DQL = "DQL",
8
+ DQLFragment = "DQLFragment",
9
+ DQLConditions = "DQLConditions"
10
+ }
11
+ export declare function DQLLanguage(top: LanguageType): LRLanguage;
7
12
  export declare class DQLExtension {
8
13
  private complete;
9
14
  private lint;
@@ -16,5 +21,5 @@ export declare class DQLExtension {
16
21
  setLinter(linter: LintStrategy): DQLExtension;
17
22
  getLinter(): LintStrategy;
18
23
  activateLinter(activate: boolean): DQLExtension;
19
- asExtension(): Extension;
24
+ asExtension(languageType?: LanguageType): Extension;
20
25
  }
package/dist/esm/dql.js CHANGED
@@ -2,9 +2,15 @@ import { parser } from '@cloudcare/lezer-dql';
2
2
  import { LRLanguage } from '@codemirror/language';
3
3
  import { newCompleteStrategy } from './complete';
4
4
  import { newLintStrategy, DQLLinter } from './lint';
5
- export function DQLLanguage() {
5
+ export var LanguageType;
6
+ (function (LanguageType) {
7
+ LanguageType["DQL"] = "DQL";
8
+ LanguageType["DQLFragment"] = "DQLFragment";
9
+ LanguageType["DQLConditions"] = "DQLConditions";
10
+ })(LanguageType || (LanguageType = {}));
11
+ export function DQLLanguage(top) {
6
12
  return LRLanguage.define({
7
- parser: parser,
13
+ parser: parser.configure({ top: top }),
8
14
  languageData: {
9
15
  closeBrackets: { brackets: ['(', '[', '{', "'", '"', '`'] },
10
16
  commentTokens: { line: '#' },
@@ -40,8 +46,8 @@ export class DQLExtension {
40
46
  this.enableLinter = activate;
41
47
  return this;
42
48
  }
43
- asExtension() {
44
- const language = DQLLanguage();
49
+ asExtension(languageType = LanguageType.DQL) {
50
+ const language = DQLLanguage(languageType);
45
51
  let extension = [language];
46
52
  if (this.enableCompletion) {
47
53
  const completion = language.data.of({
@@ -52,7 +58,7 @@ export class DQLExtension {
52
58
  extension = extension.concat(completion);
53
59
  }
54
60
  if (this.enableLinter) {
55
- extension = extension.concat(DQLLinter(this.lint.promQL, this.lint));
61
+ extension = extension.concat(DQLLinter(this.lint.DQL, this.lint));
56
62
  }
57
63
  return extension;
58
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dql.js","sourceRoot":"","sources":["../../src/dql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAoB,MAAM,YAAY,CAAC;AAEnE,OAAO,EAAgB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClE,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM;QACd,YAAY,EAAE;YACZ,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;YAC3D,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;SAC7B;KACF,CAAC,CAAC;AACL,CAAC;AACD,MAAM,OAAO,YAAY;IAMvB;QACE,IAAI,CAAC,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,QAAmB;QAC7B,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,kBAAkB,CAAC,QAAiB;QAClC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,MAAoB;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,QAAiB;QAC9B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,IAAI,SAAS,GAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,YAAY,EAAE,CAAC,OAA0B,EAAE,EAAE;oBAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;aACF,CAAC,CAAC;YACH,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"dql.js","sourceRoot":"","sources":["../../src/dql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAoB,MAAM,YAAY,CAAC;AAEnE,OAAO,EAAgB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClE,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;AACjC,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AACD,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC3C,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACtC,YAAY,EAAE;YACZ,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;YAC3D,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;SAC7B;KACF,CAAC,CAAC;AACL,CAAC;AACD,MAAM,OAAO,YAAY;IAMvB;QACE,IAAI,CAAC,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,QAAmB;QAC7B,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,kBAAkB,CAAC,QAAiB;QAClC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,MAAoB;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,QAAiB;QAC9B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG;QACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,YAAY,EAAE,CAAC,OAA0B,EAAE,EAAE;oBAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;aACF,CAAC,CAAC;YACH,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- export { DQLExtension, DQLLanguage } from './dql';
1
+ export { DQLExtension, DQLLanguage, LanguageType } from './dql';
2
2
  export { baseTheme, darkDqlHighlighter, lightTheme, darkTheme, dqlHighlighter } from './theme';
3
3
  export type { LintStrategy } from './lint';
4
4
  export { newCompleteStrategy } from './complete';
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { DQLExtension, DQLLanguage } from './dql';
1
+ export { DQLExtension, DQLLanguage, LanguageType } from './dql';
2
2
  export { baseTheme, darkDqlHighlighter, lightTheme, darkTheme, dqlHighlighter } from './theme';
3
3
  export { newCompleteStrategy } from './complete';
4
4
  export { Matcher } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
@@ -2,5 +2,5 @@ import { LintStrategy } from './index';
2
2
  import { EditorView } from '@codemirror/view';
3
3
  import { Diagnostic } from '@codemirror/lint';
4
4
  export declare class HybridLint implements LintStrategy {
5
- promQL(this: HybridLint): (view: EditorView) => readonly Diagnostic[];
5
+ DQL(this: HybridLint): (view: EditorView) => readonly Diagnostic[];
6
6
  }
@@ -1,7 +1,6 @@
1
1
  import { Parser } from '../parser';
2
- // HybridLint will provide a promQL linter with static analysis
3
2
  export class HybridLint {
4
- promQL() {
3
+ DQL() {
5
4
  return (view) => {
6
5
  const parser = new Parser(view.state);
7
6
  parser.analyze();