@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.
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../../src/lint/hybrid.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,+DAA+D;AAC/D,MAAM,OAAO,UAAU;IACd,MAAM;QACX,OAAO,CAAC,IAAgB,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../../src/lint/hybrid.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,MAAM,OAAO,UAAU;IACd,GAAG;QACR,OAAO,CAAC,IAAgB,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -3,7 +3,7 @@ import { Diagnostic } from '@codemirror/lint';
3
3
  import { Extension } from '@codemirror/state';
4
4
  type lintFunc = (view: EditorView) => readonly Diagnostic[] | Promise<readonly Diagnostic[]>;
5
5
  export interface LintStrategy {
6
- promQL(this: LintStrategy): lintFunc;
6
+ DQL(this: LintStrategy): lintFunc;
7
7
  }
8
8
  export declare function newLintStrategy(): LintStrategy;
9
9
  export declare function DQLLinter(callbackFunc: (this: LintStrategy) => lintFunc, thisArg: LintStrategy): Extension;
@@ -1,3 +1,3 @@
1
1
  export { walkBackward, containsAtLeastOneChild, containsChild, getChildNodeText, walkBackwardAtLeasQuerytNode } from './path-finder';
2
- export { isMatcher, createMatcher } from './matcher';
2
+ export { isMatcher, createMatcher, createFragmentMatcher } from './matcher';
3
3
  export { Parser } from './parser';
@@ -1,4 +1,4 @@
1
1
  export { walkBackward, containsAtLeastOneChild, containsChild, getChildNodeText, walkBackwardAtLeasQuerytNode } from './path-finder';
2
- export { isMatcher, createMatcher } from './matcher';
2
+ export { isMatcher, createMatcher, createFragmentMatcher } from './matcher';
3
3
  export { Parser } from './parser';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AACrI,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AACrI,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -3,5 +3,6 @@ import { EditorState } from '@codemirror/state';
3
3
  import { Matcher } from '../types';
4
4
  export declare const MatcherOp: number[];
5
5
  export declare const MatherIn: number[];
6
+ export declare function createFragmentMatcher(labelMatcher: SyntaxNode, state: EditorState): Matcher;
6
7
  export declare function createMatcher(labelMatcher: SyntaxNode, state: EditorState): Matcher;
7
8
  export declare function isMatcher(node: SyntaxNode): boolean;
@@ -1,8 +1,47 @@
1
- import { EqlRegex, EqlSingle, Neq, NeqRegex, In, NotIn, StringLiteral, Identifier, InFieldValue, FilterExpr, BinaryExpr, } from '@cloudcare/lezer-dql';
1
+ import { EqlRegex, EqlSingle, Neq, NeqRegex, In, NotIn, StringLiteral, Identifier, InFieldValue, FilterExpr, BinaryExpr, ComparisonExpr, Operator, } from '@cloudcare/lezer-dql';
2
2
  import { walkBackward } from './path-finder';
3
3
  import { Matcher } from '../types';
4
4
  export const MatcherOp = [EqlSingle, Neq, EqlRegex, NeqRegex];
5
5
  export const MatherIn = [In, NotIn];
6
+ export function createFragmentMatcher(labelMatcher, state) {
7
+ const matcher = new Matcher(0, '', state.sliceDoc(labelMatcher.from, labelMatcher.to).slice(1, -1));
8
+ const binaryNode = walkBackward(labelMatcher, ComparisonExpr);
9
+ const cursor = binaryNode.cursor();
10
+ if (cursor.next()) {
11
+ do {
12
+ if (!cursor.next())
13
+ return matcher;
14
+ switch (cursor.type.id) {
15
+ case Identifier: {
16
+ if (matcher.type === 0) {
17
+ // 这里说明是左边的,正常情况下,Identifier只能出现在左边
18
+ matcher.name = state.sliceDoc(cursor.from, cursor.to);
19
+ }
20
+ break;
21
+ }
22
+ case StringLiteral: {
23
+ if (matcher.type === 0) {
24
+ // 这里说明是左边的,因为左边也支持写'host' = 'xxx' 这种
25
+ matcher.name = state.sliceDoc(cursor.from, cursor.to).slice(1, -1);
26
+ }
27
+ break;
28
+ }
29
+ case Operator: {
30
+ const ope = cursor.node.firstChild;
31
+ if (ope) {
32
+ matcher.type = ope.type.id;
33
+ }
34
+ break;
35
+ }
36
+ case InFieldValue: {
37
+ break;
38
+ }
39
+ }
40
+ cursor.parent(); //回到上一层
41
+ } while (cursor.nextSibling());
42
+ }
43
+ return matcher;
44
+ }
6
45
  export function createMatcher(labelMatcher, state) {
7
46
  const matcher = new Matcher(0, '', state.sliceDoc(labelMatcher.from, labelMatcher.to).slice(1, -1));
8
47
  const binaryNode = walkBackward(labelMatcher, 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudcare/codemirror-dql",
3
- "version": "0.0.27",
3
+ "version": "0.0.29",
4
4
  "description": "a CodeMirror mode for the DQL language",
5
5
  "types": "dist/esm/index.d.ts",
6
6
  "module": "dist/esm/index.js",
@@ -23,7 +23,7 @@
23
23
  ],
24
24
  "license": "Apache-2.0",
25
25
  "dependencies": {
26
- "@cloudcare/lezer-dql": "0.0.27"
26
+ "@cloudcare/lezer-dql": "0.0.29"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@codemirror/autocomplete": "^6.18.6",
@@ -54,5 +54,5 @@
54
54
  "engines": {
55
55
  "node": ">=12.0.0"
56
56
  },
57
- "gitHead": "db86999f922d2a4ead322b6feddbd2c26059a917"
57
+ "gitHead": "55d2be8d6e1cfce8c59fdd44a0791fd4b08d396b"
58
58
  }