Skip to content

Commit 4c9347e

Browse files
committed
Don't categorize things we don't care about
1 parent 36cc81a commit 4c9347e

File tree

6 files changed

+52
-68
lines changed

6 files changed

+52
-68
lines changed

crates/ra_assists/src/handlers/add_derive.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ pub(crate) fn add_derive(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
2929
let nominal = ctx.find_node_at_offset::<ast::NominalDef>()?;
3030
let node_start = derive_insertion_offset(&nominal)?;
3131
let target = nominal.syntax().text_range();
32-
acc.add(AssistId("add_derive", AssistKind::Refactor), "Add `#[derive]`", target, |builder| {
32+
acc.add(AssistId("add_derive", AssistKind::None), "Add `#[derive]`", target, |builder| {
3333
let derive_attr = nominal
3434
.attrs()
3535
.filter_map(|x| x.as_simple_call())

crates/ra_assists/src/handlers/add_function.rs

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -62,20 +62,15 @@ pub(crate) fn add_function(acc: &mut Assists, ctx: &AssistContext) -> Option<()>
6262
let function_builder = FunctionBuilder::from_call(&ctx, &call, &path, target_module)?;
6363

6464
let target = call.syntax().text_range();
65-
acc.add(
66-
AssistId("add_function", AssistKind::RefactorExtract),
67-
"Add function",
68-
target,
69-
|builder| {
70-
let function_template = function_builder.render();
71-
builder.edit_file(function_template.file);
72-
let new_fn = function_template.to_string(ctx.config.snippet_cap);
73-
match ctx.config.snippet_cap {
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-
)
65+
acc.add(AssistId("add_function", AssistKind::None), "Add function", target, |builder| {
66+
let function_template = function_builder.render();
67+
builder.edit_file(function_template.file);
68+
let new_fn = function_template.to_string(ctx.config.snippet_cap);
69+
match ctx.config.snippet_cap {
70+
Some(cap) => builder.insert_snippet(cap, function_template.insert_offset, new_fn),
71+
None => builder.insert(function_template.insert_offset, new_fn),
72+
}
73+
})
7974
}
8075

8176
struct FunctionTemplate {

crates/ra_assists/src/handlers/add_new.rs

Lines changed: 42 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -42,55 +42,50 @@ pub(crate) fn add_new(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
4242
let impl_def = find_struct_impl(&ctx, &strukt)?;
4343

4444
let target = strukt.syntax().text_range();
45-
acc.add(
46-
AssistId("add_new", AssistKind::Refactor),
47-
"Add default constructor",
48-
target,
49-
|builder| {
50-
let mut buf = String::with_capacity(512);
51-
52-
if impl_def.is_some() {
53-
buf.push('\n');
54-
}
45+
acc.add(AssistId("add_new", AssistKind::None), "Add default constructor", target, |builder| {
46+
let mut buf = String::with_capacity(512);
5547

56-
let vis = strukt.visibility().map_or(String::new(), |v| format!("{} ", v));
57-
58-
let params = field_list
59-
.fields()
60-
.filter_map(|f| {
61-
Some(format!("{}: {}", f.name()?.syntax(), f.ascribed_type()?.syntax()))
62-
})
63-
.sep_by(", ");
64-
let fields = field_list.fields().filter_map(|f| f.name()).sep_by(", ");
65-
66-
format_to!(buf, " {}fn new({}) -> Self {{ Self {{ {} }} }}", vis, params, fields);
67-
68-
let start_offset = impl_def
69-
.and_then(|impl_def| {
70-
buf.push('\n');
71-
let start = impl_def
72-
.syntax()
73-
.descendants_with_tokens()
74-
.find(|t| t.kind() == T!['{'])?
75-
.text_range()
76-
.end();
77-
78-
Some(start)
79-
})
80-
.unwrap_or_else(|| {
81-
buf = generate_impl_text(&strukt, &buf);
82-
strukt.syntax().text_range().end()
83-
});
84-
85-
match ctx.config.snippet_cap {
86-
None => builder.insert(start_offset, buf),
87-
Some(cap) => {
88-
buf = buf.replace("fn new", "fn $0new");
89-
builder.insert_snippet(cap, start_offset, buf);
90-
}
48+
if impl_def.is_some() {
49+
buf.push('\n');
50+
}
51+
52+
let vis = strukt.visibility().map_or(String::new(), |v| format!("{} ", v));
53+
54+
let params = field_list
55+
.fields()
56+
.filter_map(|f| {
57+
Some(format!("{}: {}", f.name()?.syntax(), f.ascribed_type()?.syntax()))
58+
})
59+
.sep_by(", ");
60+
let fields = field_list.fields().filter_map(|f| f.name()).sep_by(", ");
61+
62+
format_to!(buf, " {}fn new({}) -> Self {{ Self {{ {} }} }}", vis, params, fields);
63+
64+
let start_offset = impl_def
65+
.and_then(|impl_def| {
66+
buf.push('\n');
67+
let start = impl_def
68+
.syntax()
69+
.descendants_with_tokens()
70+
.find(|t| t.kind() == T!['{'])?
71+
.text_range()
72+
.end();
73+
74+
Some(start)
75+
})
76+
.unwrap_or_else(|| {
77+
buf = generate_impl_text(&strukt, &buf);
78+
strukt.syntax().text_range().end()
79+
});
80+
81+
match ctx.config.snippet_cap {
82+
None => builder.insert(start_offset, buf),
83+
Some(cap) => {
84+
buf = buf.replace("fn new", "fn $0new");
85+
builder.insert_snippet(cap, start_offset, buf);
9186
}
92-
},
93-
)
87+
}
88+
})
9489
}
9590

9691
// Generates the surrounding `impl Type { <code> }` including type and lifetime

crates/ra_assists/src/lib.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ pub enum AssistKind {
3434
RefactorExtract,
3535
RefactorInline,
3636
RefactorRewrite,
37-
Source,
38-
OrganizeImports,
3937
}
4038

4139
/// Unique identifier of the assist, should not be shown to the user

crates/rust-analyzer/src/caps.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,6 @@ fn code_action_capabilities(client_caps: &ClientCapabilities) -> CodeActionProvi
112112
lsp_types::code_action_kind::REFACTOR_EXTRACT.to_string(),
113113
lsp_types::code_action_kind::REFACTOR_INLINE.to_string(),
114114
lsp_types::code_action_kind::REFACTOR_REWRITE.to_string(),
115-
lsp_types::code_action_kind::SOURCE.to_string(),
116-
lsp_types::code_action_kind::SOURCE_ORGANIZE_IMPORTS.to_string(),
117115
]),
118116
work_done_progress_options: Default::default(),
119117
})

crates/rust-analyzer/src/to_proto.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -635,8 +635,6 @@ pub(crate) fn code_action_kind(kind: AssistKind) -> String {
635635
AssistKind::RefactorExtract => lsp_types::code_action_kind::REFACTOR_EXTRACT,
636636
AssistKind::RefactorInline => lsp_types::code_action_kind::REFACTOR_INLINE,
637637
AssistKind::RefactorRewrite => lsp_types::code_action_kind::REFACTOR_REWRITE,
638-
AssistKind::Source => lsp_types::code_action_kind::SOURCE,
639-
AssistKind::OrganizeImports => lsp_types::code_action_kind::SOURCE_ORGANIZE_IMPORTS,
640638
}
641639
.to_string()
642640
}

0 commit comments

Comments
 (0)