diff options
Diffstat (limited to 'crates/ra_assists/src/handlers/add_function.rs')
-rw-r--r-- | crates/ra_assists/src/handlers/add_function.rs | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/crates/ra_assists/src/handlers/add_function.rs b/crates/ra_assists/src/handlers/add_function.rs index 6f2950daf..7150eb53a 100644 --- a/crates/ra_assists/src/handlers/add_function.rs +++ b/crates/ra_assists/src/handlers/add_function.rs | |||
@@ -62,20 +62,15 @@ pub(crate) fn add_function(acc: &mut Assists, ctx: &AssistContext) -> Option<()> | |||
62 | let function_builder = FunctionBuilder::from_call(&ctx, &call, &path, target_module)?; | 62 | let function_builder = FunctionBuilder::from_call(&ctx, &call, &path, target_module)?; |
63 | 63 | ||
64 | let target = call.syntax().text_range(); | 64 | let target = call.syntax().text_range(); |
65 | acc.add( | 65 | acc.add(AssistId("add_function", AssistKind::None), "Add function", target, |builder| { |
66 | AssistId("add_function", AssistKind::RefactorExtract), | 66 | let function_template = function_builder.render(); |
67 | "Add function", | 67 | builder.edit_file(function_template.file); |
68 | target, | 68 | let new_fn = function_template.to_string(ctx.config.snippet_cap); |
69 | |builder| { | 69 | match ctx.config.snippet_cap { |
70 | let function_template = function_builder.render(); | 70 | Some(cap) => builder.insert_snippet(cap, function_template.insert_offset, new_fn), |
71 | builder.edit_file(function_template.file); | 71 | None => builder.insert(function_template.insert_offset, new_fn), |
72 | let new_fn = function_template.to_string(ctx.config.snippet_cap); | 72 | } |
73 | match ctx.config.snippet_cap { | 73 | }) |
74 | Some(cap) => builder.insert_snippet(cap, function_template.insert_offset, new_fn), | ||
75 | None => builder.insert(function_template.insert_offset, new_fn), | ||
76 | } | ||
77 | }, | ||
78 | ) | ||
79 | } | 74 | } |
80 | 75 | ||
81 | struct FunctionTemplate { | 76 | struct FunctionTemplate { |