mirror of
https://github.com/zed-industries/zed.git
synced 2024-10-28 01:07:09 +00:00
update typescript parsing to manage for leading tsdoc comments
This commit is contained in:
parent
3a625d15d3
commit
d4971e9ead
2 changed files with 60 additions and 57 deletions
|
@ -51,6 +51,7 @@ impl CodeContextRetriever {
|
||||||
let mut documents = Vec::new();
|
let mut documents = Vec::new();
|
||||||
|
|
||||||
// Iterate through query matches
|
// Iterate through query matches
|
||||||
|
let mut name_ranges: Vec<Range<usize>> = vec![];
|
||||||
for mat in self.cursor.matches(
|
for mat in self.cursor.matches(
|
||||||
&embedding_config.query,
|
&embedding_config.query,
|
||||||
tree.root_node(),
|
tree.root_node(),
|
||||||
|
@ -65,7 +66,12 @@ impl CodeContextRetriever {
|
||||||
byte_range = Some(capture.node.byte_range());
|
byte_range = Some(capture.node.byte_range());
|
||||||
item = content.get(capture.node.byte_range());
|
item = content.get(capture.node.byte_range());
|
||||||
} else if capture.index == embedding_config.name_capture_ix {
|
} else if capture.index == embedding_config.name_capture_ix {
|
||||||
if let Some(name_content) = content.get(capture.node.byte_range()) {
|
let name_range = capture.node.byte_range();
|
||||||
|
if name_ranges.contains(&name_range) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
name_ranges.push(name_range.clone());
|
||||||
|
if let Some(name_content) = content.get(name_range.clone()) {
|
||||||
name.push(name_content);
|
name.push(name_content);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,59 +1,56 @@
|
||||||
; (internal_module
|
(
|
||||||
; "namespace" @context
|
(comment)* @context
|
||||||
; name: (_) @name) @item
|
.
|
||||||
|
(enum_declaration
|
||||||
|
"enum" @context
|
||||||
|
name: (_) @name) @item
|
||||||
|
)
|
||||||
|
|
||||||
(enum_declaration
|
(
|
||||||
"enum" @context
|
(comment)* @context
|
||||||
name: (_) @name) @item
|
.
|
||||||
|
|
||||||
; (type_alias_declaration
|
|
||||||
; "type" @context
|
|
||||||
; name: (_) @name) @item
|
|
||||||
|
|
||||||
(function_declaration
|
|
||||||
"async"? @context
|
|
||||||
"function" @context
|
|
||||||
name: (_) @name) @item
|
|
||||||
|
|
||||||
(interface_declaration
|
|
||||||
"interface" @context
|
|
||||||
name: (_) @name) @item
|
|
||||||
|
|
||||||
; (export_statement
|
|
||||||
; (lexical_declaration
|
|
||||||
; ["let" "const"] @context
|
|
||||||
; (variable_declarator
|
|
||||||
; name: (_) @name) @item))
|
|
||||||
|
|
||||||
(program
|
|
||||||
(lexical_declaration
|
|
||||||
["let" "const"] @context
|
|
||||||
(variable_declarator
|
|
||||||
name: (_) @name) @item))
|
|
||||||
|
|
||||||
(class_declaration
|
|
||||||
"class" @context
|
|
||||||
name: (_) @name) @item
|
|
||||||
|
|
||||||
(method_definition
|
|
||||||
[
|
[
|
||||||
"get"
|
(export_statement
|
||||||
"set"
|
(function_declaration
|
||||||
"async"
|
"async"? @name
|
||||||
"*"
|
"function" @name
|
||||||
"readonly"
|
name: (_) @name)
|
||||||
"static"
|
) @item
|
||||||
(override_modifier)
|
(function_declaration
|
||||||
(accessibility_modifier)
|
"async"? @name
|
||||||
]* @context
|
"function" @name
|
||||||
name: (_) @name) @item
|
name: (_) @name) @item
|
||||||
|
])
|
||||||
|
|
||||||
; (public_field_definition
|
(
|
||||||
; [
|
(comment)* @context
|
||||||
; "declare"
|
.
|
||||||
; "readonly"
|
(interface_declaration
|
||||||
; "abstract"
|
"interface" @name
|
||||||
; "static"
|
name: (_) @name) @item
|
||||||
; (accessibility_modifier)
|
)
|
||||||
; ]* @context
|
|
||||||
; name: (_) @name) @item
|
(
|
||||||
|
(comment)* @context
|
||||||
|
.
|
||||||
|
(class_declaration
|
||||||
|
"class" @name
|
||||||
|
name: (_) @name) @item
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
(comment)* @context
|
||||||
|
.
|
||||||
|
(method_definition
|
||||||
|
[
|
||||||
|
"get"
|
||||||
|
"set"
|
||||||
|
"async"
|
||||||
|
"*"
|
||||||
|
"readonly"
|
||||||
|
"static"
|
||||||
|
(override_modifier)
|
||||||
|
(accessibility_modifier)
|
||||||
|
]* @name
|
||||||
|
name: (_) @name) @item
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in a new issue