agentmap 0.5.0 → 0.7.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/cli.js +12 -4
- package/dist/cli.js.map +1 -1
- package/dist/extract/definitions.d.ts.map +1 -1
- package/dist/extract/definitions.js +195 -316
- package/dist/extract/definitions.js.map +1 -1
- package/dist/extract/definitions.test.js +749 -20
- package/dist/extract/definitions.test.js.map +1 -1
- package/dist/extract/markdown.d.ts.map +1 -1
- package/dist/extract/markdown.js +13 -1
- package/dist/extract/markdown.js.map +1 -1
- package/dist/extract/marker.d.ts.map +1 -1
- package/dist/extract/marker.js +87 -6
- package/dist/extract/marker.js.map +1 -1
- package/dist/extract/marker.test.js +142 -4
- package/dist/extract/marker.test.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -1
- package/dist/index.js.map +1 -1
- package/dist/languages/cpp.d.ts +30 -0
- package/dist/languages/cpp.d.ts.map +1 -0
- package/dist/languages/cpp.js +116 -0
- package/dist/languages/cpp.js.map +1 -0
- package/dist/languages/go.d.ts +26 -0
- package/dist/languages/go.d.ts.map +1 -0
- package/dist/languages/go.js +65 -0
- package/dist/languages/go.js.map +1 -0
- package/dist/languages/index.d.ts +90 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/index.js +209 -0
- package/dist/languages/index.js.map +1 -0
- package/dist/languages/javascript.d.ts +18 -0
- package/dist/languages/javascript.d.ts.map +1 -0
- package/dist/languages/javascript.js +23 -0
- package/dist/languages/javascript.js.map +1 -0
- package/dist/languages/python.d.ts +23 -0
- package/dist/languages/python.d.ts.map +1 -0
- package/dist/languages/python.js +35 -0
- package/dist/languages/python.js.map +1 -0
- package/dist/languages/rust.d.ts +26 -0
- package/dist/languages/rust.d.ts.map +1 -0
- package/dist/languages/rust.js +65 -0
- package/dist/languages/rust.js.map +1 -0
- package/dist/languages/typescript.d.ts +30 -0
- package/dist/languages/typescript.d.ts.map +1 -0
- package/dist/languages/typescript.js +68 -0
- package/dist/languages/typescript.js.map +1 -0
- package/dist/languages/zig.d.ts +38 -0
- package/dist/languages/zig.d.ts.map +1 -0
- package/dist/languages/zig.js +104 -0
- package/dist/languages/zig.js.map +1 -0
- package/dist/map/builder.d.ts.map +1 -1
- package/dist/map/builder.js +4 -1
- package/dist/map/builder.js.map +1 -1
- package/dist/parser/languages.d.ts +2 -4
- package/dist/parser/languages.d.ts.map +1 -1
- package/dist/parser/languages.js +4 -29
- package/dist/parser/languages.js.map +1 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +27 -49
- package/dist/scanner.js.map +1 -1
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/languages/javascript.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,IAAI,aAAa,EAC5B,gBAAgB,IAAI,kBAAkB,EACtC,UAAU,IAAI,YAAY,EAC1B,YAAY,IAAI,cAAc,EAC/B,MAAM,iBAAiB,CAAA;AAExB,eAAO,MAAM,EAAE,EAAG,YAAqB,CAAA;AACvC,eAAO,MAAM,UAAU,UAAkC,CAAA;AACzD,eAAO,MAAM,OAAO,uDAAuD,CAAA;AAG3E,eAAO,MAAM,cAAc,UAAgD,CAAA;AAC3E,eAAO,MAAM,WAAW,UAAwB,CAAA;AAChD,eAAO,MAAM,YAAY,EAAE,MAAM,EAAO,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,eAAe,EAAE,MAAM,EAAO,CAAA;AAC3C,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,WAAW,UAA0B,CAAA;AAGlD,eAAO,MAAM,UAAU,qBAAe,CAAA;AACtC,eAAO,MAAM,YAAY,uBAAiB,CAAA;AAC1C,eAAO,MAAM,WAAW,sBAAgB,CAAA;AACxC,eAAO,MAAM,gBAAgB,2BAAqB,CAAA;AAGlD,eAAO,MAAM,eAAe,UAAe,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// JavaScript language support for agentmap.
|
|
2
|
+
// Shares most implementation with TypeScript.
|
|
3
|
+
import { extractName as tsExtractName, extractConstName as tsExtractConstName, isExported as tsIsExported, unwrapExport as tsUnwrapExport, } from './typescript.js';
|
|
4
|
+
export const id = 'javascript';
|
|
5
|
+
export const extensions = ['.js', '.jsx', '.mjs', '.cjs'];
|
|
6
|
+
export const grammar = 'tree-sitter-javascript/tree-sitter-javascript.wasm';
|
|
7
|
+
// AST node types
|
|
8
|
+
export const FUNCTION_TYPES = ['function_declaration', 'method_definition'];
|
|
9
|
+
export const CLASS_TYPES = ['class_declaration'];
|
|
10
|
+
export const STRUCT_TYPES = [];
|
|
11
|
+
export const TRAIT_TYPES = [];
|
|
12
|
+
export const INTERFACE_TYPES = [];
|
|
13
|
+
export const TYPE_TYPES = [];
|
|
14
|
+
export const ENUM_TYPES = [];
|
|
15
|
+
export const CONST_TYPES = ['lexical_declaration'];
|
|
16
|
+
// Reuse TypeScript implementations
|
|
17
|
+
export const isExported = tsIsExported;
|
|
18
|
+
export const unwrapExport = tsUnwrapExport;
|
|
19
|
+
export const extractName = tsExtractName;
|
|
20
|
+
export const extractConstName = tsExtractConstName;
|
|
21
|
+
// Comment handling
|
|
22
|
+
export const commentPrefixes = ['//', '/*'];
|
|
23
|
+
//# sourceMappingURL=javascript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/languages/javascript.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,8CAA8C;AAG9C,OAAO,EACL,WAAW,IAAI,aAAa,EAC5B,gBAAgB,IAAI,kBAAkB,EACtC,UAAU,IAAI,YAAY,EAC1B,YAAY,IAAI,cAAc,GAC/B,MAAM,iBAAiB,CAAA;AAExB,MAAM,CAAC,MAAM,EAAE,GAAG,YAAqB,CAAA;AACvC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AACzD,MAAM,CAAC,MAAM,OAAO,GAAG,oDAAoD,CAAA;AAE3E,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAA;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAChD,MAAM,CAAC,MAAM,YAAY,GAAa,EAAE,CAAA;AACxC,MAAM,CAAC,MAAM,WAAW,GAAa,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,eAAe,GAAa,EAAE,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAa,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,UAAU,GAAa,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAElD,mCAAmC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAA;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAA;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAA;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAElD,mBAAmB;AACnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SyntaxNode } from '../types.js';
|
|
2
|
+
export declare const id: "python";
|
|
3
|
+
export declare const extensions: string[];
|
|
4
|
+
export declare const grammar = "tree-sitter-python/tree-sitter-python.wasm";
|
|
5
|
+
export declare const FUNCTION_TYPES: string[];
|
|
6
|
+
export declare const CLASS_TYPES: string[];
|
|
7
|
+
export declare const STRUCT_TYPES: string[];
|
|
8
|
+
export declare const TRAIT_TYPES: string[];
|
|
9
|
+
export declare const INTERFACE_TYPES: string[];
|
|
10
|
+
export declare const TYPE_TYPES: string[];
|
|
11
|
+
export declare const ENUM_TYPES: string[];
|
|
12
|
+
export declare const CONST_TYPES: string[];
|
|
13
|
+
/**
|
|
14
|
+
* Python doesn't have explicit exports - everything is importable
|
|
15
|
+
*/
|
|
16
|
+
export declare function isExported(_node: SyntaxNode): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Extract name from a Python node
|
|
19
|
+
*/
|
|
20
|
+
export declare function extractName(node: SyntaxNode): string | null;
|
|
21
|
+
export declare const commentPrefixes: string[];
|
|
22
|
+
export declare const docstringType = "string";
|
|
23
|
+
//# sourceMappingURL=python.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../src/languages/python.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,eAAO,MAAM,EAAE,EAAG,QAAiB,CAAA;AACnC,eAAO,MAAM,UAAU,UAAkB,CAAA;AACzC,eAAO,MAAM,OAAO,+CAA+C,CAAA;AAGnE,eAAO,MAAM,cAAc,UAA0B,CAAA;AACrD,eAAO,MAAM,WAAW,UAAuB,CAAA;AAC/C,eAAO,MAAM,YAAY,EAAE,MAAM,EAAO,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,eAAe,EAAE,MAAM,EAAO,CAAA;AAC3C,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AAEvC;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAQ3D;AAGD,eAAO,MAAM,eAAe,UAAQ,CAAA;AACpC,eAAO,MAAM,aAAa,WAAW,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Python language support for agentmap.
|
|
2
|
+
export const id = 'python';
|
|
3
|
+
export const extensions = ['.py', '.pyi'];
|
|
4
|
+
export const grammar = 'tree-sitter-python/tree-sitter-python.wasm';
|
|
5
|
+
// AST node types
|
|
6
|
+
export const FUNCTION_TYPES = ['function_definition'];
|
|
7
|
+
export const CLASS_TYPES = ['class_definition'];
|
|
8
|
+
export const STRUCT_TYPES = [];
|
|
9
|
+
export const TRAIT_TYPES = [];
|
|
10
|
+
export const INTERFACE_TYPES = [];
|
|
11
|
+
export const TYPE_TYPES = [];
|
|
12
|
+
export const ENUM_TYPES = [];
|
|
13
|
+
export const CONST_TYPES = []; // Python constants handled separately
|
|
14
|
+
/**
|
|
15
|
+
* Python doesn't have explicit exports - everything is importable
|
|
16
|
+
*/
|
|
17
|
+
export function isExported(_node) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Extract name from a Python node
|
|
22
|
+
*/
|
|
23
|
+
export function extractName(node) {
|
|
24
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
25
|
+
const child = node.child(i);
|
|
26
|
+
if (child?.type === 'identifier') {
|
|
27
|
+
return child.text;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
// Comment handling
|
|
33
|
+
export const commentPrefixes = ['#'];
|
|
34
|
+
export const docstringType = 'string'; // Python uses docstrings
|
|
35
|
+
//# sourceMappingURL=python.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/languages/python.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAIxC,MAAM,CAAC,MAAM,EAAE,GAAG,QAAiB,CAAA;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,4CAA4C,CAAA;AAEnE,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,qBAAqB,CAAC,CAAA;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAa,EAAE,CAAA;AACxC,MAAM,CAAC,MAAM,WAAW,GAAa,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,eAAe,GAAa,EAAE,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAa,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,UAAU,GAAa,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,WAAW,GAAa,EAAE,CAAA,CAAE,sCAAsC;AAE/E;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,IAAI,CAAA;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,mBAAmB;AACnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,CAAA;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAA,CAAE,yBAAyB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SyntaxNode } from '../types.js';
|
|
2
|
+
export declare const id: "rust";
|
|
3
|
+
export declare const extensions: string[];
|
|
4
|
+
export declare const grammar = "tree-sitter-rust/tree-sitter-rust.wasm";
|
|
5
|
+
export declare const FUNCTION_TYPES: string[];
|
|
6
|
+
export declare const CLASS_TYPES: string[];
|
|
7
|
+
export declare const STRUCT_TYPES: string[];
|
|
8
|
+
export declare const TRAIT_TYPES: string[];
|
|
9
|
+
export declare const INTERFACE_TYPES: string[];
|
|
10
|
+
export declare const TYPE_TYPES: string[];
|
|
11
|
+
export declare const ENUM_TYPES: string[];
|
|
12
|
+
export declare const CONST_TYPES: string[];
|
|
13
|
+
/**
|
|
14
|
+
* Check if a Rust node has 'pub' visibility modifier
|
|
15
|
+
*/
|
|
16
|
+
export declare function isExported(node: SyntaxNode): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Extract name from a Rust node
|
|
19
|
+
*/
|
|
20
|
+
export declare function extractName(node: SyntaxNode): string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Extract name from const/static declaration
|
|
23
|
+
*/
|
|
24
|
+
export declare function extractConstName(node: SyntaxNode): string | null;
|
|
25
|
+
export declare const commentPrefixes: string[];
|
|
26
|
+
//# sourceMappingURL=rust.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../src/languages/rust.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,eAAO,MAAM,EAAE,EAAG,MAAe,CAAA;AACjC,eAAO,MAAM,UAAU,UAAU,CAAA;AACjC,eAAO,MAAM,OAAO,2CAA2C,CAAA;AAG/D,eAAO,MAAM,cAAc,UAAoB,CAAA;AAC/C,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,YAAY,UAAkB,CAAA;AAC3C,eAAO,MAAM,WAAW,UAAiB,CAAA;AACzC,eAAO,MAAM,eAAe,EAAE,MAAM,EAAO,CAAA;AAC3C,eAAO,MAAM,UAAU,UAAgB,CAAA;AACvC,eAAO,MAAM,UAAU,UAAgB,CAAA;AACvC,eAAO,MAAM,WAAW,UAAgC,CAAA;AAExD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CASpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAkB3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAEhE;AAWD,eAAO,MAAM,eAAe,UAA6B,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// Rust language support for agentmap.
|
|
2
|
+
export const id = 'rust';
|
|
3
|
+
export const extensions = ['.rs'];
|
|
4
|
+
export const grammar = 'tree-sitter-rust/tree-sitter-rust.wasm';
|
|
5
|
+
// AST node types
|
|
6
|
+
export const FUNCTION_TYPES = ['function_item'];
|
|
7
|
+
export const CLASS_TYPES = []; // Rust has structs/traits, not classes
|
|
8
|
+
export const STRUCT_TYPES = ['struct_item'];
|
|
9
|
+
export const TRAIT_TYPES = ['trait_item'];
|
|
10
|
+
export const INTERFACE_TYPES = []; // Rust traits handled in TRAIT_TYPES
|
|
11
|
+
export const TYPE_TYPES = ['type_item'];
|
|
12
|
+
export const ENUM_TYPES = ['enum_item'];
|
|
13
|
+
export const CONST_TYPES = ['const_item', 'static_item'];
|
|
14
|
+
/**
|
|
15
|
+
* Check if a Rust node has 'pub' visibility modifier
|
|
16
|
+
*/
|
|
17
|
+
export function isExported(node) {
|
|
18
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
19
|
+
const child = node.child(i);
|
|
20
|
+
if (child?.type === 'visibility_modifier') {
|
|
21
|
+
return child.text.startsWith('pub');
|
|
22
|
+
}
|
|
23
|
+
if (child?.type === 'identifier' || child?.type === 'type_identifier')
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Extract name from a Rust node
|
|
30
|
+
*/
|
|
31
|
+
export function extractName(node) {
|
|
32
|
+
if (node.type === 'impl_item') {
|
|
33
|
+
const typeNode = node.childForFieldName('type');
|
|
34
|
+
if (typeNode) {
|
|
35
|
+
const ident = typeNode.type === 'type_identifier'
|
|
36
|
+
? typeNode
|
|
37
|
+
: findChild(typeNode, 'type_identifier');
|
|
38
|
+
return ident?.text ?? null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
42
|
+
const child = node.child(i);
|
|
43
|
+
if (child?.type === 'identifier' || child?.type === 'type_identifier') {
|
|
44
|
+
return child.text;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Extract name from const/static declaration
|
|
51
|
+
*/
|
|
52
|
+
export function extractConstName(node) {
|
|
53
|
+
return extractName(node);
|
|
54
|
+
}
|
|
55
|
+
function findChild(node, type) {
|
|
56
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
57
|
+
const child = node.child(i);
|
|
58
|
+
if (child?.type === type)
|
|
59
|
+
return child;
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
// Comment handling
|
|
64
|
+
export const commentPrefixes = ['//', '/*', '//!', '///'];
|
|
65
|
+
//# sourceMappingURL=rust.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust.js","sourceRoot":"","sources":["../../src/languages/rust.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SyntaxNode } from '../types.js';
|
|
2
|
+
export declare const id: "typescript";
|
|
3
|
+
export declare const extensions: string[];
|
|
4
|
+
export declare const grammar = "tree-sitter-typescript/tree-sitter-tsx.wasm";
|
|
5
|
+
export declare const FUNCTION_TYPES: string[];
|
|
6
|
+
export declare const CLASS_TYPES: string[];
|
|
7
|
+
export declare const STRUCT_TYPES: string[];
|
|
8
|
+
export declare const TRAIT_TYPES: string[];
|
|
9
|
+
export declare const INTERFACE_TYPES: string[];
|
|
10
|
+
export declare const TYPE_TYPES: string[];
|
|
11
|
+
export declare const ENUM_TYPES: string[];
|
|
12
|
+
export declare const CONST_TYPES: string[];
|
|
13
|
+
/**
|
|
14
|
+
* Check if a node is an export statement
|
|
15
|
+
*/
|
|
16
|
+
export declare function isExported(node: SyntaxNode): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Unwrap export statement to get the actual declaration
|
|
19
|
+
*/
|
|
20
|
+
export declare function unwrapExport(node: SyntaxNode): SyntaxNode;
|
|
21
|
+
/**
|
|
22
|
+
* Extract name from a TypeScript/JavaScript node
|
|
23
|
+
*/
|
|
24
|
+
export declare function extractName(node: SyntaxNode): string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Extract name from const/let declaration
|
|
27
|
+
*/
|
|
28
|
+
export declare function extractConstName(node: SyntaxNode): string | null;
|
|
29
|
+
export declare const commentPrefixes: string[];
|
|
30
|
+
//# sourceMappingURL=typescript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,eAAO,MAAM,EAAE,EAAG,YAAqB,CAAA;AACvC,eAAO,MAAM,UAAU,UAAkC,CAAA;AACzD,eAAO,MAAM,OAAO,gDAAgD,CAAA;AAGpE,eAAO,MAAM,cAAc,UAAgD,CAAA;AAC3E,eAAO,MAAM,WAAW,UAAsD,CAAA;AAC9E,eAAO,MAAM,YAAY,EAAE,MAAM,EAAO,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,eAAe,UAA4B,CAAA;AACxD,eAAO,MAAM,UAAU,UAA6B,CAAA;AACpD,eAAO,MAAM,UAAU,UAAuB,CAAA;AAC9C,eAAO,MAAM,WAAW,UAA0B,CAAA;AAElD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAWzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAY3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAShE;AAGD,eAAO,MAAM,eAAe,UAAe,CAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// TypeScript language support for agentmap.
|
|
2
|
+
export const id = 'typescript';
|
|
3
|
+
export const extensions = ['.ts', '.tsx', '.mts', '.cts'];
|
|
4
|
+
export const grammar = 'tree-sitter-typescript/tree-sitter-tsx.wasm';
|
|
5
|
+
// AST node types
|
|
6
|
+
export const FUNCTION_TYPES = ['function_declaration', 'method_definition'];
|
|
7
|
+
export const CLASS_TYPES = ['class_declaration', 'abstract_class_declaration'];
|
|
8
|
+
export const STRUCT_TYPES = [];
|
|
9
|
+
export const TRAIT_TYPES = [];
|
|
10
|
+
export const INTERFACE_TYPES = ['interface_declaration'];
|
|
11
|
+
export const TYPE_TYPES = ['type_alias_declaration'];
|
|
12
|
+
export const ENUM_TYPES = ['enum_declaration'];
|
|
13
|
+
export const CONST_TYPES = ['lexical_declaration'];
|
|
14
|
+
/**
|
|
15
|
+
* Check if a node is an export statement
|
|
16
|
+
*/
|
|
17
|
+
export function isExported(node) {
|
|
18
|
+
return node.type === 'export_statement';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Unwrap export statement to get the actual declaration
|
|
22
|
+
*/
|
|
23
|
+
export function unwrapExport(node) {
|
|
24
|
+
if (node.type === 'export_statement') {
|
|
25
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
26
|
+
const child = node.child(i);
|
|
27
|
+
if (!child)
|
|
28
|
+
continue;
|
|
29
|
+
if (child.type !== 'export' && !child.type.includes('comment') && child.type !== 'default') {
|
|
30
|
+
return child;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return node;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Extract name from a TypeScript/JavaScript node
|
|
38
|
+
*/
|
|
39
|
+
export function extractName(node) {
|
|
40
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
41
|
+
const child = node.child(i);
|
|
42
|
+
if (!child)
|
|
43
|
+
continue;
|
|
44
|
+
if (child.type === 'identifier' || child.type === 'type_identifier') {
|
|
45
|
+
return child.text;
|
|
46
|
+
}
|
|
47
|
+
if (child.type === 'property_identifier') {
|
|
48
|
+
return child.text;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Extract name from const/let declaration
|
|
55
|
+
*/
|
|
56
|
+
export function extractConstName(node) {
|
|
57
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
58
|
+
const child = node.child(i);
|
|
59
|
+
if (child?.type === 'variable_declarator') {
|
|
60
|
+
const nameNode = child.childForFieldName('name');
|
|
61
|
+
return nameNode?.text ?? null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
// Comment handling
|
|
67
|
+
export const commentPrefixes = ['//', '/*'];
|
|
68
|
+
//# sourceMappingURL=typescript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAI5C,MAAM,CAAC,MAAM,EAAE,GAAG,YAAqB,CAAA;AACvC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AACzD,MAAM,CAAC,MAAM,OAAO,GAAG,6CAA6C,CAAA;AAEpE,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAA;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAA;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAa,EAAE,CAAA;AACxC,MAAM,CAAC,MAAM,WAAW,GAAa,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACpD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAElD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,OAAO,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC3B,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3F,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACpE,OAAO,KAAK,CAAC,IAAI,CAAA;QACnB,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,IAAI,CAAA;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAgB;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,KAAK,EAAE,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAChD,OAAO,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAA;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,mBAAmB;AACnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { SyntaxNode, DefinitionType } from '../types.js';
|
|
2
|
+
export declare const id: "zig";
|
|
3
|
+
export declare const extensions: string[];
|
|
4
|
+
export declare const grammar = "@tree-sitter-grammars/tree-sitter-zig/tree-sitter-zig.wasm";
|
|
5
|
+
export declare const FUNCTION_TYPES: string[];
|
|
6
|
+
export declare const CLASS_TYPES: string[];
|
|
7
|
+
export declare const STRUCT_TYPES: string[];
|
|
8
|
+
export declare const TRAIT_TYPES: string[];
|
|
9
|
+
export declare const INTERFACE_TYPES: string[];
|
|
10
|
+
export declare const TYPE_TYPES: string[];
|
|
11
|
+
export declare const ENUM_TYPES: string[];
|
|
12
|
+
export declare const CONST_TYPES: string[];
|
|
13
|
+
/**
|
|
14
|
+
* Check if a Zig node has 'pub' modifier
|
|
15
|
+
*/
|
|
16
|
+
export declare function isExported(node: SyntaxNode): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Check if a Zig variable_declaration uses 'const' (not 'var')
|
|
19
|
+
*/
|
|
20
|
+
export declare function isConst(node: SyntaxNode): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a Zig variable_declaration contains a struct/enum/union declaration
|
|
23
|
+
*/
|
|
24
|
+
export declare function getTypeDeclaration(node: SyntaxNode): DefinitionType | null;
|
|
25
|
+
/**
|
|
26
|
+
* Check if a Zig function has 'extern' modifier
|
|
27
|
+
*/
|
|
28
|
+
export declare function isExtern(node: SyntaxNode): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Extract name from a Zig node
|
|
31
|
+
*/
|
|
32
|
+
export declare function extractName(node: SyntaxNode): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* Extract name from const/var declaration
|
|
35
|
+
*/
|
|
36
|
+
export declare function extractConstName(node: SyntaxNode): string | null;
|
|
37
|
+
export declare const commentPrefixes: string[];
|
|
38
|
+
//# sourceMappingURL=zig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zig.d.ts","sourceRoot":"","sources":["../../src/languages/zig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE7D,eAAO,MAAM,EAAE,EAAG,KAAc,CAAA;AAChC,eAAO,MAAM,UAAU,UAAW,CAAA;AAClC,eAAO,MAAM,OAAO,+DAA+D,CAAA;AAGnF,eAAO,MAAM,cAAc,UAA+C,CAAA;AAC1E,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,YAAY,EAAE,MAAM,EAAO,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,MAAM,EAAO,CAAA;AACvC,eAAO,MAAM,eAAe,EAAE,MAAM,EAAO,CAAA;AAC3C,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,UAAU,EAAE,MAAM,EAAO,CAAA;AACtC,eAAO,MAAM,WAAW,UAA2B,CAAA;AAEnD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAOpD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAOjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI,CAQ1E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAOlD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAyB3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAEhE;AAGD,eAAO,MAAM,eAAe,UAAe,CAAA"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
// Zig language support for agentmap.
|
|
2
|
+
export const id = 'zig';
|
|
3
|
+
export const extensions = ['.zig'];
|
|
4
|
+
export const grammar = '@tree-sitter-grammars/tree-sitter-zig/tree-sitter-zig.wasm';
|
|
5
|
+
// AST node types
|
|
6
|
+
export const FUNCTION_TYPES = ['function_declaration', 'test_declaration'];
|
|
7
|
+
export const CLASS_TYPES = []; // Zig has structs/unions, not classes
|
|
8
|
+
export const STRUCT_TYPES = []; // Handled via variable_declaration with struct value
|
|
9
|
+
export const TRAIT_TYPES = [];
|
|
10
|
+
export const INTERFACE_TYPES = [];
|
|
11
|
+
export const TYPE_TYPES = [];
|
|
12
|
+
export const ENUM_TYPES = []; // Handled via variable_declaration with enum value
|
|
13
|
+
export const CONST_TYPES = ['variable_declaration'];
|
|
14
|
+
/**
|
|
15
|
+
* Check if a Zig node has 'pub' modifier
|
|
16
|
+
*/
|
|
17
|
+
export function isExported(node) {
|
|
18
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
19
|
+
const child = node.child(i);
|
|
20
|
+
if (child?.type === 'pub')
|
|
21
|
+
return true;
|
|
22
|
+
if (child?.type === 'identifier' || child?.type === 'block')
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Check if a Zig variable_declaration uses 'const' (not 'var')
|
|
29
|
+
*/
|
|
30
|
+
export function isConst(node) {
|
|
31
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
32
|
+
const child = node.child(i);
|
|
33
|
+
if (child?.type === 'const')
|
|
34
|
+
return true;
|
|
35
|
+
if (child?.type === 'var')
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Check if a Zig variable_declaration contains a struct/enum/union declaration
|
|
42
|
+
*/
|
|
43
|
+
export function getTypeDeclaration(node) {
|
|
44
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
45
|
+
const child = node.child(i);
|
|
46
|
+
if (child?.type === 'struct_declaration')
|
|
47
|
+
return 'struct';
|
|
48
|
+
if (child?.type === 'union_declaration')
|
|
49
|
+
return 'union';
|
|
50
|
+
if (child?.type === 'enum_declaration')
|
|
51
|
+
return 'enum';
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Check if a Zig function has 'extern' modifier
|
|
57
|
+
*/
|
|
58
|
+
export function isExtern(node) {
|
|
59
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
60
|
+
const child = node.child(i);
|
|
61
|
+
if (child?.type === 'extern')
|
|
62
|
+
return true;
|
|
63
|
+
if (child?.type === 'block' || child?.type === 'fn')
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Extract name from a Zig node
|
|
70
|
+
*/
|
|
71
|
+
export function extractName(node) {
|
|
72
|
+
if (node.type === 'test_declaration') {
|
|
73
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
74
|
+
const child = node.child(i);
|
|
75
|
+
if (child?.type === 'string') {
|
|
76
|
+
const text = child.text;
|
|
77
|
+
if (text.startsWith('"') && text.endsWith('"')) {
|
|
78
|
+
return text.slice(1, -1);
|
|
79
|
+
}
|
|
80
|
+
return text;
|
|
81
|
+
}
|
|
82
|
+
if (child?.type === 'identifier') {
|
|
83
|
+
return child.text;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
89
|
+
const child = node.child(i);
|
|
90
|
+
if (child?.type === 'identifier') {
|
|
91
|
+
return child.text;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Extract name from const/var declaration
|
|
98
|
+
*/
|
|
99
|
+
export function extractConstName(node) {
|
|
100
|
+
return extractName(node);
|
|
101
|
+
}
|
|
102
|
+
// Comment handling
|
|
103
|
+
export const commentPrefixes = ['//', '/*'];
|
|
104
|
+
//# sourceMappingURL=zig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zig.js","sourceRoot":"","sources":["../../src/languages/zig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/map/builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAyB,UAAU,EAAiB,OAAO,EAAE,MAAM,aAAa,CAAA;AAE5F;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CASzE;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/map/builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAyB,UAAU,EAAiB,OAAO,EAAE,MAAM,aAAa,CAAA;AAE5F;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CASzE;AA4FD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/C"}
|
package/dist/map/builder.js
CHANGED
|
@@ -25,7 +25,7 @@ function formatFileDiff(diff) {
|
|
|
25
25
|
return parts.join('');
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
* Format a definition as a string like "line 13, function, exported, updated (+5-2)"
|
|
28
|
+
* Format a definition as a string like "line 13, function, exported, extern, updated (+5-2)"
|
|
29
29
|
*/
|
|
30
30
|
function formatDefinition(def) {
|
|
31
31
|
const lineStr = `line ${def.line}`;
|
|
@@ -33,6 +33,9 @@ function formatDefinition(def) {
|
|
|
33
33
|
if (def.exported) {
|
|
34
34
|
parts.push('exported');
|
|
35
35
|
}
|
|
36
|
+
if (def.extern) {
|
|
37
|
+
parts.push('extern');
|
|
38
|
+
}
|
|
36
39
|
// Add diff info if present
|
|
37
40
|
if (def.diff) {
|
|
38
41
|
// Format as +N-M or just +N or -M
|
package/dist/map/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/map/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/map/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import Parser from 'web-tree-sitter';
|
|
2
2
|
import type { Language } from '../types.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*/
|
|
6
|
-
export declare const LANGUAGE_EXTENSIONS: Record<string, Language>;
|
|
3
|
+
import { LANGUAGE_EXTENSIONS } from '../languages/index.js';
|
|
4
|
+
export { LANGUAGE_EXTENSIONS };
|
|
7
5
|
/**
|
|
8
6
|
* Detect language from file path extension
|
|
9
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/parser/languages.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/parser/languages.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAE,mBAAmB,EAAiB,MAAM,uBAAuB,CAAA;AAK1E,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAGhE;AAyBD;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAU9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
package/dist/parser/languages.js
CHANGED
|
@@ -1,24 +1,10 @@
|
|
|
1
1
|
// Language detection and grammar loading for tree-sitter.
|
|
2
2
|
import Parser from 'web-tree-sitter';
|
|
3
3
|
import { createRequire } from 'module';
|
|
4
|
+
import { LANGUAGE_EXTENSIONS, GRAMMAR_PATHS } from '../languages/index.js';
|
|
4
5
|
const require = createRequire(import.meta.url);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
export const LANGUAGE_EXTENSIONS = {
|
|
9
|
-
'.ts': 'typescript',
|
|
10
|
-
'.tsx': 'typescript',
|
|
11
|
-
'.mts': 'typescript',
|
|
12
|
-
'.cts': 'typescript',
|
|
13
|
-
'.js': 'javascript',
|
|
14
|
-
'.jsx': 'javascript',
|
|
15
|
-
'.mjs': 'javascript',
|
|
16
|
-
'.cjs': 'javascript',
|
|
17
|
-
'.py': 'python',
|
|
18
|
-
'.pyi': 'python',
|
|
19
|
-
'.rs': 'rust',
|
|
20
|
-
'.go': 'go',
|
|
21
|
-
};
|
|
6
|
+
// Re-export for backwards compatibility
|
|
7
|
+
export { LANGUAGE_EXTENSIONS };
|
|
22
8
|
/**
|
|
23
9
|
* Detect language from file path extension
|
|
24
10
|
*/
|
|
@@ -30,18 +16,7 @@ export function detectLanguage(filepath) {
|
|
|
30
16
|
* Get the WASM grammar path for a language
|
|
31
17
|
*/
|
|
32
18
|
function getGrammarPath(language) {
|
|
33
|
-
|
|
34
|
-
case 'typescript':
|
|
35
|
-
return require.resolve('tree-sitter-typescript/tree-sitter-tsx.wasm');
|
|
36
|
-
case 'javascript':
|
|
37
|
-
return require.resolve('tree-sitter-javascript/tree-sitter-javascript.wasm');
|
|
38
|
-
case 'python':
|
|
39
|
-
return require.resolve('tree-sitter-python/tree-sitter-python.wasm');
|
|
40
|
-
case 'rust':
|
|
41
|
-
return require.resolve('tree-sitter-rust/tree-sitter-rust.wasm');
|
|
42
|
-
case 'go':
|
|
43
|
-
return require.resolve('tree-sitter-go/tree-sitter-go.wasm');
|
|
44
|
-
}
|
|
19
|
+
return require.resolve(GRAMMAR_PATHS[language]);
|
|
45
20
|
}
|
|
46
21
|
/**
|
|
47
22
|
* Cache for loaded grammars
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/parser/languages.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/parser/languages.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,wCAAwC;AACxC,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IACrD,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,QAAkB;IACxC,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAA;AAEzD;;GAEG;AACH,IAAI,iBAAiB,GAAG,KAAK,CAAA;AAC7B,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACnB,iBAAiB,GAAG,IAAI,CAAA;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAkB;IAClD,MAAM,gBAAgB,EAAE,CAAA;IAExB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,YAAY,CAAC,KAAK,EAAE,CAAA;AACtB,CAAC"}
|
package/dist/scanner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAA2B,MAAM,YAAY,CAAA;AAuDtF;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAqExF"}
|