@lzehrung/codegraph 2.3.23 → 2.3.25
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/README.md +1 -1
- package/codegraph-skill/codegraph/SKILL.md +2 -2
- package/dist/bin/cli.js +3475 -1655
- package/dist/bin/query-index-worker.js +569 -229
- package/dist/cli/command-table.d.ts.map +1 -1
- package/dist/cli/command-table.js +1 -5
- package/dist/cli/command-table.js.map +1 -1
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/context.js +7 -4
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/doctor.d.ts +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +8 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/invocation-context.d.ts +2 -1
- package/dist/cli/invocation-context.d.ts.map +1 -1
- package/dist/cli/invocation-context.js +13 -0
- package/dist/cli/invocation-context.js.map +1 -1
- package/dist/document-links/asciidoc.d.ts.map +1 -1
- package/dist/document-links/asciidoc.js +33 -0
- package/dist/document-links/asciidoc.js.map +1 -1
- package/dist/document-links/language-ids.d.ts +10 -0
- package/dist/document-links/language-ids.d.ts.map +1 -0
- package/dist/document-links/language-ids.js +15 -0
- package/dist/document-links/language-ids.js.map +1 -0
- package/dist/document-links/markdown.d.ts.map +1 -1
- package/dist/document-links/markdown.js +103 -21
- package/dist/document-links/markdown.js.map +1 -1
- package/dist/document-links/shared.d.ts.map +1 -1
- package/dist/document-links/shared.js +1 -0
- package/dist/document-links/shared.js.map +1 -1
- package/dist/document-links.d.ts +1 -3
- package/dist/document-links.d.ts.map +1 -1
- package/dist/document-links.js +1 -8
- package/dist/document-links.js.map +1 -1
- package/dist/duplicates/unit-cache.d.ts +4 -3
- package/dist/duplicates/unit-cache.d.ts.map +1 -1
- package/dist/duplicates/unit-cache.js +17 -7
- package/dist/duplicates/unit-cache.js.map +1 -1
- package/dist/duplicates/units.d.ts +2 -1
- package/dist/duplicates/units.d.ts.map +1 -1
- package/dist/duplicates/units.js +77 -16
- package/dist/duplicates/units.js.map +1 -1
- package/dist/graphs/edge-resolution.d.ts.map +1 -1
- package/dist/graphs/edge-resolution.js +3 -0
- package/dist/graphs/edge-resolution.js.map +1 -1
- package/dist/graphs/external/stdlib.d.ts.map +1 -1
- package/dist/graphs/external/stdlib.js +18 -11
- package/dist/graphs/external/stdlib.js.map +1 -1
- package/dist/graphs/specifiers.d.ts +3 -2
- package/dist/graphs/specifiers.d.ts.map +1 -1
- package/dist/graphs/specifiers.js +76 -39
- package/dist/graphs/specifiers.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
- package/dist/indexer/build-cache/options.d.ts +8 -2
- package/dist/indexer/build-cache/options.d.ts.map +1 -1
- package/dist/indexer/build-cache/options.js +10 -2
- package/dist/indexer/build-cache/options.js.map +1 -1
- package/dist/indexer/build-cache/reports.d.ts.map +1 -1
- package/dist/indexer/build-cache/reports.js +29 -21
- package/dist/indexer/build-cache/reports.js.map +1 -1
- package/dist/indexer/expand-star-imports.d.ts.map +1 -1
- package/dist/indexer/expand-star-imports.js +8 -3
- package/dist/indexer/expand-star-imports.js.map +1 -1
- package/dist/indexer/imports/language-specific.d.ts.map +1 -1
- package/dist/indexer/imports/language-specific.js +166 -32
- package/dist/indexer/imports/language-specific.js.map +1 -1
- package/dist/indexer/imports/native-captures.d.ts.map +1 -1
- package/dist/indexer/imports/native-captures.js +4 -3
- package/dist/indexer/imports/native-captures.js.map +1 -1
- package/dist/indexer/imports/python.d.ts +2 -0
- package/dist/indexer/imports/python.d.ts.map +1 -1
- package/dist/indexer/imports/python.js +113 -8
- package/dist/indexer/imports/python.js.map +1 -1
- package/dist/indexer/imports.d.ts.map +1 -1
- package/dist/indexer/imports.js +25 -12
- package/dist/indexer/imports.js.map +1 -1
- package/dist/indexer/locals-and-exports.d.ts.map +1 -1
- package/dist/indexer/locals-and-exports.js +153 -38
- package/dist/indexer/locals-and-exports.js.map +1 -1
- package/dist/indexer/navigation-goto.js +1 -1
- package/dist/indexer/navigation-goto.js.map +1 -1
- package/dist/indexer/scope-types.d.ts +1 -1
- package/dist/indexer/scope-types.d.ts.map +1 -1
- package/dist/indexer/scope.d.ts.map +1 -1
- package/dist/indexer/scope.js +43 -2
- package/dist/indexer/scope.js.map +1 -1
- package/dist/languages/definitions/c-family.d.ts +5 -0
- package/dist/languages/definitions/c-family.d.ts.map +1 -1
- package/dist/languages/definitions/c-family.js +27 -6
- package/dist/languages/definitions/c-family.js.map +1 -1
- package/dist/languages/definitions/c.d.ts.map +1 -1
- package/dist/languages/definitions/c.js +5 -0
- package/dist/languages/definitions/c.js.map +1 -1
- package/dist/languages/definitions/cpp.d.ts.map +1 -1
- package/dist/languages/definitions/cpp.js +41 -3
- package/dist/languages/definitions/cpp.js.map +1 -1
- package/dist/languages/definitions/csharp.d.ts.map +1 -1
- package/dist/languages/definitions/csharp.js +52 -21
- package/dist/languages/definitions/csharp.js.map +1 -1
- package/dist/languages/definitions/go.d.ts.map +1 -1
- package/dist/languages/definitions/go.js +10 -7
- package/dist/languages/definitions/go.js.map +1 -1
- package/dist/languages/definitions/html-stub.d.ts +6 -7
- package/dist/languages/definitions/html-stub.d.ts.map +1 -1
- package/dist/languages/definitions/html-stub.js +6 -7
- package/dist/languages/definitions/html-stub.js.map +1 -1
- package/dist/languages/definitions/html.js +13 -13
- package/dist/languages/definitions/html.js.map +1 -1
- package/dist/languages/definitions/java.d.ts.map +1 -1
- package/dist/languages/definitions/java.js +6 -0
- package/dist/languages/definitions/java.js.map +1 -1
- package/dist/languages/definitions/javascript.d.ts.map +1 -1
- package/dist/languages/definitions/javascript.js +48 -30
- package/dist/languages/definitions/javascript.js.map +1 -1
- package/dist/languages/definitions/kotlin.d.ts.map +1 -1
- package/dist/languages/definitions/kotlin.js +49 -61
- package/dist/languages/definitions/kotlin.js.map +1 -1
- package/dist/languages/definitions/php.js +1 -1
- package/dist/languages/definitions/php.js.map +1 -1
- package/dist/languages/definitions/python.d.ts.map +1 -1
- package/dist/languages/definitions/python.js +85 -20
- package/dist/languages/definitions/python.js.map +1 -1
- package/dist/languages/definitions/ruby.d.ts.map +1 -1
- package/dist/languages/definitions/ruby.js +13 -11
- package/dist/languages/definitions/ruby.js.map +1 -1
- package/dist/languages/definitions/rust.d.ts.map +1 -1
- package/dist/languages/definitions/rust.js +22 -5
- package/dist/languages/definitions/rust.js.map +1 -1
- package/dist/languages/definitions/scss.d.ts.map +1 -1
- package/dist/languages/definitions/scss.js +21 -17
- package/dist/languages/definitions/scss.js.map +1 -1
- package/dist/languages/definitions/sql.js +1 -1
- package/dist/languages/definitions/sql.js.map +1 -1
- package/dist/languages/definitions/swift.d.ts.map +1 -1
- package/dist/languages/definitions/swift.js +66 -16
- package/dist/languages/definitions/swift.js.map +1 -1
- package/dist/languages/definitions/typescript.d.ts.map +1 -1
- package/dist/languages/definitions/typescript.js +30 -9
- package/dist/languages/definitions/typescript.js.map +1 -1
- package/dist/languages/definitions/zig.d.ts.map +1 -1
- package/dist/languages/definitions/zig.js +26 -5
- package/dist/languages/definitions/zig.js.map +1 -1
- package/dist/languages/import-statement-parsers.d.ts +14 -1
- package/dist/languages/import-statement-parsers.d.ts.map +1 -1
- package/dist/languages/import-statement-parsers.js +473 -45
- package/dist/languages/import-statement-parsers.js.map +1 -1
- package/dist/languages/types.d.ts +11 -0
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages.d.ts +1 -0
- package/dist/languages.d.ts.map +1 -1
- package/dist/languages.js +9 -2
- package/dist/languages.js.map +1 -1
- package/dist/native/backend-report-format.d.ts +4 -0
- package/dist/native/backend-report-format.d.ts.map +1 -0
- package/dist/native/backend-report-format.js +14 -0
- package/dist/native/backend-report-format.js.map +1 -0
- package/dist/native/contracts.d.ts +2 -0
- package/dist/native/contracts.d.ts.map +1 -1
- package/dist/util/comments.js +1 -1
- package/dist/util/comments.js.map +1 -1
- package/dist/util/member-access.d.ts +1 -1
- package/dist/util/member-access.d.ts.map +1 -1
- package/dist/util/member-access.js +5 -2
- package/dist/util/member-access.js.map +1 -1
- package/dist/util/project-files.js +1 -1
- package/dist/util/project-files.js.map +1 -1
- package/dist/util/resolution/rust.d.ts +8 -1
- package/dist/util/resolution/rust.d.ts.map +1 -1
- package/dist/util/resolution/rust.js +521 -7
- package/dist/util/resolution/rust.js.map +1 -1
- package/dist/util/resolution-candidates.d.ts +1 -1
- package/dist/util/resolution-candidates.d.ts.map +1 -1
- package/dist/util/resolution-candidates.js +11 -8
- package/dist/util/resolution-candidates.js.map +1 -1
- package/dist/util/resolution.d.ts +5 -0
- package/dist/util/resolution.d.ts.map +1 -1
- package/dist/util/resolution.js +18 -7
- package/dist/util/resolution.js.map +1 -1
- package/dist/util/rust-test-modules.d.ts.map +1 -1
- package/dist/util/rust-test-modules.js +2 -5
- package/dist/util/rust-test-modules.js.map +1 -1
- package/dist/util/specifiers.d.ts +8 -0
- package/dist/util/specifiers.d.ts.map +1 -1
- package/dist/util/specifiers.js +33 -7
- package/dist/util/specifiers.js.map +1 -1
- package/package.json +3 -3
|
@@ -2,17 +2,17 @@ import { registerLanguage } from "../registry.js";
|
|
|
2
2
|
import { ECMASCRIPT_CONTROL_SPLIT_POINTS, ECMASCRIPT_CORE_FUNCTION_BLOCKS, ECMASCRIPT_MODULE_VAR_BLOCKS, } from "./js-family.js";
|
|
3
3
|
const JS_OBJECT_METHOD_EXPORT_PATTERN = `
|
|
4
4
|
;; CJS: module.exports = { helper () {} }
|
|
5
|
-
(expression_statement (assignment_expression
|
|
5
|
+
((expression_statement (assignment_expression
|
|
6
6
|
left: (member_expression object: (identifier) @mod property: (property_identifier) @prop)
|
|
7
7
|
right: (object (pair key: (property_identifier) @cjs_export_name value: (function_declaration) @cjs_fn))))
|
|
8
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
8
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
9
9
|
`;
|
|
10
10
|
const JS_OBJECT_METHOD_EXPORT_NATIVE_PATTERN = `
|
|
11
11
|
;; CJS: module.exports = { helper () {} }
|
|
12
|
-
(expression_statement (assignment_expression
|
|
12
|
+
((expression_statement (assignment_expression
|
|
13
13
|
left: (member_expression object: (identifier) @mod property: (property_identifier) @prop)
|
|
14
14
|
right: (object (method_definition name: (property_identifier) @cjs_export_name) @cjs_fn)))
|
|
15
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
15
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
16
16
|
`;
|
|
17
17
|
export const JAVASCRIPT_DEF = {
|
|
18
18
|
id: "js",
|
|
@@ -45,58 +45,63 @@ export const JAVASCRIPT_DEF = {
|
|
|
45
45
|
(export_statement (export_clause (export_specifier name: (identifier) @src alias: (identifier) @alias)))
|
|
46
46
|
(export_statement (export_clause (export_specifier name: (identifier) @src !alias)))
|
|
47
47
|
(export_statement (string) @from)
|
|
48
|
-
(
|
|
48
|
+
;; CJS whole-module export: module.exports = function () {} / = () => {}
|
|
49
|
+
((expression_statement (assignment_expression
|
|
50
|
+
left: (member_expression object: (identifier) @mod property: (property_identifier) @cjs_export_name)
|
|
51
|
+
right: [ (function) (arrow_function) ] @cjs_fn))
|
|
52
|
+
(#eq? @mod "module") (#eq? @cjs_export_name "exports"))
|
|
53
|
+
((expression_statement (assignment_expression
|
|
49
54
|
left: (member_expression object: (identifier) @mod property: (property_identifier) @prop)
|
|
50
55
|
right: (object (shorthand_property_identifier) @cjs_shorthand)))
|
|
51
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
56
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
52
57
|
;; CJS spread export: module.exports = { ...base }
|
|
53
58
|
((expression_statement (assignment_expression
|
|
54
59
|
left: (member_expression object: (identifier) @mod property: (property_identifier) @prop)
|
|
55
60
|
right: (object (spread_element (identifier) @cjs_spread))) @stmt)
|
|
56
61
|
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
57
|
-
(expression_statement (assignment_expression
|
|
62
|
+
((expression_statement (assignment_expression
|
|
58
63
|
left: (member_expression object: (identifier) @mod property: (property_identifier) @prop)
|
|
59
64
|
right: (object (pair key: (property_identifier) @cjs_export_name value: (identifier) @cjs_local))))
|
|
60
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
61
|
-
(expression_statement (assignment_expression
|
|
65
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
66
|
+
((expression_statement (assignment_expression
|
|
62
67
|
left: (member_expression object: (member_expression object: (identifier) @mod property: (property_identifier) @prop) property: (property_identifier) @cjs_export_name)
|
|
63
68
|
right: (identifier) @cjs_local))
|
|
64
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
65
|
-
(expression_statement (assignment_expression
|
|
69
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
70
|
+
((expression_statement (assignment_expression
|
|
66
71
|
left: (member_expression object: (identifier) @exp property: (property_identifier) @cjs_export_name)
|
|
67
72
|
right: (identifier) @cjs_local))
|
|
68
|
-
(#eq? @exp "exports")
|
|
73
|
+
(#eq? @exp "exports"))
|
|
69
74
|
;; CJS function/arrow direct exports
|
|
70
|
-
(expression_statement (assignment_expression
|
|
75
|
+
((expression_statement (assignment_expression
|
|
71
76
|
left: (member_expression object: (member_expression object: (identifier) @mod property: (property_identifier) @prop) property: (property_identifier) @cjs_export_name)
|
|
72
77
|
right: (function) @cjs_fn))
|
|
73
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
74
|
-
(expression_statement (assignment_expression
|
|
78
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
79
|
+
((expression_statement (assignment_expression
|
|
75
80
|
left: (member_expression object: (member_expression object: (identifier) @mod property: (property_identifier) @prop) property: (property_identifier) @cjs_export_name)
|
|
76
81
|
right: (arrow_function) @cjs_fn))
|
|
77
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
78
|
-
(expression_statement (assignment_expression
|
|
82
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
83
|
+
((expression_statement (assignment_expression
|
|
79
84
|
left: (member_expression object: (identifier) @exp property: (property_identifier) @cjs_export_name)
|
|
80
85
|
right: (function) @cjs_fn))
|
|
81
|
-
(#eq? @exp "exports")
|
|
82
|
-
(expression_statement (assignment_expression
|
|
86
|
+
(#eq? @exp "exports"))
|
|
87
|
+
((expression_statement (assignment_expression
|
|
83
88
|
left: (member_expression object: (identifier) @exp property: (property_identifier) @cjs_export_name)
|
|
84
89
|
right: (arrow_function) @cjs_fn))
|
|
85
|
-
(#eq? @exp "exports")
|
|
90
|
+
(#eq? @exp "exports"))
|
|
86
91
|
;; CJS object export with function value
|
|
87
|
-
(expression_statement (assignment_expression
|
|
92
|
+
((expression_statement (assignment_expression
|
|
88
93
|
left: (member_expression object: (identifier) @mod property: (property_identifier) @prop)
|
|
89
94
|
right: (object (pair key: (property_identifier) @cjs_export_name value: (function) @cjs_fn))))
|
|
90
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
91
|
-
(expression_statement (assignment_expression
|
|
95
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
96
|
+
((expression_statement (assignment_expression
|
|
92
97
|
left: (member_expression object: (identifier) @mod property: (property_identifier) @prop)
|
|
93
98
|
right: (object (pair key: (property_identifier) @cjs_export_name value: (arrow_function) @cjs_fn))))
|
|
94
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
99
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
95
100
|
;; CJS: module.exports = { helper () {} }
|
|
96
|
-
(expression_statement (assignment_expression
|
|
101
|
+
((expression_statement (assignment_expression
|
|
97
102
|
left: (member_expression object: (identifier) @mod property: (property_identifier) @prop)
|
|
98
103
|
right: (object (pair key: (property_identifier) @cjs_export_name value: (function_declaration) @cjs_fn))))
|
|
99
|
-
(#eq? @mod "module") (#eq? @prop "exports")
|
|
104
|
+
(#eq? @mod "module") (#eq? @prop "exports"))
|
|
100
105
|
`,
|
|
101
106
|
locals: `
|
|
102
107
|
(function_declaration name: (identifier) @name)
|
|
@@ -110,10 +115,12 @@ export const JAVASCRIPT_DEF = {
|
|
|
110
115
|
(import_statement (string) @from) @stmt
|
|
111
116
|
(import_statement (import_clause (identifier) @def) (string) @from) @stmt
|
|
112
117
|
(import_statement (import_clause (named_imports (import_specifier name: (identifier) @iname alias: (identifier) @alias))) (string) @from) @stmt
|
|
113
|
-
(import_statement (import_clause (named_imports (import_specifier name: (identifier) @iname))) (string) @from) @stmt
|
|
118
|
+
(import_statement (import_clause (named_imports (import_specifier name: (identifier) @iname !alias))) (string) @from) @stmt
|
|
114
119
|
(import_statement (import_clause (namespace_import (identifier) @ns)) (string) @from) @stmt
|
|
115
|
-
(lexical_declaration (variable_declarator name:(identifier) @def value: (call_expression (identifier) @req arguments: (arguments (string) @from))))
|
|
116
|
-
|
|
120
|
+
((lexical_declaration (variable_declarator name:(identifier) @def value: (call_expression (identifier) @req arguments: (arguments (string) @from))))
|
|
121
|
+
(#eq? @req "require"))
|
|
122
|
+
((lexical_declaration (variable_declarator (object_pattern) @pattern value: (call_expression (identifier) @req arguments: (arguments (string) @from))))
|
|
123
|
+
(#eq? @req "require"))
|
|
117
124
|
`,
|
|
118
125
|
},
|
|
119
126
|
nodeTypes: {
|
|
@@ -130,6 +137,8 @@ export const JAVASCRIPT_DEF = {
|
|
|
130
137
|
return "function";
|
|
131
138
|
if (t === "method_definition")
|
|
132
139
|
return "function";
|
|
140
|
+
if (t === "function" || t === "function_expression")
|
|
141
|
+
return "function";
|
|
133
142
|
if (t === "class_declaration")
|
|
134
143
|
return "class";
|
|
135
144
|
return "variable";
|
|
@@ -148,9 +157,18 @@ export const JAVASCRIPT_DEF = {
|
|
|
148
157
|
// Method names in classes: needed so that editing a method name is
|
|
149
158
|
// classified as a definition change, not an unrecognised node.
|
|
150
159
|
"method_definition",
|
|
160
|
+
// A named function expression binds its own name; `$scope.x = function x() {}` and
|
|
161
|
+
// `const f = function inner() {}` are the common shapes.
|
|
162
|
+
"function",
|
|
163
|
+
"function_expression",
|
|
151
164
|
].includes(p));
|
|
152
165
|
},
|
|
153
|
-
|
|
166
|
+
// Scope construction has no structural handling for a function expression's own name.
|
|
167
|
+
scopeDeclarationNames: (node) => {
|
|
168
|
+
const parent = node.parent?.type;
|
|
169
|
+
return parent === "function" || parent === "function_expression";
|
|
170
|
+
},
|
|
171
|
+
createsBlockScope: (n) => n.type === "program" || n.type === "block" || n.type === "class_body" || n.type === "class_static_block",
|
|
154
172
|
createsFunctionScope: (n) => n.type === "function_declaration" ||
|
|
155
173
|
n.type === "generator_function_declaration" ||
|
|
156
174
|
n.type === "function" ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/languages/definitions/javascript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAExB,MAAM,+BAA+B,GAAG;;;;;;CAMvC,CAAC;AAEF,MAAM,sCAAsC,GAAG;;;;;;CAM9C,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3C,4BAA4B,EAAE,IAAI;IAClC,SAAS,EAAE;QACT,MAAM,EAAE,CAAC,GAAG,+BAA+B,EAAE,GAAG,4BAA4B,CAAC;QAC7E,WAAW,EAAE,CAAC,GAAG,+BAA+B,CAAC;QACjD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,KAAK,EAAE;QACL,OAAO,EAAE;;;;;;KAMR;QACD,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/languages/definitions/javascript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kotlin.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/kotlin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"kotlin.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/kotlin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,UAAU,EAAE,kBA0HxB,CAAC"}
|
|
@@ -1,52 +1,33 @@
|
|
|
1
1
|
import { registerLanguage } from "../registry.js";
|
|
2
|
-
function normalizeKotlinNativeQuery(kind, query) {
|
|
3
|
-
if (kind === "imports") {
|
|
4
|
-
return `
|
|
5
|
-
(import (qualified_identifier) @mod) @stmt
|
|
6
|
-
`;
|
|
7
|
-
}
|
|
8
|
-
if (kind === "importBindings") {
|
|
9
|
-
return `
|
|
10
|
-
(import (qualified_identifier) @from (identifier) @alias) @stmt
|
|
11
|
-
(import (qualified_identifier) @from "*" @wild) @stmt
|
|
12
|
-
(import (qualified_identifier) @from) @stmt
|
|
13
|
-
`;
|
|
14
|
-
}
|
|
15
|
-
const normalized = query
|
|
16
|
-
.replace(/\bimport_header\b/g, "import")
|
|
17
|
-
.replace(/\bsimple_identifier\b/g, "identifier")
|
|
18
|
-
.replace(/\btype_identifier\b/g, "identifier");
|
|
19
|
-
return normalized;
|
|
20
|
-
}
|
|
21
2
|
export const KOTLIN_DEF = {
|
|
22
3
|
id: "kotlin",
|
|
23
|
-
extensions: [".kt", ".kts"],
|
|
4
|
+
extensions: [".kt", ".kts", ".ktm"],
|
|
24
5
|
usesQueryDrivenLocals: true,
|
|
25
6
|
structure: {
|
|
26
7
|
blocks: [
|
|
27
8
|
{
|
|
28
9
|
type: "class_declaration",
|
|
29
|
-
nameQuery: "(
|
|
10
|
+
nameQuery: "(identifier) @chunk.name",
|
|
30
11
|
captureId: "class",
|
|
31
12
|
},
|
|
32
13
|
{
|
|
33
14
|
type: "object_declaration",
|
|
34
|
-
nameQuery: "(
|
|
15
|
+
nameQuery: "(identifier) @chunk.name",
|
|
35
16
|
captureId: "object",
|
|
36
17
|
},
|
|
37
18
|
{
|
|
38
19
|
type: "function_declaration",
|
|
39
|
-
nameQuery: "(
|
|
20
|
+
nameQuery: "(identifier) @chunk.name",
|
|
40
21
|
captureId: "function",
|
|
41
22
|
},
|
|
42
23
|
{
|
|
43
24
|
type: "property_declaration",
|
|
44
|
-
nameQuery: "(variable_declaration (
|
|
25
|
+
nameQuery: "(variable_declaration (identifier) @chunk.name)",
|
|
45
26
|
captureId: "property",
|
|
46
27
|
},
|
|
47
28
|
{
|
|
48
29
|
type: "type_alias",
|
|
49
|
-
nameQuery: "(
|
|
30
|
+
nameQuery: "(identifier) @chunk.name",
|
|
50
31
|
captureId: "type",
|
|
51
32
|
},
|
|
52
33
|
],
|
|
@@ -64,36 +45,47 @@ export const KOTLIN_DEF = {
|
|
|
64
45
|
},
|
|
65
46
|
graph: {
|
|
66
47
|
imports: `
|
|
67
|
-
(
|
|
48
|
+
(import (qualified_identifier) @mod) @stmt
|
|
68
49
|
`,
|
|
69
50
|
exports: `
|
|
70
|
-
(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
51
|
+
(source_file
|
|
52
|
+
[
|
|
53
|
+
(class_declaration name: (identifier) @name)
|
|
54
|
+
(object_declaration name: (identifier) @name)
|
|
55
|
+
(function_declaration name: (identifier) @name)
|
|
56
|
+
(property_declaration (variable_declaration (identifier) @name))
|
|
57
|
+
(type_alias type: (identifier) @name)
|
|
58
|
+
])
|
|
59
|
+
(class_body
|
|
60
|
+
[
|
|
61
|
+
(class_declaration name: (identifier) @name)
|
|
62
|
+
(object_declaration name: (identifier) @name)
|
|
63
|
+
(function_declaration name: (identifier) @name)
|
|
64
|
+
(property_declaration (variable_declaration (identifier) @name))
|
|
65
|
+
(type_alias type: (identifier) @name)
|
|
66
|
+
])
|
|
67
|
+
(enum_class_body (enum_entry (identifier) @name))
|
|
76
68
|
`,
|
|
77
69
|
locals: `
|
|
78
|
-
(class_declaration (
|
|
79
|
-
(object_declaration (
|
|
80
|
-
(function_declaration (
|
|
81
|
-
(property_declaration (variable_declaration (
|
|
82
|
-
(type_alias (
|
|
83
|
-
(enum_entry (
|
|
84
|
-
(parameter (
|
|
85
|
-
(class_parameter (
|
|
86
|
-
(type_parameter (
|
|
70
|
+
(class_declaration name: (identifier) @name)
|
|
71
|
+
(object_declaration name: (identifier) @name)
|
|
72
|
+
(function_declaration name: (identifier) @name)
|
|
73
|
+
(property_declaration (variable_declaration (identifier) @name))
|
|
74
|
+
(type_alias type: (identifier) @name)
|
|
75
|
+
(enum_entry (identifier) @name)
|
|
76
|
+
(parameter (identifier) @name)
|
|
77
|
+
(class_parameter (identifier) @name)
|
|
78
|
+
(type_parameter (identifier) @name)
|
|
87
79
|
`,
|
|
88
80
|
importBindings: `
|
|
89
|
-
(
|
|
90
|
-
(
|
|
91
|
-
(
|
|
81
|
+
(import (qualified_identifier) @from (identifier) @alias) @stmt
|
|
82
|
+
(import (qualified_identifier) @from ("*") @wild) @stmt
|
|
83
|
+
(import (qualified_identifier) @from) @stmt
|
|
92
84
|
`,
|
|
93
85
|
},
|
|
94
86
|
nodeTypes: {
|
|
95
|
-
identifier: ["identifier"
|
|
96
|
-
propertyIdentifier: ["
|
|
87
|
+
identifier: ["identifier"],
|
|
88
|
+
propertyIdentifier: ["identifier"],
|
|
97
89
|
memberExpression: "navigation_expression",
|
|
98
90
|
},
|
|
99
91
|
classifyDefinition: (node) => {
|
|
@@ -112,23 +104,23 @@ export const KOTLIN_DEF = {
|
|
|
112
104
|
const parent = node.parent;
|
|
113
105
|
if (!parent)
|
|
114
106
|
return false;
|
|
115
|
-
if (parent.type === "class_declaration" && node.type === "
|
|
107
|
+
if (parent.type === "class_declaration" && node.type === "identifier")
|
|
116
108
|
return true;
|
|
117
|
-
if (parent.type === "object_declaration" && node.type === "
|
|
109
|
+
if (parent.type === "object_declaration" && node.type === "identifier")
|
|
118
110
|
return true;
|
|
119
|
-
if (parent.type === "function_declaration" &&
|
|
111
|
+
if (parent.type === "function_declaration" && node.type === "identifier")
|
|
120
112
|
return true;
|
|
121
|
-
if (parent.type === "type_alias" && node.type === "
|
|
113
|
+
if (parent.type === "type_alias" && node.type === "identifier")
|
|
122
114
|
return true;
|
|
123
|
-
if (parent.type === "variable_declaration" && node.type === "
|
|
115
|
+
if (parent.type === "variable_declaration" && node.type === "identifier")
|
|
124
116
|
return true;
|
|
125
|
-
if (parent.type === "parameter" &&
|
|
117
|
+
if (parent.type === "parameter" && node.type === "identifier")
|
|
126
118
|
return true;
|
|
127
|
-
if (parent.type === "class_parameter" &&
|
|
119
|
+
if (parent.type === "class_parameter" && node.type === "identifier")
|
|
128
120
|
return true;
|
|
129
|
-
if (parent.type === "enum_entry" &&
|
|
121
|
+
if (parent.type === "enum_entry" && node.type === "identifier")
|
|
130
122
|
return true;
|
|
131
|
-
if (parent.type === "type_parameter" && node.type === "
|
|
123
|
+
if (parent.type === "type_parameter" && node.type === "identifier")
|
|
132
124
|
return true;
|
|
133
125
|
return false;
|
|
134
126
|
},
|
|
@@ -136,15 +128,11 @@ export const KOTLIN_DEF = {
|
|
|
136
128
|
createsFunctionScope: (node) => node.type === "function_declaration" || node.type === "anonymous_function" || node.type === "lambda_literal",
|
|
137
129
|
createsBlockScope: (node) => node.type === "function_body" ||
|
|
138
130
|
node.type === "class_body" ||
|
|
139
|
-
node.type === "
|
|
131
|
+
node.type === "block" ||
|
|
140
132
|
node.type === "catch_block" ||
|
|
141
133
|
node.type === "finally_block",
|
|
142
134
|
supportsCrossModuleSymbols: true,
|
|
143
|
-
|
|
144
|
-
normalizeQuery: normalizeKotlinNativeQuery,
|
|
145
|
-
authoritativeKinds: ["imports", "importBindings", "exports", "locals"],
|
|
146
|
-
notes: ["normalizes kotlin import and identifier node names for the native grammar"],
|
|
147
|
-
},
|
|
135
|
+
exportScopeBlockers: ["function_body", "lambda_literal", "anonymous_function"],
|
|
148
136
|
};
|
|
149
137
|
registerLanguage(KOTLIN_DEF);
|
|
150
138
|
//# sourceMappingURL=kotlin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kotlin.js","sourceRoot":"","sources":["../../../src/languages/definitions/kotlin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"kotlin.js","sourceRoot":"","sources":["../../../src/languages/definitions/kotlin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"php.js","sourceRoot":"","sources":["../../../src/languages/definitions/php.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,OAAO,GAAuB;IACzC,EAAE,EAAE,KAAK;IACT,UAAU,EAAE,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"php.js","sourceRoot":"","sources":["../../../src/languages/definitions/php.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,aAAa,CAAC;AAuBtE,eAAO,MAAM,UAAU,EAAE,kBAmLxB,CAAC"}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
1
|
import { registerLanguage } from "../registry.js";
|
|
2
2
|
import { hasNonAsciiCodePoint } from "../../util/identifiers.js";
|
|
3
|
+
function isTypeAliasLeftName(node) {
|
|
4
|
+
const parent = node.parent;
|
|
5
|
+
if (!parent)
|
|
6
|
+
return false;
|
|
7
|
+
if (parent.type === "type") {
|
|
8
|
+
const stmt = parent.parent;
|
|
9
|
+
return stmt?.type === "type_alias_statement" && stmt.childForFieldName("left")?.id === parent.id;
|
|
10
|
+
}
|
|
11
|
+
if (parent.type === "generic_type") {
|
|
12
|
+
const typeNode = parent.parent;
|
|
13
|
+
const stmt = typeNode?.parent;
|
|
14
|
+
return (typeNode?.type === "type" &&
|
|
15
|
+
stmt?.type === "type_alias_statement" &&
|
|
16
|
+
stmt.childForFieldName("left")?.id === typeNode.id);
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
3
20
|
export const PYTHON_DEF = {
|
|
4
21
|
id: "python",
|
|
5
|
-
extensions: [".py", ".pyi"],
|
|
22
|
+
extensions: [".py", ".pyi", ".pyw"],
|
|
6
23
|
usesQueryDrivenLocals: true,
|
|
7
24
|
structure: {
|
|
8
25
|
blocks: [
|
|
@@ -26,9 +43,14 @@ export const PYTHON_DEF = {
|
|
|
26
43
|
// Top level assignments
|
|
27
44
|
{
|
|
28
45
|
type: "assignment",
|
|
29
|
-
nameQuery: "left: (identifier) @chunk.name",
|
|
46
|
+
nameQuery: "left: [(identifier) @chunk.name (pattern_list (identifier) @chunk.name) (tuple_pattern (identifier) @chunk.name)]",
|
|
30
47
|
captureId: "module_var",
|
|
31
48
|
},
|
|
49
|
+
{
|
|
50
|
+
type: "type_alias_statement",
|
|
51
|
+
nameQuery: "left: (type [(identifier) @chunk.name (generic_type (identifier) @chunk.name)])",
|
|
52
|
+
captureId: "type",
|
|
53
|
+
},
|
|
32
54
|
// Imports
|
|
33
55
|
{ type: "import_statement", captureId: "imports" },
|
|
34
56
|
{ type: "import_from_statement", captureId: "imports" },
|
|
@@ -55,35 +77,60 @@ export const PYTHON_DEF = {
|
|
|
55
77
|
// This is a known limitation - such patterns are rare in practice.
|
|
56
78
|
exports: `
|
|
57
79
|
;; __all__ = ["a", "b"] - simple list assignment
|
|
58
|
-
(assignment left: (identifier) @left right: (list (string)
|
|
80
|
+
(module (expression_statement (assignment left: (identifier) @left right: (list (string) @all_item)) @stmt))
|
|
59
81
|
;; __all__ = ("a", "b") - tuple assignment
|
|
60
|
-
(assignment left: (identifier) @left right: (tuple (string)
|
|
82
|
+
(module (expression_statement (assignment left: (identifier) @left right: (tuple (string) @all_item)) @stmt))
|
|
61
83
|
;; __all__ = ["a"] + ["b"] - concatenation (captures strings in both sides)
|
|
62
|
-
(assignment left: (identifier) @left right: (binary_operator (list (string)
|
|
63
|
-
(assignment left: (identifier) @left right: (binary_operator right: (list (string)
|
|
84
|
+
(module (expression_statement (assignment left: (identifier) @left right: (binary_operator (list (string) @all_item))) @stmt))
|
|
85
|
+
(module (expression_statement (assignment left: (identifier) @left right: (binary_operator right: (list (string) @all_item))) @stmt))
|
|
64
86
|
;; __all__.extend(["a"]) - extend pattern
|
|
65
|
-
(expression_statement (call function: (attribute object: (identifier) @left attribute: (identifier) @method) arguments: (argument_list (list (string)
|
|
87
|
+
(module (expression_statement (call function: (attribute object: (identifier) @left attribute: (identifier) @method) arguments: (argument_list (list (string) @all_item)))) @stmt)
|
|
66
88
|
;; __all__.append("a") - append pattern
|
|
67
|
-
(expression_statement (call function: (attribute object: (identifier) @left attribute: (identifier) @method) arguments: (argument_list (string) @all_item))) @stmt
|
|
89
|
+
(module (expression_statement (call function: (attribute object: (identifier) @left attribute: (identifier) @method) arguments: (argument_list (string) @all_item))) @stmt)
|
|
68
90
|
;; __all__ += ["a"] - augmented assignment
|
|
69
|
-
(augmented_assignment left: (identifier) @left right: (list (string)
|
|
70
|
-
|
|
71
|
-
(
|
|
72
|
-
(
|
|
91
|
+
(module (expression_statement (augmented_assignment left: (identifier) @left right: (list (string) @all_item)) @stmt))
|
|
92
|
+
;; An empty static list or tuple still defines an explicit export set.
|
|
93
|
+
(module (expression_statement (assignment left: (identifier) @left right: [(list) (tuple)]) @stmt))
|
|
94
|
+
(module (function_definition name: (identifier) @name))
|
|
95
|
+
(module (class_definition name: (identifier) @name))
|
|
96
|
+
(module (decorated_definition (function_definition name: (identifier) @name)))
|
|
97
|
+
(module (decorated_definition (class_definition name: (identifier) @name)))
|
|
98
|
+
(module (expression_statement (assignment left: (identifier) @name)))
|
|
99
|
+
(module (expression_statement (assignment left: [(pattern_list (identifier) @name) (tuple_pattern (identifier) @name)])))
|
|
100
|
+
(module (expression_statement (named_expression name: (identifier) @name)))
|
|
101
|
+
(module (type_alias_statement left: (type [(identifier) @name (generic_type (identifier) @name)])))
|
|
102
|
+
(class_definition body: (block (function_definition name: (identifier) @name)))
|
|
103
|
+
(class_definition body: (block (class_definition name: (identifier) @name)))
|
|
104
|
+
(class_definition body: (block (decorated_definition (function_definition name: (identifier) @name))))
|
|
105
|
+
(class_definition body: (block (decorated_definition (class_definition name: (identifier) @name))))
|
|
106
|
+
(class_definition body: (block (expression_statement (assignment left: (identifier) @name))))
|
|
107
|
+
(class_definition body: (block (expression_statement (assignment left: [(pattern_list (identifier) @name) (tuple_pattern (identifier) @name)]))))
|
|
108
|
+
(class_definition body: (block (expression_statement (named_expression name: (identifier) @name))))
|
|
109
|
+
(class_definition body: (block (type_alias_statement left: (type [(identifier) @name (generic_type (identifier) @name)]))))
|
|
73
110
|
`,
|
|
74
111
|
locals: `
|
|
75
112
|
(function_definition name: (identifier) @name)
|
|
76
113
|
(class_definition name: (identifier) @name)
|
|
77
114
|
(assignment left: (identifier) @name)
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
115
|
+
(assignment left: [(pattern_list (identifier) @name) (tuple_pattern (identifier) @name)])
|
|
116
|
+
(named_expression name: (identifier) @name)
|
|
117
|
+
(type_alias_statement left: (type [(identifier) @name (generic_type (identifier) @name)]))
|
|
118
|
+
;; \`case Point(x=px, y=py):\` is case_pattern -> class_pattern ->
|
|
119
|
+
;; case_pattern -> keyword_pattern. The binding is the dotted_name child;
|
|
120
|
+
;; the left-hand attribute is a bare identifier and must not be captured.
|
|
121
|
+
;; Anchoring to the first and last (named) child restricts the match to a
|
|
122
|
+
;; single-segment dotted_name, so a qualified value like \`x=module.CONST\`
|
|
123
|
+
;; does not create locals for \`module\` or \`CONST\`.
|
|
124
|
+
(keyword_pattern (dotted_name . (identifier) @name .))
|
|
81
125
|
;; A bare identifier in a case pattern is represented as a single-name
|
|
82
126
|
;; dotted_name inside a case_pattern. Nested tuple/list/or patterns
|
|
83
|
-
;; preserve this shape for each capture.
|
|
84
|
-
|
|
127
|
+
;; preserve this shape for each capture. The same anchor keeps a qualified
|
|
128
|
+
;; value pattern such as \`case module.CONST:\` from creating locals.
|
|
129
|
+
(case_pattern (dotted_name . (identifier) @name .))
|
|
85
130
|
;; \`case value as alias:\` binds the direct identifier child as its alias.
|
|
86
|
-
|
|
131
|
+
;; \`except E as err\` / \`with ctx as handle\` put the binding in alias.
|
|
132
|
+
(as_pattern !alias (identifier) @name)
|
|
133
|
+
(as_pattern alias: (as_pattern_target (identifier) @name))
|
|
87
134
|
;; \`case [head, *tail]:\` binds the capture after the splat.
|
|
88
135
|
(splat_pattern (identifier) @name)
|
|
89
136
|
`,
|
|
@@ -104,14 +151,22 @@ export const PYTHON_DEF = {
|
|
|
104
151
|
return "function";
|
|
105
152
|
if (t === "class_definition")
|
|
106
153
|
return "class";
|
|
154
|
+
if (isTypeAliasLeftName(n))
|
|
155
|
+
return "type";
|
|
107
156
|
return "variable";
|
|
108
157
|
},
|
|
109
158
|
scopeDeclarationNames: (node) => {
|
|
110
159
|
const parentType = node.parent?.type;
|
|
111
160
|
return (parentType === "case_pattern" ||
|
|
112
161
|
parentType === "as_pattern" ||
|
|
162
|
+
parentType === "as_pattern_target" ||
|
|
113
163
|
parentType === "splat_pattern" ||
|
|
114
|
-
parentType === "dotted_name"
|
|
164
|
+
parentType === "dotted_name" ||
|
|
165
|
+
parentType === "named_expression" ||
|
|
166
|
+
parentType === "pattern_list" ||
|
|
167
|
+
parentType === "tuple_pattern" ||
|
|
168
|
+
parentType === "type" ||
|
|
169
|
+
parentType === "generic_type");
|
|
115
170
|
},
|
|
116
171
|
isDeclarationName: (node) => {
|
|
117
172
|
const parent = node.parent;
|
|
@@ -121,16 +176,26 @@ export const PYTHON_DEF = {
|
|
|
121
176
|
parent.namedChildren.length === 1 &&
|
|
122
177
|
(parent.parent?.type === "keyword_pattern" || parent.parent?.type === "case_pattern"))
|
|
123
178
|
return true;
|
|
124
|
-
if (
|
|
179
|
+
if (t === "as_pattern_target")
|
|
125
180
|
return true;
|
|
181
|
+
if (t === "as_pattern")
|
|
182
|
+
return parent?.childForFieldName("alias") == null;
|
|
126
183
|
if (t === "splat_pattern")
|
|
127
184
|
return true;
|
|
185
|
+
if (t === "named_expression")
|
|
186
|
+
return parent?.childForFieldName("name")?.id === node.id;
|
|
187
|
+
if (t === "pattern_list" || t === "tuple_pattern")
|
|
188
|
+
return true;
|
|
189
|
+
if (isTypeAliasLeftName(node))
|
|
190
|
+
return true;
|
|
128
191
|
return !!t && ["function_definition", "class_definition", "assignment", "aliased_import"].includes(t);
|
|
129
192
|
},
|
|
130
193
|
createsBlockScope: (n) => n.type === "module" || n.type === "block",
|
|
131
194
|
createsFunctionScope: (n) => n.type === "function_definition" || n.type === "lambda",
|
|
132
195
|
membersAreImplicitlyInScope: false,
|
|
133
196
|
supportsCrossModuleSymbols: true,
|
|
197
|
+
// A function body and a class body are both `block`, so only the function form blocks exports.
|
|
198
|
+
exportScopeBlockers: ["function_definition>block"],
|
|
134
199
|
normalizeIdentifier: (name) => (hasNonAsciiCodePoint(name) ? name.normalize("NFKC") : name),
|
|
135
200
|
};
|
|
136
201
|
registerLanguage(PYTHON_DEF);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/languages/definitions/python.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,CAAC,MAAM,UAAU,GAAuB;IAC5C,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/languages/definitions/python.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruby.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/ruby.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,eAAO,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"ruby.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/ruby.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,eAAO,MAAM,QAAQ,EAAE,kBAoFtB,CAAC"}
|