Skip to content

Commit f30eafb

Browse files
pqnCopybara Bot
andauthored
Project import generated by Copybara. (#16)
GitOrigin-RevId: 6475fb5b2ef951b0772281cce1f9c79354fd9f7f Co-authored-by: Copybara Bot <[email protected]>
1 parent 0b6fe29 commit f30eafb

23 files changed

+228
-65
lines changed

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,23 +73,27 @@ Queries try to follow the [conventions established by tree-sitter.](https://tree
7373

7474
Most captures also include documentation as `@doc`. `@definition.function` and `@definition.method` also capture `@codeium.parameters`.
7575

76-
| | Python | TypeScript | JavaScript | Go | Java | C++ | PHP |
76+
| Top-level capture | Python | TypeScript | JavaScript | Go | Java | C++ | PHP |
7777
| ---------------------- | ------ | ---------- | ---------- | --- | ---- | ------ | --- |
7878
| `@definition.class` ||||||||
7979
| `@definition.function` ||[^3] ||| N/A |||
8080
| `@definition.method` |[^1] |[^3] ||||[^1] ||
8181
| `@definition.interface` | N/A || N/A ||| N/A ||
82-
| `@definition.namespace` | N/A || N/A | N/A | N/A || |
82+
| `@definition.namespace` | N/A || N/A | N/A | N/A || |
8383
| `@definition.module` | N/A || N/A | N/A | N/A || N/A |
8484
| `@definition.type` | N/A || N/A || N/A |||
8585
| `@definition.constant` ||||||||
8686
| `@definition.enum` ||||||||
8787
| `@definition.import` ||||||| N/A |
8888
| `@definition.include` | N/A | N/A | N/A | N/A | N/A |||
89-
| `@definition.package` | N/A | N/A | N/A | || N/A | N/A |
89+
| `@definition.package` | N/A | N/A | N/A | || N/A | N/A |
9090
| `@reference.call` ||||||||
9191
| `@reference.class` |[^2] |||||||
9292

93+
| Language | Supported injections |
94+
| -------- | ---------------------- |
95+
| Vue | JavaScript, TypeScript |
96+
9397
[^1]: Currently functions and methods are not distinguished.
9498
[^2]: Function calls and class instantiation are indistinguishable in Python.
9599
[^3]: Function and method signatures are captured individually in TypeScript. Therefore, the `@doc` capture may not exist on all nodes.

download_parse.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set -euo pipefail
33

44
cd "$(dirname "${BASH_SOURCE[0]}")"
5-
VERSION="v0.0.8"
5+
VERSION="v0.0.9"
66
rm -f parse.gz parse
77
curl -Lo parse.gz "https://github.com/Exafunction/codeium-parse/releases/download/$VERSION/parse.gz"
88
gzip -d parse.gz

goldens/test.cpp.golden

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
Name: baz
2+
Parameters: (const std::string& bing)
3+
Doc:
4+
// Declaration.
5+
Declaration (definition.function):
6+
bool baz(const std::string& bing);
7+
18
Name: bar::bar2
29
Definition (definition.namespace):
310
namespace bar::bar2 {

goldens/test.go.golden

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,43 @@
1+
Name: test_files
2+
Definition (definition.package):
3+
package test_files
4+
15
Name: Pattern0
26
Doc:
37
// Pattern 0.
48
Definition (definition.class):
59
type Pattern0 struct {
610
a string
711
}
12+
Lineage: [test_files]
13+
Lineage types: [package]
814

915
Name: Pattern1
1016
Doc:
1117
// Pattern 1.
1218
Definition (definition.interface):
1319
type Pattern1 interface {
20+
// Hi
1421
a() string
1522
}
23+
Lineage: [test_files]
24+
Lineage types: [package]
25+
26+
Name: a
27+
Parameters: ()
28+
Doc:
29+
// Hi
30+
Declaration (definition.method):
31+
a() string
32+
Lineage: [test_files Pattern1]
33+
Lineage types: [package interface]
1634

1735
Name: Pattern2
1836
Parameters: ()
1937
Definition (definition.function):
2038
func Pattern2() {}
39+
Lineage: [test_files]
40+
Lineage types: [package]
2141

2242
Name: Method
2343
Parameters: (string)
@@ -26,8 +46,8 @@ Doc:
2646
// here.
2747
Definition (definition.method):
2848
func (p *Pattern0) Method(string) {}
29-
Lineage: [*Pattern0]
30-
Lineage types: [class]
49+
Lineage: [test_files *Pattern0]
50+
Lineage types: [package class]
3151

3252
Name: Method2
3353
Parameters: (a string)
@@ -41,8 +61,8 @@ func (p Pattern0) Method2(a string) string {
4161
s2.(*Pattern0).Method("")
4262
return a
4363
}
44-
Lineage: [Pattern0]
45-
Lineage types: [class]
64+
Lineage: [test_files Pattern0]
65+
Lineage types: [package class]
4666

4767
Name: Pattern2
4868
Parameters: ()
@@ -71,3 +91,5 @@ s2.(*Pattern0).Method("")
7191
Name: Alias
7292
Definition (definition.type):
7393
Alias string
94+
Lineage: [test_files]
95+
Lineage types: [package]

goldens/test.java.golden

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Lineage types: [package]
77
Name: Foo
88
Doc:
99
// Class Foo.
10-
Definition (definition.class):
10+
Declaration (definition.class):
1111
public class Foo {
1212
/** Foo1. */
1313
static public void foo1(int x) {}
@@ -36,6 +36,13 @@ interface Bar {
3636
Lineage: [p1 p2]
3737
Lineage types: [package package]
3838

39+
Name: declarationOnly
40+
Parameters: ()
41+
Declaration (definition.method):
42+
void declarationOnly();
43+
Lineage: [p1 p2 Bar]
44+
Lineage types: [package package interface]
45+
3946
Name: implementation
4047
Parameters: (float y)
4148
Doc:

goldens/test.js.golden

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ Doc:
126126
* Pattern 4b comment.
127127
*/
128128
Definition (definition.function):
129-
export const pattern4b = (param1) => {};
129+
export const pattern4b = (param1) => param1;
130130
Metadata:
131131
is_export = true
132132

goldens/test.php.golden

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1+
Name: test
2+
Definition (definition.namespace):
3+
namespace test;
4+
15
Name: foo
26
Parameters: ()
37
Definition (definition.function):
48
function foo()
59
{
610
}
11+
Lineage: [test]
12+
Lineage types: [namespace]
713

814
Name: FooInterface
915
Doc:
@@ -13,6 +19,15 @@ interface FooInterface
1319
{
1420
public function encode(...$numbers);
1521
}
22+
Lineage: [test]
23+
Lineage types: [namespace]
24+
25+
Name: encode
26+
Parameters: (...$numbers)
27+
Declaration (definition.method):
28+
public function encode(...$numbers);
29+
Lineage: [test FooInterface]
30+
Lineage types: [namespace interface]
1631

1732
Name: FooClass
1833
Doc:
@@ -28,6 +43,8 @@ class FooClass implements FooInterface
2843
{
2944
}
3045
}
46+
Lineage: [test]
47+
Lineage types: [namespace]
3148

3249
Name: encode
3350
Parameters: (...$numbers)
@@ -40,5 +57,5 @@ Definition (definition.method):
4057
public function encode(...$numbers)
4158
{
4259
}
43-
Lineage: [FooClass]
44-
Lineage types: [class]
60+
Lineage: [test FooClass]
61+
Lineage types: [namespace class]

goldens/test.tsx.golden

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Parameters: (a: string)
5151
Return type: string
5252
Doc:
5353
/** f comment. */
54-
Definition (definition.function):
54+
Declaration (definition.function):
5555
function f(a: string): string;
5656

5757
Name: f
@@ -75,15 +75,15 @@ Parameters: (a: number)
7575
Return type: void
7676
Doc:
7777
/** f2 comment. */
78-
Definition (definition.function):
78+
Declaration (definition.function):
7979
declare function f2(a: number): void;
8080

8181
Name: f3
8282
Parameters: ()
8383
Return type: void
8484
Doc:
8585
/** f3 comment. */
86-
Definition (definition.function):
86+
Declaration (definition.function):
8787
export function f3(): void;
8888
Metadata:
8989
is_export = true
@@ -101,7 +101,7 @@ Parameters: ()
101101
Return type: void
102102
Doc:
103103
/** f4 comment. */
104-
Definition (definition.function):
104+
Declaration (definition.function):
105105
export declare function f4(): void;
106106
Metadata:
107107
is_export = true
@@ -122,7 +122,7 @@ Parameters: ()
122122
Return type: void
123123
Doc:
124124
/** methodSignature comment. */
125-
Definition (definition.method):
125+
Declaration (definition.method):
126126
methodSignature(): void
127127
Lineage: [Foo]
128128
Lineage types: [class]
@@ -151,7 +151,7 @@ Parameters: ()
151151
Return type: void
152152
Doc:
153153
/** methodSignature2 comment. */
154-
Definition (definition.method):
154+
Declaration (definition.method):
155155
methodSignature2(): void
156156
Lineage: [Foo2]
157157
Lineage types: [class]
@@ -198,7 +198,7 @@ Parameters: (a: string)
198198
Return type: void
199199
Doc:
200200
/** Abstract method comment. */
201-
Definition (definition.method):
201+
Declaration (definition.method):
202202
abstract method(a: string): void
203203
Lineage: [AbstractClass]
204204
Lineage types: [class]
@@ -239,7 +239,7 @@ Parameters: (a: string)
239239
Return type: void
240240
Doc:
241241
/** Interface method comment. */
242-
Definition (definition.method):
242+
Declaration (definition.method):
243243
interfaceMethod(a: string): void
244244
Lineage: [Interface]
245245
Lineage types: [interface]

goldens/test.vue.golden

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Name: created
2+
Parameters: ()
3+
Definition (definition.function):
4+
created: function () {
5+
if (this.value === undefined) {
6+
this.value = '';
7+
}
8+
}
9+
10+
Name: foo
11+
Parameters: ()
12+
Definition (definition.function):
13+
function foo() {
14+
console.log('foo');
15+
}
16+
17+
Name: log
18+
Reference (reference.call):
19+
console.log('foo')

queries/cpp_tags.scm

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
]
99
.
1010
name: (_) @name
11-
body: (field_declaration_list)
11+
body: (field_declaration_list) @body
1212
) @definition.class
1313
(#select-adjacent! @doc @definition.class)
1414
(#lineage-from-name! "::")
@@ -17,10 +17,12 @@
1717
(
1818
(comment)* @doc
1919
.
20-
(function_definition
20+
(_
2121
declarator: (function_declarator
2222
declarator: (_) @name
23-
parameters: (parameter_list) @codeium.parameters)) @definition.function
23+
parameters: (parameter_list) @codeium.parameters)
24+
body: (_)? @body) @definition.function
25+
(#has-type? @definition.function function_definition declaration)
2426
(#select-adjacent! @doc @definition.function)
2527
(#lineage-from-name! "::")
2628
)

0 commit comments

Comments
 (0)