mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 04:19:13 +00:00
Add quantified trees to reduce autocomplete options
This commit is contained in:
parent
bdbdd83ec1
commit
a946970e2d
16 changed files with 300 additions and 94 deletions
|
@ -569,6 +569,26 @@ impl fmt::Display for NameOrNameRef {
|
|||
}
|
||||
}
|
||||
|
||||
impl ast::AstNode for NameOrNameRef {
|
||||
fn can_cast(kind: SyntaxKind) -> bool {
|
||||
matches!(kind, SyntaxKind::NAME | SyntaxKind::NAME_REF)
|
||||
}
|
||||
fn cast(syntax: SyntaxNode) -> Option<Self> {
|
||||
let res = match syntax.kind() {
|
||||
SyntaxKind::NAME => NameOrNameRef::Name(ast::Name { syntax }),
|
||||
SyntaxKind::NAME_REF => NameOrNameRef::NameRef(ast::NameRef { syntax }),
|
||||
_ => return None,
|
||||
};
|
||||
Some(res)
|
||||
}
|
||||
fn syntax(&self) -> &SyntaxNode {
|
||||
match self {
|
||||
NameOrNameRef::NameRef(it) => it.syntax(),
|
||||
NameOrNameRef::Name(it) => it.syntax(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl NameOrNameRef {
|
||||
pub fn text(&self) -> TokenText<'_> {
|
||||
match self {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue