diff options
| author | Lukas Wirth <lukastw97@gmail.com> | 2021-12-13 16:32:57 +0100 |
|---|---|---|
| committer | Lukas Wirth <lukastw97@gmail.com> | 2021-12-13 16:42:21 +0100 |
| commit | 1cef532c4d2452253704bc6f04ad7978e16294ee (patch) | |
| tree | b7b844c047bd0a2719ba53cfa44def36dfdf4dea | |
| parent | d03397fe1173eaeb2e04c9e55ac223289e7e08ee (diff) | |
| download | rust-1cef532c4d2452253704bc6f04ad7978e16294ee.tar.gz rust-1cef532c4d2452253704bc6f04ad7978e16294ee.zip | |
minor: fixup generate assist priorities
| -rw-r--r-- | crates/ide_assists/src/handlers/generate_delegate_methods.rs | 7 | ||||
| -rw-r--r-- | crates/ide_assists/src/lib.rs | 4 | ||||
| -rw-r--r-- | crates/ide_assists/src/tests.rs | 2 |
3 files changed, 6 insertions, 7 deletions
diff --git a/crates/ide_assists/src/handlers/generate_delegate_methods.rs b/crates/ide_assists/src/handlers/generate_delegate_methods.rs index 090dab946ab..31b438b15ec 100644 --- a/crates/ide_assists/src/handlers/generate_delegate_methods.rs +++ b/crates/ide_assists/src/handlers/generate_delegate_methods.rs @@ -47,18 +47,18 @@ pub(crate) fn generate_delegate_methods(acc: &mut Assists, ctx: &AssistContext) let strukt_name = strukt.name()?; let current_module = ctx.sema.scope(strukt.syntax()).module()?; - let (field_name, field_ty) = match ctx.find_node_at_offset::<ast::RecordField>() { + let (field_name, field_ty, target) = match ctx.find_node_at_offset::<ast::RecordField>() { Some(field) => { let field_name = field.name()?; let field_ty = field.ty()?; - (format!("{}", field_name), field_ty) + (format!("{}", field_name), field_ty, field.syntax().text_range()) } None => { let field = ctx.find_node_at_offset::<ast::TupleField>()?; let field_list = ctx.find_node_at_offset::<ast::TupleFieldList>()?; let field_list_index = field_list.fields().position(|it| it == field)?; let field_ty = field.ty()?; - (format!("{}", field_list_index), field_ty) + (format!("{}", field_list_index), field_ty, field.syntax().text_range()) } }; @@ -74,7 +74,6 @@ pub(crate) fn generate_delegate_methods(acc: &mut Assists, ctx: &AssistContext) Option::<()>::None }); - let target = field_ty.syntax().text_range(); for method in methods { let adt = ast::Adt::Struct(strukt.clone()); let name = method.name(ctx.db()).to_string(); diff --git a/crates/ide_assists/src/lib.rs b/crates/ide_assists/src/lib.rs index 5d4c1532dbe..3086addac34 100644 --- a/crates/ide_assists/src/lib.rs +++ b/crates/ide_assists/src/lib.rs @@ -216,8 +216,6 @@ mod handlers { generate_constant::generate_constant, generate_default_from_enum_variant::generate_default_from_enum_variant, generate_default_from_new::generate_default_from_new, - generate_delegate_methods::generate_delegate_methods, - generate_deref::generate_deref, generate_derive::generate_derive, generate_enum_is_method::generate_enum_is_method, generate_enum_projection_method::generate_enum_as_method, @@ -285,6 +283,8 @@ mod handlers { generate_getter::generate_getter, generate_getter::generate_getter_mut, generate_setter::generate_setter, + generate_delegate_methods::generate_delegate_methods, + generate_deref::generate_deref, // Are you sure you want to add new assist here, and not to the // sorted list above? ] diff --git a/crates/ide_assists/src/tests.rs b/crates/ide_assists/src/tests.rs index 5a799795333..08947e4ecd8 100644 --- a/crates/ide_assists/src/tests.rs +++ b/crates/ide_assists/src/tests.rs @@ -222,10 +222,10 @@ fn assist_order_field_struct() { let mut assists = assists.iter(); assert_eq!(assists.next().expect("expected assist").label, "Change visibility to pub(crate)"); - assert_eq!(assists.next().expect("expected assist").label, "Generate `Deref` impl using `bar`"); assert_eq!(assists.next().expect("expected assist").label, "Generate a getter method"); assert_eq!(assists.next().expect("expected assist").label, "Generate a mut getter method"); assert_eq!(assists.next().expect("expected assist").label, "Generate a setter method"); + assert_eq!(assists.next().expect("expected assist").label, "Generate `Deref` impl using `bar`"); assert_eq!(assists.next().expect("expected assist").label, "Add `#[derive]`"); } |
