Support adding variants via structural editing

This commit is contained in:
Dorian Scheidt 2022-07-20 12:03:18 -05:00
parent 113f1dbc91
commit 405dd77d30
2 changed files with 148 additions and 28 deletions

View file

@ -745,7 +745,10 @@ pub fn tuple_field(visibility: Option<ast::Visibility>, ty: ast::Type) -> ast::T
pub fn variant(name: ast::Name, field_list: Option<ast::FieldList>) -> ast::Variant {
let field_list = match field_list {
None => String::new(),
Some(it) => format!("{}", it),
Some(it) => match it {
ast::FieldList::RecordFieldList(record) => format!(" {}", record),
ast::FieldList::TupleFieldList(tuple) => format!("{}", tuple),
},
};
ast_from_text(&format!("enum f {{ {}{} }}", name, field_list))
}