tweak syntax

This commit is contained in:
Jess Balint 2020-05-22 19:09:37 -05:00
parent d42fd8efb6
commit 4967b811dd

View file

@ -37,8 +37,7 @@ pub(crate) fn change_lifetime_anon_to_named(acc: &mut Assists, ctx: &AssistConte
// only allow naming the last anonymous lifetime // only allow naming the last anonymous lifetime
return None; return None;
} }
match lifetime_arg.syntax().ancestors().find_map(ast::ImplDef::cast) { let impl_def = lifetime_arg.syntax().ancestors().find_map(ast::ImplDef::cast)?;
Some(impl_def) => {
// get the `impl` keyword so we know where to add the lifetime argument // get the `impl` keyword so we know where to add the lifetime argument
let impl_kw = impl_def.syntax().first_child_or_token()?.into_token()?; let impl_kw = impl_def.syntax().first_child_or_token()?.into_token()?;
if impl_kw.kind() != SyntaxKind::IMPL_KW { if impl_kw.kind() != SyntaxKind::IMPL_KW {
@ -73,21 +72,13 @@ pub(crate) fn change_lifetime_anon_to_named(acc: &mut Assists, ctx: &AssistConte
); );
} }
None => { None => {
builder.insert( builder
impl_kw.text_range().end(), .insert(impl_kw.text_range().end(), format!("<'{}>", new_lifetime_param));
format!("<'{}>", new_lifetime_param),
);
} }
} }
builder.replace( builder.replace(lifetime_arg.syntax().text_range(), format!("'{}", new_lifetime_param));
lifetime_arg.syntax().text_range(),
format!("'{}", new_lifetime_param),
);
}, },
) )
}
_ => None,
}
} }
#[cfg(test)] #[cfg(test)]