edhindex 1.0.2 → 1.1.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/README.md +43 -9
- package/dist/cli/commands/index_cmd.d.ts.map +1 -1
- package/dist/cli/commands/index_cmd.js +2 -0
- package/dist/cli/commands/index_cmd.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +3 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/graph/builder.d.ts.map +1 -1
- package/dist/graph/builder.js +5 -0
- package/dist/graph/builder.js.map +1 -1
- package/dist/indexer/chunker.d.ts +2 -2
- package/dist/indexer/chunker.d.ts.map +1 -1
- package/dist/indexer/chunker.js +7 -5
- package/dist/indexer/chunker.js.map +1 -1
- package/dist/indexer/file-utils.d.ts +2 -3
- package/dist/indexer/file-utils.d.ts.map +1 -1
- package/dist/indexer/file-utils.js +4 -33
- package/dist/indexer/file-utils.js.map +1 -1
- package/dist/indexer/fixture.test.d.ts +2 -0
- package/dist/indexer/fixture.test.d.ts.map +1 -0
- package/dist/indexer/fixture.test.js +104 -0
- package/dist/indexer/fixture.test.js.map +1 -0
- package/dist/indexer/indexer.d.ts +3 -1
- package/dist/indexer/indexer.d.ts.map +1 -1
- package/dist/indexer/indexer.js +8 -32
- package/dist/indexer/indexer.js.map +1 -1
- package/dist/indexer/parser.d.ts.map +1 -1
- package/dist/indexer/parser.js +196 -14
- package/dist/indexer/parser.js.map +1 -1
- package/dist/indexer/parser.test.d.ts +2 -0
- package/dist/indexer/parser.test.d.ts.map +1 -0
- package/dist/indexer/parser.test.js +120 -0
- package/dist/indexer/parser.test.js.map +1 -0
- package/dist/language/adapters/c.d.ts +7 -0
- package/dist/language/adapters/c.d.ts.map +1 -0
- package/dist/language/adapters/c.js +25 -0
- package/dist/language/adapters/c.js.map +1 -0
- package/dist/language/adapters/cpp.d.ts +7 -0
- package/dist/language/adapters/cpp.d.ts.map +1 -0
- package/dist/language/adapters/cpp.js +29 -0
- package/dist/language/adapters/cpp.js.map +1 -0
- package/dist/language/adapters/csharp.d.ts +7 -0
- package/dist/language/adapters/csharp.d.ts.map +1 -0
- package/dist/language/adapters/csharp.js +32 -0
- package/dist/language/adapters/csharp.js.map +1 -0
- package/dist/language/adapters/css.d.ts +10 -0
- package/dist/language/adapters/css.d.ts.map +1 -0
- package/dist/language/adapters/css.js +54 -0
- package/dist/language/adapters/css.js.map +1 -0
- package/dist/language/adapters/go.d.ts +7 -0
- package/dist/language/adapters/go.d.ts.map +1 -0
- package/dist/language/adapters/go.js +26 -0
- package/dist/language/adapters/go.js.map +1 -0
- package/dist/language/adapters/html.d.ts +11 -0
- package/dist/language/adapters/html.d.ts.map +1 -0
- package/dist/language/adapters/html.js +67 -0
- package/dist/language/adapters/html.js.map +1 -0
- package/dist/language/adapters/java.d.ts +7 -0
- package/dist/language/adapters/java.d.ts.map +1 -0
- package/dist/language/adapters/java.js +30 -0
- package/dist/language/adapters/java.js.map +1 -0
- package/dist/language/adapters/javascript.d.ts +7 -0
- package/dist/language/adapters/javascript.d.ts.map +1 -0
- package/dist/language/adapters/javascript.js +31 -0
- package/dist/language/adapters/javascript.js.map +1 -0
- package/dist/language/adapters/json.d.ts +11 -0
- package/dist/language/adapters/json.d.ts.map +1 -0
- package/dist/language/adapters/json.js +57 -0
- package/dist/language/adapters/json.js.map +1 -0
- package/dist/language/adapters/php.d.ts +7 -0
- package/dist/language/adapters/php.d.ts.map +1 -0
- package/dist/language/adapters/php.js +29 -0
- package/dist/language/adapters/php.js.map +1 -0
- package/dist/language/adapters/python.d.ts +7 -0
- package/dist/language/adapters/python.d.ts.map +1 -0
- package/dist/language/adapters/python.js +27 -0
- package/dist/language/adapters/python.js.map +1 -0
- package/dist/language/adapters/ruby.d.ts +7 -0
- package/dist/language/adapters/ruby.d.ts.map +1 -0
- package/dist/language/adapters/ruby.js +29 -0
- package/dist/language/adapters/ruby.js.map +1 -0
- package/dist/language/adapters/rust.d.ts +7 -0
- package/dist/language/adapters/rust.d.ts.map +1 -0
- package/dist/language/adapters/rust.js +31 -0
- package/dist/language/adapters/rust.js.map +1 -0
- package/dist/language/adapters/typescript.d.ts +7 -0
- package/dist/language/adapters/typescript.d.ts.map +1 -0
- package/dist/language/adapters/typescript.js +35 -0
- package/dist/language/adapters/typescript.js.map +1 -0
- package/dist/language/base.d.ts +34 -0
- package/dist/language/base.d.ts.map +1 -0
- package/dist/language/base.js +144 -0
- package/dist/language/base.js.map +1 -0
- package/dist/language/generic.d.ts +11 -0
- package/dist/language/generic.d.ts.map +1 -0
- package/dist/language/generic.js +51 -0
- package/dist/language/generic.js.map +1 -0
- package/dist/language/registry.d.ts +29 -0
- package/dist/language/registry.d.ts.map +1 -0
- package/dist/language/registry.js +111 -0
- package/dist/language/registry.js.map +1 -0
- package/dist/language/types.d.ts +55 -0
- package/dist/language/types.d.ts.map +1 -0
- package/dist/language/types.js +23 -0
- package/dist/language/types.js.map +1 -0
- package/package.json +19 -3
- package/src/cli/commands/index_cmd.ts +2 -0
- package/src/cli/commands/start.ts +3 -1
- package/src/config/index.ts +1 -1
- package/src/graph/builder.ts +5 -0
- package/src/indexer/chunker.ts +9 -7
- package/src/indexer/file-utils.ts +6 -38
- package/src/indexer/fixture.test.ts +121 -0
- package/src/indexer/indexer.ts +17 -41
- package/src/indexer/parser.test.ts +127 -0
- package/src/indexer/parser.ts +194 -13
- package/src/language/adapters/c.ts +27 -0
- package/src/language/adapters/cpp.ts +31 -0
- package/src/language/adapters/csharp.ts +34 -0
- package/src/language/adapters/css.ts +57 -0
- package/src/language/adapters/go.ts +28 -0
- package/src/language/adapters/html.ts +68 -0
- package/src/language/adapters/java.ts +32 -0
- package/src/language/adapters/javascript.ts +33 -0
- package/src/language/adapters/json.ts +60 -0
- package/src/language/adapters/php.ts +31 -0
- package/src/language/adapters/python.ts +29 -0
- package/src/language/adapters/ruby.ts +31 -0
- package/src/language/adapters/rust.ts +33 -0
- package/src/language/adapters/typescript.ts +37 -0
- package/src/language/base.ts +167 -0
- package/src/language/generic.ts +58 -0
- package/src/language/registry.ts +126 -0
- package/src/language/types.ts +58 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { LanguageRegistry } from '../language/registry.js';
|
|
3
|
+
const registry = new LanguageRegistry();
|
|
4
|
+
const adapters = registry.getInfoList().filter(a => a.key !== 'generic');
|
|
5
|
+
describe('Language Adapter Registry', () => {
|
|
6
|
+
it('registers all adapters', () => {
|
|
7
|
+
expect(adapters.length).toBeGreaterThan(0);
|
|
8
|
+
expect(adapters.find(a => a.key === 'ts')).toBeTruthy();
|
|
9
|
+
expect(adapters.find(a => a.key === 'py')).toBeTruthy();
|
|
10
|
+
expect(adapters.find(a => a.key === 'go')).toBeTruthy();
|
|
11
|
+
expect(adapters.find(a => a.key === 'rs')).toBeTruthy();
|
|
12
|
+
expect(adapters.find(a => a.key === 'java')).toBeTruthy();
|
|
13
|
+
expect(adapters.find(a => a.key === 'html')).toBeTruthy();
|
|
14
|
+
expect(adapters.find(a => a.key === 'css')).toBeTruthy();
|
|
15
|
+
expect(adapters.find(a => a.key === 'json')).toBeTruthy();
|
|
16
|
+
});
|
|
17
|
+
it('maps file extensions to correct adapters', () => {
|
|
18
|
+
expect(registry.getAdapter('file.ts').key).toBe('ts');
|
|
19
|
+
expect(registry.getAdapter('file.js').key).toBe('js');
|
|
20
|
+
expect(registry.getAdapter('file.py').key).toBe('py');
|
|
21
|
+
expect(registry.getAdapter('file.go').key).toBe('go');
|
|
22
|
+
expect(registry.getAdapter('file.rs').key).toBe('rs');
|
|
23
|
+
expect(registry.getAdapter('file.java').key).toBe('java');
|
|
24
|
+
expect(registry.getAdapter('file.rb').key).toBe('rb');
|
|
25
|
+
expect(registry.getAdapter('file.c').key).toBe('c');
|
|
26
|
+
expect(registry.getAdapter('file.cpp').key).toBe('cpp');
|
|
27
|
+
expect(registry.getAdapter('file.cs').key).toBe('csharp');
|
|
28
|
+
expect(registry.getAdapter('file.php').key).toBe('php');
|
|
29
|
+
expect(registry.getAdapter('file.html').key).toBe('html');
|
|
30
|
+
expect(registry.getAdapter('file.css').key).toBe('css');
|
|
31
|
+
expect(registry.getAdapter('file.json').key).toBe('json');
|
|
32
|
+
});
|
|
33
|
+
it('returns generic for unknown extensions', () => {
|
|
34
|
+
const { adapter, key } = registry.getAdapter('file.xyz');
|
|
35
|
+
expect(key).toBe('generic');
|
|
36
|
+
expect(adapter.languageName()).toBe('Generic');
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
const SAMPLES = {
|
|
40
|
+
ts: `import { readFileSync } from 'node:fs';
|
|
41
|
+
export interface Config { name: string }
|
|
42
|
+
export class App { start() {} }
|
|
43
|
+
function helper() {}`,
|
|
44
|
+
js: `const { join } = require('node:path');
|
|
45
|
+
class App { constructor() { this.name = 'app'; } }
|
|
46
|
+
function helper() {}`,
|
|
47
|
+
py: `import os
|
|
48
|
+
def hello(name):
|
|
49
|
+
pass
|
|
50
|
+
class App:
|
|
51
|
+
def start(self):
|
|
52
|
+
pass`,
|
|
53
|
+
go: `package main
|
|
54
|
+
import "fmt"
|
|
55
|
+
func hello() {}
|
|
56
|
+
func (a App) Start() {}`,
|
|
57
|
+
rs: `use std::fs;
|
|
58
|
+
pub struct User { name: String }
|
|
59
|
+
pub trait Runner { fn run(&self); }
|
|
60
|
+
pub fn hello() -> String { "hi".into() }
|
|
61
|
+
enum Color { Red, Green }`,
|
|
62
|
+
java: `import java.util.List;
|
|
63
|
+
public class App {
|
|
64
|
+
public void start() {}
|
|
65
|
+
public interface Handler { void handle(); }
|
|
66
|
+
}`,
|
|
67
|
+
rb: `require 'json'
|
|
68
|
+
module App
|
|
69
|
+
class User
|
|
70
|
+
def login; end
|
|
71
|
+
end
|
|
72
|
+
end`,
|
|
73
|
+
c: `#include <stdio.h>
|
|
74
|
+
struct Point { int x; int y; };
|
|
75
|
+
void hello() { printf("hi"); }`,
|
|
76
|
+
cpp: `#include <vector>
|
|
77
|
+
class App { void start() {} };
|
|
78
|
+
struct Point { int x; };
|
|
79
|
+
void hello() {}`,
|
|
80
|
+
csharp: `using System;
|
|
81
|
+
class App { void Start() {} }
|
|
82
|
+
interface IHandler { void Handle(); }`,
|
|
83
|
+
php: `<?php
|
|
84
|
+
function hello() {}
|
|
85
|
+
class App {
|
|
86
|
+
public function start() {}
|
|
87
|
+
}`,
|
|
88
|
+
json: `{ "name": "test", "version": "1.0.0" }`,
|
|
89
|
+
css: `.btn { color: red; }
|
|
90
|
+
#header { font-size: 16px; }`,
|
|
91
|
+
html: `<!DOCTYPE html><html><body><p>Hello</p></body></html>`,
|
|
92
|
+
};
|
|
93
|
+
for (const info of adapters) {
|
|
94
|
+
const sample = SAMPLES[info.key];
|
|
95
|
+
if (!sample)
|
|
96
|
+
continue;
|
|
97
|
+
describe(`${info.name} (${info.key})`, () => {
|
|
98
|
+
const { adapter } = registry.getAdapter(`file.${info.extensions[0]?.replace('.', '') || 'txt'}`);
|
|
99
|
+
it('parses content', async () => {
|
|
100
|
+
const result = await adapter.parse(sample, `file${info.extensions[0] || ''}`);
|
|
101
|
+
expect(result).toBeTruthy();
|
|
102
|
+
expect(Array.isArray(result.symbols)).toBe(true);
|
|
103
|
+
expect(Array.isArray(result.imports)).toBe(true);
|
|
104
|
+
expect(Array.isArray(result.exports)).toBe(true);
|
|
105
|
+
}, 30000);
|
|
106
|
+
if (info.supportsSymbols) {
|
|
107
|
+
it('extracts symbols', async () => {
|
|
108
|
+
const result = await adapter.parse(sample, `file${info.extensions[0] || ''}`);
|
|
109
|
+
expect(result.symbols.length).toBeGreaterThan(0);
|
|
110
|
+
for (const sym of result.symbols) {
|
|
111
|
+
expect(sym.name).toBeTruthy();
|
|
112
|
+
expect(sym.type).toBeTruthy();
|
|
113
|
+
expect(sym.startLine).toBeGreaterThan(0);
|
|
114
|
+
expect(sym.endLine).toBeGreaterThanOrEqual(sym.startLine);
|
|
115
|
+
}
|
|
116
|
+
}, 30000);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=parser.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../src/indexer/parser.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../../../src/language/adapters/c.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAqBlE,qBAAa,QAAS,SAAQ,qBAAqB;IACjD,SAAS,CAAC,OAAO,gBAAW;IAC5B,YAAY,IAAI,MAAM;IACtB,cAAc,IAAI,MAAM,EAAE;CAC3B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { BaseTreeSitterAdapter } from '../base.js';
|
|
3
|
+
import { SymbolType } from '../types.js';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const GRAMMAR = {
|
|
6
|
+
language: 'c',
|
|
7
|
+
wasmPath: require.resolve('tree-sitter-c/tree-sitter-c.wasm'),
|
|
8
|
+
queryPatterns: {
|
|
9
|
+
function_definition: '(function_definition declarator: (function_declarator declarator: (identifier) @name))',
|
|
10
|
+
struct_specifier: '(struct_specifier name: (type_identifier) @name)',
|
|
11
|
+
},
|
|
12
|
+
typeMap: {
|
|
13
|
+
function_definition: SymbolType.Function,
|
|
14
|
+
struct_specifier: SymbolType.Struct,
|
|
15
|
+
},
|
|
16
|
+
nameNodeTypes: ['identifier', 'type_identifier', 'field_identifier'],
|
|
17
|
+
importNodeTypes: ['preproc_include'],
|
|
18
|
+
exportNodeTypes: [],
|
|
19
|
+
};
|
|
20
|
+
export class CAdapter extends BaseTreeSitterAdapter {
|
|
21
|
+
grammar = GRAMMAR;
|
|
22
|
+
languageName() { return 'C'; }
|
|
23
|
+
fileExtensions() { return ['.c', '.h']; }
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c.js","sourceRoot":"","sources":["../../../src/language/adapters/c.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,OAAO,GAAkB;IAC7B,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC;IAC7D,aAAa,EAAE;QACb,mBAAmB,EAAE,wFAAwF;QAC7G,gBAAgB,EAAE,kDAAkD;KACrE;IACD,OAAO,EAAE;QACP,mBAAmB,EAAE,UAAU,CAAC,QAAQ;QACxC,gBAAgB,EAAE,UAAU,CAAC,MAAM;KACpC;IACD,aAAa,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;IACpE,eAAe,EAAE,CAAC,iBAAiB,CAAC;IACpC,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,OAAO,QAAS,SAAQ,qBAAqB;IACvC,OAAO,GAAG,OAAO,CAAC;IAC5B,YAAY,KAAa,OAAO,GAAG,CAAC,CAAC,CAAC;IACtC,cAAc,KAAe,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpp.d.ts","sourceRoot":"","sources":["../../../src/language/adapters/cpp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAyBlE,qBAAa,UAAW,SAAQ,qBAAqB;IACnD,SAAS,CAAC,OAAO,gBAAW;IAC5B,YAAY,IAAI,MAAM;IACtB,cAAc,IAAI,MAAM,EAAE;CAC3B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { BaseTreeSitterAdapter } from '../base.js';
|
|
3
|
+
import { SymbolType } from '../types.js';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const GRAMMAR = {
|
|
6
|
+
language: 'cpp',
|
|
7
|
+
wasmPath: require.resolve('tree-sitter-cpp/tree-sitter-cpp.wasm'),
|
|
8
|
+
queryPatterns: {
|
|
9
|
+
function_definition: '(function_definition declarator: (function_declarator declarator: (identifier) @name))',
|
|
10
|
+
class_specifier: '(class_specifier name: (type_identifier) @name)',
|
|
11
|
+
struct_specifier: '(struct_specifier name: (type_identifier) @name)',
|
|
12
|
+
enum_specifier: '(enum_specifier name: (type_identifier) @name)',
|
|
13
|
+
},
|
|
14
|
+
typeMap: {
|
|
15
|
+
function_definition: SymbolType.Function,
|
|
16
|
+
class_specifier: SymbolType.Class,
|
|
17
|
+
struct_specifier: SymbolType.Struct,
|
|
18
|
+
enum_specifier: SymbolType.Enum,
|
|
19
|
+
},
|
|
20
|
+
nameNodeTypes: ['identifier', 'type_identifier', 'field_identifier'],
|
|
21
|
+
importNodeTypes: ['preproc_include', 'using_declaration'],
|
|
22
|
+
exportNodeTypes: [],
|
|
23
|
+
};
|
|
24
|
+
export class CppAdapter extends BaseTreeSitterAdapter {
|
|
25
|
+
grammar = GRAMMAR;
|
|
26
|
+
languageName() { return 'C++'; }
|
|
27
|
+
fileExtensions() { return ['.cpp', '.cxx', '.cc', '.c++', '.hpp', '.hxx', '.hh']; }
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=cpp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpp.js","sourceRoot":"","sources":["../../../src/language/adapters/cpp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,OAAO,GAAkB;IAC7B,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC;IACjE,aAAa,EAAE;QACb,mBAAmB,EAAE,wFAAwF;QAC7G,eAAe,EAAE,iDAAiD;QAClE,gBAAgB,EAAE,kDAAkD;QACpE,cAAc,EAAE,gDAAgD;KACjE;IACD,OAAO,EAAE;QACP,mBAAmB,EAAE,UAAU,CAAC,QAAQ;QACxC,eAAe,EAAE,UAAU,CAAC,KAAK;QACjC,gBAAgB,EAAE,UAAU,CAAC,MAAM;QACnC,cAAc,EAAE,UAAU,CAAC,IAAI;KAChC;IACD,aAAa,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;IACpE,eAAe,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IACzD,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,OAAO,UAAW,SAAQ,qBAAqB;IACzC,OAAO,GAAG,OAAO,CAAC;IAC5B,YAAY,KAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IACxC,cAAc,KAAe,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CAC9F"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseTreeSitterAdapter, GrammarConfig } from '../base.js';
|
|
2
|
+
export declare class CSharpAdapter extends BaseTreeSitterAdapter {
|
|
3
|
+
protected grammar: GrammarConfig;
|
|
4
|
+
languageName(): string;
|
|
5
|
+
fileExtensions(): string[];
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=csharp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csharp.d.ts","sourceRoot":"","sources":["../../../src/language/adapters/csharp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA4BlE,qBAAa,aAAc,SAAQ,qBAAqB;IACtD,SAAS,CAAC,OAAO,gBAAW;IAC5B,YAAY,IAAI,MAAM;IACtB,cAAc,IAAI,MAAM,EAAE;CAC3B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { BaseTreeSitterAdapter } from '../base.js';
|
|
3
|
+
import { SymbolType } from '../types.js';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const GRAMMAR = {
|
|
6
|
+
language: 'csharp',
|
|
7
|
+
wasmPath: require.resolve('tree-sitter-c-sharp/tree-sitter-c_sharp.wasm'),
|
|
8
|
+
queryPatterns: {
|
|
9
|
+
method_declaration: '(method_declaration name: (identifier) @name)',
|
|
10
|
+
class_declaration: '(class_declaration name: (identifier) @name)',
|
|
11
|
+
interface_declaration: '(interface_declaration name: (identifier) @name)',
|
|
12
|
+
struct_declaration: '(struct_declaration name: (identifier) @name)',
|
|
13
|
+
enum_declaration: '(enum_declaration name: (identifier) @name)',
|
|
14
|
+
},
|
|
15
|
+
typeMap: {
|
|
16
|
+
method_declaration: SymbolType.Method,
|
|
17
|
+
class_declaration: SymbolType.Class,
|
|
18
|
+
interface_declaration: SymbolType.Interface,
|
|
19
|
+
struct_declaration: SymbolType.Struct,
|
|
20
|
+
enum_declaration: SymbolType.Enum,
|
|
21
|
+
using_directive: SymbolType.Import,
|
|
22
|
+
},
|
|
23
|
+
nameNodeTypes: ['identifier'],
|
|
24
|
+
importNodeTypes: ['using_directive'],
|
|
25
|
+
exportNodeTypes: [],
|
|
26
|
+
};
|
|
27
|
+
export class CSharpAdapter extends BaseTreeSitterAdapter {
|
|
28
|
+
grammar = GRAMMAR;
|
|
29
|
+
languageName() { return 'C#'; }
|
|
30
|
+
fileExtensions() { return ['.cs']; }
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=csharp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csharp.js","sourceRoot":"","sources":["../../../src/language/adapters/csharp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,OAAO,GAAkB;IAC7B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,8CAA8C,CAAC;IACzE,aAAa,EAAE;QACb,kBAAkB,EAAE,+CAA+C;QACnE,iBAAiB,EAAE,8CAA8C;QACjE,qBAAqB,EAAE,kDAAkD;QACzE,kBAAkB,EAAE,+CAA+C;QACnE,gBAAgB,EAAE,6CAA6C;KAChE;IACD,OAAO,EAAE;QACP,kBAAkB,EAAE,UAAU,CAAC,MAAM;QACrC,iBAAiB,EAAE,UAAU,CAAC,KAAK;QACnC,qBAAqB,EAAE,UAAU,CAAC,SAAS;QAC3C,kBAAkB,EAAE,UAAU,CAAC,MAAM;QACrC,gBAAgB,EAAE,UAAU,CAAC,IAAI;QACjC,eAAe,EAAE,UAAU,CAAC,MAAM;KACnC;IACD,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,eAAe,EAAE,CAAC,iBAAiB,CAAC;IACpC,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,OAAO,aAAc,SAAQ,qBAAqB;IAC5C,OAAO,GAAG,OAAO,CAAC;IAC5B,YAAY,KAAa,OAAO,IAAI,CAAC,CAAC,CAAC;IACvC,cAAc,KAAe,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC/C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseTreeSitterAdapter, GrammarConfig } from '../base.js';
|
|
2
|
+
import { CodeSymbol } from '../types.js';
|
|
3
|
+
export declare class CssAdapter extends BaseTreeSitterAdapter {
|
|
4
|
+
protected grammar: GrammarConfig;
|
|
5
|
+
languageName(): string;
|
|
6
|
+
fileExtensions(): string[];
|
|
7
|
+
protected extractSymbolsFromTree(tree: any, filePath: string, content: string): Promise<CodeSymbol[]>;
|
|
8
|
+
private collectRules;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=css.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../../src/language/adapters/css.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAcrD,qBAAa,UAAW,SAAQ,qBAAqB;IACnD,SAAS,CAAC,OAAO,gBAAW;IAC5B,YAAY,IAAI,MAAM;IACtB,cAAc,IAAI,MAAM,EAAE;cAEV,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAM3G,OAAO,CAAC,YAAY;CA6BrB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { BaseTreeSitterAdapter } from '../base.js';
|
|
3
|
+
import { SymbolType } from '../types.js';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const GRAMMAR = {
|
|
6
|
+
language: 'css',
|
|
7
|
+
wasmPath: require.resolve('tree-sitter-css/tree-sitter-css.wasm'),
|
|
8
|
+
queryPatterns: {},
|
|
9
|
+
typeMap: {},
|
|
10
|
+
nameNodeTypes: [],
|
|
11
|
+
importNodeTypes: [],
|
|
12
|
+
exportNodeTypes: [],
|
|
13
|
+
};
|
|
14
|
+
export class CssAdapter extends BaseTreeSitterAdapter {
|
|
15
|
+
grammar = GRAMMAR;
|
|
16
|
+
languageName() { return 'CSS'; }
|
|
17
|
+
fileExtensions() { return ['.css', '.scss', '.less']; }
|
|
18
|
+
async extractSymbolsFromTree(tree, filePath, content) {
|
|
19
|
+
const symbols = [];
|
|
20
|
+
this.collectRules(tree.rootNode, symbols, filePath);
|
|
21
|
+
return symbols;
|
|
22
|
+
}
|
|
23
|
+
collectRules(node, symbols, filePath) {
|
|
24
|
+
if (node.type === 'rule_set') {
|
|
25
|
+
let selectorText = '';
|
|
26
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
27
|
+
const child = node.child(i);
|
|
28
|
+
if (child && child.type === 'selectors') {
|
|
29
|
+
selectorText = child.text || '';
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (selectorText) {
|
|
34
|
+
const first = selectorText.split(',')[0].trim();
|
|
35
|
+
symbols.push({
|
|
36
|
+
id: `${filePath}:${node.startPosition.row + 1}`,
|
|
37
|
+
name: first,
|
|
38
|
+
type: SymbolType.Module,
|
|
39
|
+
language: 'css',
|
|
40
|
+
file: filePath,
|
|
41
|
+
startLine: node.startPosition.row + 1,
|
|
42
|
+
endLine: node.endPosition.row + 1,
|
|
43
|
+
parent: null, children: [], metadata: { selector: selectorText },
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
48
|
+
const child = node.child(i);
|
|
49
|
+
if (child)
|
|
50
|
+
this.collectRules(child, symbols, filePath);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../../src/language/adapters/css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAErD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,OAAO,GAAkB;IAC7B,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC;IACjE,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,OAAO,UAAW,SAAQ,qBAAqB;IACzC,OAAO,GAAG,OAAO,CAAC;IAC5B,YAAY,KAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IACxC,cAAc,KAAe,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEvD,KAAK,CAAC,sBAAsB,CAAC,IAAS,EAAE,QAAgB,EAAE,OAAe;QACjF,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,IAAS,EAAE,OAAqB,EAAE,QAAgB;QACrE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACxC,YAAY,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;oBAChC,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE;oBAC/C,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,UAAU,CAAC,MAAM;oBACvB,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;oBACrC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;oBACjC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;iBACjE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,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,CAAC;YAC5B,IAAI,KAAK;gBAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/language/adapters/go.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAsBlE,qBAAa,SAAU,SAAQ,qBAAqB;IAClD,SAAS,CAAC,OAAO,gBAAW;IAC5B,YAAY,IAAI,MAAM;IACtB,cAAc,IAAI,MAAM,EAAE;CAC3B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { BaseTreeSitterAdapter } from '../base.js';
|
|
3
|
+
import { SymbolType } from '../types.js';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const GRAMMAR = {
|
|
6
|
+
language: 'go',
|
|
7
|
+
wasmPath: require.resolve('tree-sitter-go/tree-sitter-go.wasm'),
|
|
8
|
+
queryPatterns: {
|
|
9
|
+
function_declaration: '(function_declaration name: (identifier) @name)',
|
|
10
|
+
method_declaration: '(method_declaration name: (field_identifier) @name)',
|
|
11
|
+
},
|
|
12
|
+
typeMap: {
|
|
13
|
+
function_declaration: SymbolType.Function,
|
|
14
|
+
method_declaration: SymbolType.Method,
|
|
15
|
+
import_declaration: SymbolType.Import,
|
|
16
|
+
},
|
|
17
|
+
nameNodeTypes: ['identifier', 'field_identifier'],
|
|
18
|
+
importNodeTypes: ['import_declaration', 'import_spec'],
|
|
19
|
+
exportNodeTypes: [],
|
|
20
|
+
};
|
|
21
|
+
export class GoAdapter extends BaseTreeSitterAdapter {
|
|
22
|
+
grammar = GRAMMAR;
|
|
23
|
+
languageName() { return 'Go'; }
|
|
24
|
+
fileExtensions() { return ['.go']; }
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=go.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/language/adapters/go.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,OAAO,GAAkB;IAC7B,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC;IAC/D,aAAa,EAAE;QACb,oBAAoB,EAAE,iDAAiD;QACvE,kBAAkB,EAAE,qDAAqD;KAC1E;IACD,OAAO,EAAE;QACP,oBAAoB,EAAE,UAAU,CAAC,QAAQ;QACzC,kBAAkB,EAAE,UAAU,CAAC,MAAM;QACrC,kBAAkB,EAAE,UAAU,CAAC,MAAM;KACtC;IACD,aAAa,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC;IACjD,eAAe,EAAE,CAAC,oBAAoB,EAAE,aAAa,CAAC;IACtD,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,OAAO,SAAU,SAAQ,qBAAqB;IACxC,OAAO,GAAG,OAAO,CAAC;IAC5B,YAAY,KAAa,OAAO,IAAI,CAAC,CAAC,CAAC;IACvC,cAAc,KAAe,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC/C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseTreeSitterAdapter, GrammarConfig } from '../base.js';
|
|
2
|
+
import { CodeSymbol } from '../types.js';
|
|
3
|
+
export declare class HtmlAdapter extends BaseTreeSitterAdapter {
|
|
4
|
+
protected grammar: GrammarConfig;
|
|
5
|
+
languageName(): string;
|
|
6
|
+
fileExtensions(): string[];
|
|
7
|
+
protected extractSymbolsFromTree(tree: any, filePath: string, content: string): Promise<CodeSymbol[]>;
|
|
8
|
+
private collectElements;
|
|
9
|
+
private extractTagName;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=html.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../src/language/adapters/html.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAcrD,qBAAa,WAAY,SAAQ,qBAAqB;IACpD,SAAS,CAAC,OAAO,gBAAW;IAC5B,YAAY,IAAI,MAAM;IACtB,cAAc,IAAI,MAAM,EAAE;cAEV,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAM3G,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,cAAc;CAcvB"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { BaseTreeSitterAdapter } from '../base.js';
|
|
3
|
+
import { SymbolType } from '../types.js';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const GRAMMAR = {
|
|
6
|
+
language: 'html',
|
|
7
|
+
wasmPath: require.resolve('tree-sitter-html/tree-sitter-html.wasm'),
|
|
8
|
+
queryPatterns: {},
|
|
9
|
+
typeMap: {},
|
|
10
|
+
nameNodeTypes: ['tag_name', 'attribute_name'],
|
|
11
|
+
importNodeTypes: [],
|
|
12
|
+
exportNodeTypes: [],
|
|
13
|
+
};
|
|
14
|
+
export class HtmlAdapter extends BaseTreeSitterAdapter {
|
|
15
|
+
grammar = GRAMMAR;
|
|
16
|
+
languageName() { return 'HTML'; }
|
|
17
|
+
fileExtensions() { return ['.html', '.htm']; }
|
|
18
|
+
async extractSymbolsFromTree(tree, filePath, content) {
|
|
19
|
+
const symbols = [];
|
|
20
|
+
this.collectElements(tree.rootNode, symbols, filePath);
|
|
21
|
+
return symbols;
|
|
22
|
+
}
|
|
23
|
+
collectElements(node, symbols, filePath) {
|
|
24
|
+
if (node.type === 'element') {
|
|
25
|
+
const tagName = this.extractTagName(node);
|
|
26
|
+
const significant = ['script', 'style', 'template', 'main', 'nav', 'header', 'footer',
|
|
27
|
+
'section', 'article', 'form', 'aside', 'dialog', 'details'];
|
|
28
|
+
if (significant.includes(tagName) || tagName.includes('-')) {
|
|
29
|
+
symbols.push({
|
|
30
|
+
id: `${filePath}:${node.startPosition.row + 1}`,
|
|
31
|
+
name: tagName,
|
|
32
|
+
type: SymbolType.Module,
|
|
33
|
+
language: 'html',
|
|
34
|
+
file: filePath,
|
|
35
|
+
startLine: node.startPosition.row + 1,
|
|
36
|
+
endLine: node.endPosition.row + 1,
|
|
37
|
+
parent: null,
|
|
38
|
+
children: [],
|
|
39
|
+
metadata: { tag: tagName },
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
44
|
+
const child = node.child(i);
|
|
45
|
+
if (child)
|
|
46
|
+
this.collectElements(child, symbols, filePath);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
extractTagName(node) {
|
|
50
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
51
|
+
const child = node.child(i);
|
|
52
|
+
if (!child)
|
|
53
|
+
continue;
|
|
54
|
+
if (child.type === 'tag_name')
|
|
55
|
+
return child.text;
|
|
56
|
+
if (child.type === 'start_tag' || child.type === 'end_tag') {
|
|
57
|
+
for (let j = 0; j < child.childCount; j++) {
|
|
58
|
+
const grandchild = child.child(j);
|
|
59
|
+
if (grandchild && grandchild.type === 'tag_name')
|
|
60
|
+
return grandchild.text;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return 'unknown';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/language/adapters/html.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"java.d.ts","sourceRoot":"","sources":["../../../src/language/adapters/java.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA0BlE,qBAAa,WAAY,SAAQ,qBAAqB;IACpD,SAAS,CAAC,OAAO,gBAAW;IAC5B,YAAY,IAAI,MAAM;IACtB,cAAc,IAAI,MAAM,EAAE;CAC3B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { BaseTreeSitterAdapter } from '../base.js';
|
|
3
|
+
import { SymbolType } from '../types.js';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const GRAMMAR = {
|
|
6
|
+
language: 'java',
|
|
7
|
+
wasmPath: require.resolve('tree-sitter-java/tree-sitter-java.wasm'),
|
|
8
|
+
queryPatterns: {
|
|
9
|
+
method_declaration: '(method_declaration name: (identifier) @name)',
|
|
10
|
+
class_declaration: '(class_declaration name: (identifier) @name)',
|
|
11
|
+
interface_declaration: '(interface_declaration name: (identifier) @name)',
|
|
12
|
+
enum_declaration: '(enum_declaration name: (identifier) @name)',
|
|
13
|
+
},
|
|
14
|
+
typeMap: {
|
|
15
|
+
method_declaration: SymbolType.Method,
|
|
16
|
+
class_declaration: SymbolType.Class,
|
|
17
|
+
interface_declaration: SymbolType.Interface,
|
|
18
|
+
enum_declaration: SymbolType.Enum,
|
|
19
|
+
import_declaration: SymbolType.Import,
|
|
20
|
+
},
|
|
21
|
+
nameNodeTypes: ['identifier'],
|
|
22
|
+
importNodeTypes: ['import_declaration'],
|
|
23
|
+
exportNodeTypes: [],
|
|
24
|
+
};
|
|
25
|
+
export class JavaAdapter extends BaseTreeSitterAdapter {
|
|
26
|
+
grammar = GRAMMAR;
|
|
27
|
+
languageName() { return 'Java'; }
|
|
28
|
+
fileExtensions() { return ['.java']; }
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=java.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"java.js","sourceRoot":"","sources":["../../../src/language/adapters/java.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,OAAO,GAAkB;IAC7B,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC;IACnE,aAAa,EAAE;QACb,kBAAkB,EAAE,+CAA+C;QACnE,iBAAiB,EAAE,8CAA8C;QACjE,qBAAqB,EAAE,kDAAkD;QACzE,gBAAgB,EAAE,6CAA6C;KAChE;IACD,OAAO,EAAE;QACP,kBAAkB,EAAE,UAAU,CAAC,MAAM;QACrC,iBAAiB,EAAE,UAAU,CAAC,KAAK;QACnC,qBAAqB,EAAE,UAAU,CAAC,SAAS;QAC3C,gBAAgB,EAAE,UAAU,CAAC,IAAI;QACjC,kBAAkB,EAAE,UAAU,CAAC,MAAM;KACtC;IACD,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,eAAe,EAAE,CAAC,oBAAoB,CAAC;IACvC,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,OAAO,WAAY,SAAQ,qBAAqB;IAC1C,OAAO,GAAG,OAAO,CAAC;IAC5B,YAAY,KAAa,OAAO,MAAM,CAAC,CAAC,CAAC;IACzC,cAAc,KAAe,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACjD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseTreeSitterAdapter, GrammarConfig } from '../base.js';
|
|
2
|
+
export declare class JavaScriptAdapter extends BaseTreeSitterAdapter {
|
|
3
|
+
protected grammar: GrammarConfig;
|
|
4
|
+
languageName(): string;
|
|
5
|
+
fileExtensions(): string[];
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=javascript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../../src/language/adapters/javascript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2BlE,qBAAa,iBAAkB,SAAQ,qBAAqB;IAC1D,SAAS,CAAC,OAAO,gBAAW;IAC5B,YAAY,IAAI,MAAM;IACtB,cAAc,IAAI,MAAM,EAAE;CAC3B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { BaseTreeSitterAdapter } from '../base.js';
|
|
3
|
+
import { SymbolType } from '../types.js';
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const GRAMMAR = {
|
|
6
|
+
language: 'js',
|
|
7
|
+
wasmPath: require.resolve('tree-sitter-typescript/tree-sitter-typescript.wasm'),
|
|
8
|
+
queryPatterns: {
|
|
9
|
+
function_declaration: '(function_declaration name: (identifier) @name)',
|
|
10
|
+
method_definition: '(method_definition name: (property_identifier) @name)',
|
|
11
|
+
class_declaration: '(class_declaration name: (identifier) @name)',
|
|
12
|
+
},
|
|
13
|
+
typeMap: {
|
|
14
|
+
function_declaration: SymbolType.Function,
|
|
15
|
+
arrow_function: SymbolType.Function,
|
|
16
|
+
method_definition: SymbolType.Method,
|
|
17
|
+
class_declaration: SymbolType.Class,
|
|
18
|
+
import_statement: SymbolType.Import,
|
|
19
|
+
import_declaration: SymbolType.Import,
|
|
20
|
+
export_statement: SymbolType.Export,
|
|
21
|
+
},
|
|
22
|
+
nameNodeTypes: ['identifier', 'property_identifier'],
|
|
23
|
+
importNodeTypes: ['import_statement', 'import_declaration'],
|
|
24
|
+
exportNodeTypes: ['export_statement'],
|
|
25
|
+
};
|
|
26
|
+
export class JavaScriptAdapter extends BaseTreeSitterAdapter {
|
|
27
|
+
grammar = GRAMMAR;
|
|
28
|
+
languageName() { return 'JavaScript'; }
|
|
29
|
+
fileExtensions() { return ['.js', '.jsx', '.mjs', '.cjs']; }
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=javascript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/language/adapters/javascript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,OAAO,GAAkB;IAC7B,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,oDAAoD,CAAC;IAC/E,aAAa,EAAE;QACb,oBAAoB,EAAE,iDAAiD;QACvE,iBAAiB,EAAE,uDAAuD;QAC1E,iBAAiB,EAAE,8CAA8C;KAClE;IACD,OAAO,EAAE;QACP,oBAAoB,EAAE,UAAU,CAAC,QAAQ;QACzC,cAAc,EAAE,UAAU,CAAC,QAAQ;QACnC,iBAAiB,EAAE,UAAU,CAAC,MAAM;QACpC,iBAAiB,EAAE,UAAU,CAAC,KAAK;QACnC,gBAAgB,EAAE,UAAU,CAAC,MAAM;QACnC,kBAAkB,EAAE,UAAU,CAAC,MAAM;QACrC,gBAAgB,EAAE,UAAU,CAAC,MAAM;KACpC;IACD,aAAa,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;IACpD,eAAe,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;IAC3D,eAAe,EAAE,CAAC,kBAAkB,CAAC;CACtC,CAAC;AAEF,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IAChD,OAAO,GAAG,OAAO,CAAC;IAC5B,YAAY,KAAa,OAAO,YAAY,CAAC,CAAC,CAAC;IAC/C,cAAc,KAAe,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACvE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseTreeSitterAdapter, GrammarConfig } from '../base.js';
|
|
2
|
+
import { CodeSymbol } from '../types.js';
|
|
3
|
+
export declare class JsonAdapter extends BaseTreeSitterAdapter {
|
|
4
|
+
protected grammar: GrammarConfig;
|
|
5
|
+
languageName(): string;
|
|
6
|
+
fileExtensions(): string[];
|
|
7
|
+
fileNames(): string[];
|
|
8
|
+
protected extractSymbolsFromTree(tree: any, filePath: string, content: string): Promise<CodeSymbol[]>;
|
|
9
|
+
private walkPairs;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/language/adapters/json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAcrD,qBAAa,WAAY,SAAQ,qBAAqB;IACpD,SAAS,CAAC,OAAO,gBAAW;IAC5B,YAAY,IAAI,MAAM;IACtB,cAAc,IAAI,MAAM,EAAE;IAC1B,SAAS,IAAI,MAAM,EAAE;cAEL,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAM3G,OAAO,CAAC,SAAS;CA+BlB"}
|