aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_assists/src/assists/add_impl.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-10-27 14:35:37 +0000
committerAleksey Kladov <[email protected]>2019-10-27 14:35:37 +0000
commitcda6355de23825c201d02e6062cb2dd414e98bf9 (patch)
tree54c4a26d7a6688a89515cdc97ec02c1a9f9103bf /crates/ra_assists/src/assists/add_impl.rs
parent9e638c9f3ee68784cd93ec0458b0c92c18776f06 (diff)
simplify AssistCtx API
We never actually use ability to create multiple actions out of a single context
Diffstat (limited to 'crates/ra_assists/src/assists/add_impl.rs')
-rw-r--r--crates/ra_assists/src/assists/add_impl.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/crates/ra_assists/src/assists/add_impl.rs b/crates/ra_assists/src/assists/add_impl.rs
index fd3588d24..7da0cfd0d 100644
--- a/crates/ra_assists/src/assists/add_impl.rs
+++ b/crates/ra_assists/src/assists/add_impl.rs
@@ -27,10 +27,10 @@ use crate::{Assist, AssistCtx, AssistId};
27// 27//
28// } 28// }
29// ``` 29// ```
30pub(crate) fn add_impl(mut ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> { 30pub(crate) fn add_impl(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
31 let nominal = ctx.find_node_at_offset::<ast::NominalDef>()?; 31 let nominal = ctx.find_node_at_offset::<ast::NominalDef>()?;
32 let name = nominal.name()?; 32 let name = nominal.name()?;
33 ctx.add_action(AssistId("add_impl"), "add impl", |edit| { 33 ctx.add_assist(AssistId("add_impl"), "add impl", |edit| {
34 edit.target(nominal.syntax().text_range()); 34 edit.target(nominal.syntax().text_range());
35 let type_params = nominal.type_param_list(); 35 let type_params = nominal.type_param_list();
36 let start_offset = nominal.syntax().text_range().end(); 36 let start_offset = nominal.syntax().text_range().end();
@@ -54,9 +54,7 @@ pub(crate) fn add_impl(mut ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
54 edit.set_cursor(start_offset + TextUnit::of_str(&buf)); 54 edit.set_cursor(start_offset + TextUnit::of_str(&buf));
55 buf.push_str("\n}"); 55 buf.push_str("\n}");
56 edit.insert(start_offset, buf); 56 edit.insert(start_offset, buf);
57 }); 57 })
58
59 ctx.build()
60} 58}
61 59
62#[cfg(test)] 60#[cfg(test)]