Skip to content
This repository was archived by the owner on Nov 2, 2025. It is now read-only.

Commit d2f0f54

Browse files
pqnCopybara Bot
andauthored
Project import generated by Copybara. (#11)
GitOrigin-RevId: 43ea22740fcabfa5a50dab14bfa4725fab12119a Co-authored-by: Copybara Bot <[email protected]>
1 parent 993a6e6 commit d2f0f54

File tree

9 files changed

+165
-3
lines changed

9 files changed

+165
-3
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ Most captures also include documentation as `@doc`. `@definition.function` and `
8484
| `@definition.type` | N/A || N/A ||
8585
| `@definition.constant` |||||
8686
| `@definition.enum` |||||
87+
| `@definition.import` |||||
8788
| `@reference.call` |||||
8889
| `@reference.class` |[^2] ||||
8990

@@ -118,6 +119,10 @@ $ ./parse -supported_predicates
118119
Selects @capture nodes contiguous with @anchor (all starting and ending on
119120
adjacent lines).
120121

122+
#set!
123+
(#set! key value)
124+
Store metadata as a side effect of a match.
125+
121126
#strip!
122127
(#strip! @capture "regex")
123128
Removes all matching text from all @capture nodes.
@@ -144,13 +149,16 @@ json
144149
kotlin
145150
latex
146151
markdown
152+
ocaml
153+
ocaml_interface
147154
php
148155
protobuf
149156
python
150157
ruby
151158
rust
152159
shell
153160
svelte
161+
swift
154162
toml
155163
tsx
156164
typescript

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.5"
5+
VERSION="v0.0.6"
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.js.golden

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,32 @@
1+
Name: "path/to/file/1"
2+
Definition (definition.import):
3+
import { named1, named2 as alias2, named3 as alias3 } from "path/to/file/1";
4+
Named imports:
5+
named1
6+
named2 as alias2
7+
named3 as alias3
8+
9+
Name: "path/to/file/2"
10+
Definition (definition.import):
11+
import default1 from "path/to/file/2";
12+
Default import: default1
13+
14+
Name: 'npm-lib-1'
15+
Definition (definition.import):
16+
import default2, { named4 as alias4 } from 'npm-lib-1'
17+
Default import: default2
18+
Named imports:
19+
named4 as alias4
20+
21+
Name: "npm-lib-2"
22+
Definition (definition.import):
23+
import * as entireModule from "npm-lib-2";
24+
Namespace: entireModule
25+
26+
Name: "./side-effects-only-1.js"
27+
Definition (definition.import):
28+
import "./side-effects-only-1.js";
29+
130
Name: Pattern1a
231
Doc:
332
/**
@@ -10,6 +39,7 @@ class Pattern1a {
1039
* Pattern 0 comment.
1140
*/
1241
pattern0(param1) {
42+
const moment = require('moment');
1343
return param1;
1444
}
1545
}
@@ -22,6 +52,7 @@ Doc:
2252
*/
2353
Definition (definition.method):
2454
pattern0(param1) {
55+
const moment = require('moment');
2556
return param1;
2657
}
2758
Lineage: [Pattern1a]
@@ -31,6 +62,8 @@ Doc:
3162
// Pattern 1b comment.
3263
Definition (definition.class):
3364
export class Pattern1b {}
65+
Metadata:
66+
is_export = true
3467

3568
Name: pattern2
3669
Parameters: (param1)
@@ -51,6 +84,8 @@ Doc:
5184
// f comment.
5285
Definition (definition.function):
5386
export function f() {}
87+
Metadata:
88+
is_export = true
5489

5590
Name: g
5691
Parameters: ()
@@ -69,6 +104,8 @@ Definition (definition.function):
69104
export default function* pattern3(param1) {
70105
yield param1;
71106
}
107+
Metadata:
108+
is_export = true
72109

73110
Name: pattern4a
74111
Parameters: (param1)
@@ -89,6 +126,8 @@ Doc:
89126
*/
90127
Definition (definition.function):
91128
export const pattern4b = (param1) => {};
129+
Metadata:
130+
is_export = true
92131

93132
Name: pattern5a
94133
Parameters: (param1)
@@ -100,6 +139,8 @@ Definition (definition.function):
100139
export var pattern5a = function (param1) {
101140
return param1;
102141
};
142+
Metadata:
143+
is_export = true
103144

104145
Name: pattern5b
105146
Parameters: (param1)
@@ -175,3 +216,5 @@ Doc:
175216
// Comment
176217
Definition (definition.class):
177218
export var Pattern12 = class Ignore {};
219+
Metadata:
220+
is_export = true

goldens/test.tsx.golden

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,51 @@
1+
Name: "path/to/file/1"
2+
Definition (definition.import):
3+
import { named1, named2 as alias2, named3 as alias3 } from "path/to/file/1";
4+
Named imports:
5+
named1
6+
named2 as alias2
7+
named3 as alias3
8+
9+
Name: "path/to/file/2"
10+
Definition (definition.import):
11+
import default1 from "path/to/file/2";
12+
Default import: default1
13+
14+
Name: "path/to/file/3"
15+
Definition (definition.import):
16+
import { named4 as alias4, named5 as alias5, type NamedType1 as AliasType1 } from "path/to/file/3";
17+
Named imports:
18+
named4 as alias4
19+
named5 as alias5
20+
NamedType1 as AliasType1
21+
22+
Name: 'npm-lib-1'
23+
Definition (definition.import):
24+
import default2, { named4 as alias4 } from 'npm-lib-1'
25+
Default import: default2
26+
Named imports:
27+
named4 as alias4
28+
29+
Name: "npm-lib-2"
30+
Definition (definition.import):
31+
import * as entireModule from "npm-lib-2";
32+
Namespace: entireModule
33+
34+
Name: "path/to/file/4"
35+
Definition (definition.import):
36+
import type { NamedType2 } from "path/to/file/4";
37+
Named imports:
38+
NamedType2
39+
40+
Name: 'npm-lib-3'
41+
Definition (definition.import):
42+
import default3 = require('npm-lib-3');
43+
Default import: default3
44+
45+
Name: "./side-effects-only-1.ts"
46+
Definition (definition.import):
47+
import "./side-effects-only-1.ts";
48+
149
Name: f
250
Parameters: (a: string)
351
Doc:
@@ -9,9 +57,16 @@ Name: f
957
Parameters: (a: any)
1058
Definition (definition.function):
1159
function f(a: any): any {
60+
import default4 from 'npm-lib-4';
1261
return a;
1362
}
1463

64+
Name: 'npm-lib-4'
65+
Definition (definition.import):
66+
import default4 from 'npm-lib-4';
67+
Lineage: [f]
68+
Default import: default4
69+
1570
Name: f2
1671
Parameters: (a: number)
1772
Doc:
@@ -25,18 +80,24 @@ Doc:
2580
/** f3 comment. */
2681
Definition (definition.function):
2782
export function f3(): void;
83+
Metadata:
84+
is_export = true
2885

2986
Name: f3
3087
Parameters: ()
3188
Definition (definition.function):
3289
export function f3(): void {}
90+
Metadata:
91+
is_export = true
3392

3493
Name: f4
3594
Parameters: ()
3695
Doc:
3796
/** f4 comment. */
3897
Definition (definition.function):
3998
export declare function f4(): void;
99+
Metadata:
100+
is_export = true
40101

41102
Name: Foo
42103
Doc:
@@ -87,6 +148,8 @@ Doc:
87148
// *Foo3 comment.""
88149
Definition (definition.class):
89150
export declare class Foo3 {}
151+
Metadata:
152+
is_export = true
90153

91154
Name: Module
92155
Doc:
@@ -99,6 +162,8 @@ Doc:
99162
/** Module2 comment. */
100163
Definition (definition.module):
101164
export module Module2 {}
165+
Metadata:
166+
is_export = true
102167

103168
Name: 'module'
104169
Doc:
@@ -128,6 +193,8 @@ Doc:
128193
/** AbstractClass2 comment. */
129194
Definition (definition.class):
130195
export abstract class AbstractClass2 {}
196+
Metadata:
197+
is_export = true
131198

132199
Name: AbstractClass3
133200
Doc:
@@ -140,6 +207,8 @@ Doc:
140207
/** AbstractClass4 comment. */
141208
Definition (definition.class):
142209
export declare abstract class AbstractClass4 {}
210+
Metadata:
211+
is_export = true
143212

144213
Name: Interface
145214
Doc:
@@ -163,6 +232,8 @@ Doc:
163232
/** Interface2 comment. */
164233
Definition (definition.interface):
165234
export interface Interface2 {}
235+
Metadata:
236+
is_export = true
166237

167238
Name: Interface3
168239
Doc:
@@ -175,6 +246,8 @@ Doc:
175246
/** Interface4 comment. */
176247
Definition (definition.interface):
177248
export declare interface Interface4 {}
249+
Metadata:
250+
is_export = true
178251

179252
Name: FooString
180253
Doc:
@@ -187,6 +260,8 @@ Doc:
187260
/** FooString2 comment. */
188261
Definition (definition.type):
189262
export type FooString2 = string;
263+
Metadata:
264+
is_export = true
190265

191266
Name: FooString3
192267
Doc:
@@ -199,6 +274,8 @@ Doc:
199274
/** FooString4 comment. */
200275
Definition (definition.type):
201276
export declare type FooString4 = string;
277+
Metadata:
278+
is_export = true
202279

203280
Name: NamespaceFoo
204281
Definition (definition.namespace):
@@ -209,6 +286,8 @@ Doc:
209286
/** NamespaceFoo2 comment. */
210287
Definition (definition.namespace):
211288
export namespace NamespaceFoo2 {}
289+
Metadata:
290+
is_export = true
212291

213292
Name: NamespaceFoo3
214293
Doc:
@@ -221,3 +300,5 @@ Doc:
221300
/** NamespaceFoo4 comment. */
222301
Definition (definition.namespace):
223302
export declare namespace NamespaceFoo4 {}
303+
Metadata:
304+
is_export = true

queries/javascript_tags.scm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
body: (class_body)) @_) @definition.class
3232
(#has-type? @_ class_declaration abstract_class_declaration)
3333
(#select-adjacent! @doc @definition.class)
34+
(#set! is_export true)
3435
)
3536

3637
;; Pattern 2 from tags.scm.
@@ -57,6 +58,7 @@
5758
parameters: (formal_parameters) @codeium.parameters) @_) @definition.function
5859
(#has-type? @_ function_declaration function_signature generator_function_declaration)
5960
(#select-adjacent! @doc @definition.function)
61+
(#set! is_export true)
6062
)
6163

6264
;; Pattern 3 from tags.scm.
@@ -93,6 +95,7 @@
9395
])) @_) @definition.function
9496
(#has-type? @_ lexical_declaration variable_declaration)
9597
(#select-adjacent! @doc @definition.function)
98+
(#set! is_export true)
9699
)
97100

98101
;; 6. Pattern 5 from tags.scm.
@@ -172,4 +175,5 @@
172175
value: (class))) @_) @definition.class
173176
(#has-type? @_ lexical_declaration variable_declaration)
174177
(#select-adjacent! @doc @definition.class)
178+
(#set! is_export true)
175179
)

queries/python_tags.scm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
(function_definition
1212
name: (identifier) @name
1313
parameters: (parameters) @codeium.parameters
14-
body: (block . (expression_statement . (string) @doc .)?)) @definition.function
14+
body: (block . (expression_statement . (string) @doc .)?) @body) @definition.function
1515
(#not-has-parent? @definition.function decorated_definition)
1616
)
1717

@@ -36,5 +36,5 @@
3636
definition: (function_definition
3737
name: (identifier) @name
3838
parameters: (parameters) @codeium.parameters
39-
body: (block . (expression_statement . (string) @doc .)?))) @definition.function
39+
body: (block . (expression_statement . (string) @doc .)?) @body)) @definition.function
4040
)

0 commit comments

Comments
 (0)