mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 14:21:44 +00:00
Implement assist "Reorder field names"
This commit is contained in:
parent
176f7f6117
commit
730a927c5e
5 changed files with 219 additions and 2 deletions
|
@ -3256,6 +3256,7 @@ pub enum Pat {
|
|||
RangePat(RangePat),
|
||||
LiteralPat(LiteralPat),
|
||||
MacroPat(MacroPat),
|
||||
RecordFieldPat(RecordFieldPat),
|
||||
}
|
||||
impl From<OrPat> for Pat {
|
||||
fn from(node: OrPat) -> Pat { Pat::OrPat(node) }
|
||||
|
@ -3302,12 +3303,15 @@ impl From<LiteralPat> for Pat {
|
|||
impl From<MacroPat> for Pat {
|
||||
fn from(node: MacroPat) -> Pat { Pat::MacroPat(node) }
|
||||
}
|
||||
impl From<RecordFieldPat> for Pat {
|
||||
fn from(node: RecordFieldPat) -> Pat { Pat::RecordFieldPat(node) }
|
||||
}
|
||||
impl AstNode for Pat {
|
||||
fn can_cast(kind: SyntaxKind) -> bool {
|
||||
match kind {
|
||||
OR_PAT | PAREN_PAT | REF_PAT | BOX_PAT | BIND_PAT | PLACEHOLDER_PAT | DOT_DOT_PAT
|
||||
| PATH_PAT | RECORD_PAT | TUPLE_STRUCT_PAT | TUPLE_PAT | SLICE_PAT | RANGE_PAT
|
||||
| LITERAL_PAT | MACRO_PAT => true,
|
||||
| LITERAL_PAT | MACRO_PAT | RECORD_FIELD_PAT => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
@ -3328,6 +3332,7 @@ impl AstNode for Pat {
|
|||
RANGE_PAT => Pat::RangePat(RangePat { syntax }),
|
||||
LITERAL_PAT => Pat::LiteralPat(LiteralPat { syntax }),
|
||||
MACRO_PAT => Pat::MacroPat(MacroPat { syntax }),
|
||||
RECORD_FIELD_PAT => Pat::RecordFieldPat(RecordFieldPat { syntax }),
|
||||
_ => return None,
|
||||
};
|
||||
Some(res)
|
||||
|
@ -3349,6 +3354,7 @@ impl AstNode for Pat {
|
|||
Pat::RangePat(it) => &it.syntax,
|
||||
Pat::LiteralPat(it) => &it.syntax,
|
||||
Pat::MacroPat(it) => &it.syntax,
|
||||
Pat::RecordFieldPat(it) => &it.syntax,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue