@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.
- package/dist/cjs/complete/hybrid.js +56 -32
- package/dist/cjs/complete/hybrid.js.map +1 -1
- package/dist/cjs/dql.d.ts +7 -2
- package/dist/cjs/dql.js +13 -6
- package/dist/cjs/dql.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lint/hybrid.d.ts +1 -1
- package/dist/cjs/lint/hybrid.js +1 -2
- package/dist/cjs/lint/hybrid.js.map +1 -1
- package/dist/cjs/lint/index.d.ts +1 -1
- package/dist/cjs/parser/index.d.ts +1 -1
- package/dist/cjs/parser/index.js +2 -1
- package/dist/cjs/parser/index.js.map +1 -1
- package/dist/cjs/parser/matcher.d.ts +1 -0
- package/dist/cjs/parser/matcher.js +40 -0
- package/dist/cjs/parser/matcher.js.map +1 -1
- package/dist/esm/complete/hybrid.js +58 -34
- package/dist/esm/complete/hybrid.js.map +1 -1
- package/dist/esm/dql.d.ts +7 -2
- package/dist/esm/dql.js +11 -5
- package/dist/esm/dql.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lint/hybrid.d.ts +1 -1
- package/dist/esm/lint/hybrid.js +1 -2
- package/dist/esm/lint/hybrid.js.map +1 -1
- package/dist/esm/lint/index.d.ts +1 -1
- package/dist/esm/parser/index.d.ts +1 -1
- package/dist/esm/parser/index.js +1 -1
- package/dist/esm/parser/index.js.map +1 -1
- package/dist/esm/parser/matcher.d.ts +1 -0
- package/dist/esm/parser/matcher.js +40 -1
- package/dist/esm/parser/matcher.js.map +1 -1
- package/package.json +3 -3
|
@@ -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
|
|
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"}
|
package/dist/esm/lint/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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';
|
package/dist/esm/parser/index.js
CHANGED
|
@@ -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;
|
|
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":"AACA,OAAO,EACL,QAAQ,EACR,SAAS,EAET,GAAG,EACH,QAAQ,EACR,EAAE,EACF,KAAK,EACL,aAAa,EACb,UAAU,EAEV,YAAY,EACZ,UAAU,EACV,UAAU,
|
|
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.
|
|
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.
|
|
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": "
|
|
57
|
+
"gitHead": "55d2be8d6e1cfce8c59fdd44a0791fd4b08d396b"
|
|
58
58
|
}
|