More UI friendly labels

This commit is contained in:
Jeremy Kolb 2020-01-14 11:49:14 -05:00
parent e406f2bed6
commit 4cb82c334d
23 changed files with 43 additions and 35 deletions

View file

@ -28,7 +28,7 @@ use crate::{Assist, AssistCtx, AssistId};
pub(crate) fn add_derive(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
let nominal = ctx.find_node_at_offset::<ast::NominalDef>()?;
let node_start = derive_insertion_offset(&nominal)?;
ctx.add_assist(AssistId("add_derive"), "add `#[derive]`", |edit| {
ctx.add_assist(AssistId("add_derive"), "Add `#[derive]`", |edit| {
let derive_attr = nominal
.attrs()
.filter_map(|x| x.as_simple_call())

View file

@ -47,10 +47,14 @@ pub(crate) fn add_explicit_type(ctx: AssistCtx<impl HirDatabase>) -> Option<Assi
return None;
}
ctx.add_assist(AssistId("add_explicit_type"), "add explicit type", |edit| {
edit.target(pat_range);
edit.insert(name_range.end(), format!(": {}", ty.display(db)));
})
ctx.add_assist(
AssistId("add_explicit_type"),
format!("Insert Explicit Type '{}'", ty.display(db)),
|edit| {
edit.target(pat_range);
edit.insert(name_range.end(), format!(": {}", ty.display(db)));
},
)
}
#[cfg(test)]

View file

@ -30,7 +30,7 @@ use crate::{Assist, AssistCtx, AssistId};
pub(crate) fn add_impl(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
let nominal = ctx.find_node_at_offset::<ast::NominalDef>()?;
let name = nominal.name()?;
ctx.add_assist(AssistId("add_impl"), "add impl", |edit| {
ctx.add_assist(AssistId("add_impl"), format!("Implement {}", name.text().as_str()), |edit| {
edit.target(nominal.syntax().text_range());
let type_params = nominal.type_param_list();
let start_offset = nominal.syntax().text_range().end();

View file

@ -72,7 +72,7 @@ pub(crate) fn add_import(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
}
};
ctx.add_assist(AssistId("add_import"), format!("import {}", fmt_segments(&segments)), |edit| {
ctx.add_assist(AssistId("add_import"), format!("Import {}", fmt_segments(&segments)), |edit| {
apply_auto_import(&position, &path, &segments, edit.text_edit_builder());
})
}

View file

@ -48,7 +48,7 @@ pub(crate) fn add_missing_impl_members(ctx: AssistCtx<impl HirDatabase>) -> Opti
ctx,
AddMissingImplMembersMode::NoDefaultMethods,
"add_impl_missing_members",
"add missing impl members",
"Implement Missing Members",
)
}
@ -89,7 +89,7 @@ pub(crate) fn add_missing_default_members(ctx: AssistCtx<impl HirDatabase>) -> O
ctx,
AddMissingImplMembersMode::DefaultMethodsOnly,
"add_impl_default_members",
"add impl default members",
"Implement Default Members",
)
}

View file

@ -43,7 +43,7 @@ pub(crate) fn add_new(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
// Return early if we've found an existing new fn
let impl_block = find_struct_impl(&ctx, &strukt)?;
ctx.add_assist(AssistId("add_new"), "add new fn", |edit| {
ctx.add_assist(AssistId("add_new"), "Add Default Constructor", |edit| {
edit.target(strukt.syntax().text_range());
let mut buf = String::with_capacity(512);

View file

@ -39,7 +39,7 @@ pub(crate) fn apply_demorgan(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist>
let not_lhs = invert_boolean_expression(&lhs)?;
let not_rhs = invert_boolean_expression(&rhs)?;
ctx.add_assist(AssistId("apply_demorgan"), "apply demorgan's law", |edit| {
ctx.add_assist(AssistId("apply_demorgan"), "Apply Demorgan's Law", |edit| {
edit.target(op_range);
edit.replace(op_range, opposite_op);
edit.replace(lhs_range, format!("!({}", not_lhs.syntax().text()));

View file

@ -57,7 +57,7 @@ fn add_vis(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
(vis_offset(field.syntax()), ident.text_range())
};
ctx.add_assist(AssistId("change_visibility"), "make pub(crate)", |edit| {
ctx.add_assist(AssistId("change_visibility"), "Change Visibility to pub(crate)", |edit| {
edit.target(target);
edit.insert(offset, "pub(crate) ");
edit.set_cursor(offset);
@ -77,14 +77,18 @@ fn vis_offset(node: &SyntaxNode) -> TextUnit {
fn change_vis(ctx: AssistCtx<impl HirDatabase>, vis: ast::Visibility) -> Option<Assist> {
if vis.syntax().text() == "pub" {
return ctx.add_assist(AssistId("change_visibility"), "change to pub(crate)", |edit| {
edit.target(vis.syntax().text_range());
edit.replace(vis.syntax().text_range(), "pub(crate)");
edit.set_cursor(vis.syntax().text_range().start())
});
return ctx.add_assist(
AssistId("change_visibility"),
"Change Visibility to pub(crate)",
|edit| {
edit.target(vis.syntax().text_range());
edit.replace(vis.syntax().text_range(), "pub(crate)");
edit.set_cursor(vis.syntax().text_range().start())
},
);
}
if vis.syntax().text() == "pub(crate)" {
return ctx.add_assist(AssistId("change_visibility"), "change to pub", |edit| {
return ctx.add_assist(AssistId("change_visibility"), "Change Visibility to pub", |edit| {
edit.target(vis.syntax().text_range());
edit.replace(vis.syntax().text_range(), "pub");
edit.set_cursor(vis.syntax().text_range().start());

View file

@ -95,7 +95,7 @@ pub(crate) fn convert_to_guarded_return(ctx: AssistCtx<impl HirDatabase>) -> Opt
then_block.syntax().last_child_or_token().filter(|t| t.kind() == R_CURLY)?;
let cursor_position = ctx.frange.range.start();
ctx.add_assist(AssistId("convert_to_guarded_return"), "convert to guarded return", |edit| {
ctx.add_assist(AssistId("convert_to_guarded_return"), "Convert to Guarded Return", |edit| {
let if_indent_level = IndentLevel::from_node(&if_expr.syntax());
let new_block = match if_let_pat {
None => {

View file

@ -57,7 +57,7 @@ pub(crate) fn fill_match_arms(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist
let db = ctx.db;
ctx.add_assist(AssistId("fill_match_arms"), "fill match arms", |edit| {
ctx.add_assist(AssistId("fill_match_arms"), "Fill Match Arms", |edit| {
let indent_level = IndentLevel::from_node(match_arm_list.syntax());
let new_arm_list = {

View file

@ -34,7 +34,7 @@ pub(crate) fn flip_binexpr(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
return None;
}
ctx.add_assist(AssistId("flip_binexpr"), "flip binary expression", |edit| {
ctx.add_assist(AssistId("flip_binexpr"), "Flip Binary Expression", |edit| {
edit.target(op_range);
if let FlipAction::FlipAndReplaceOp(new_op) = action {
edit.replace(op_range, new_op);

View file

@ -29,7 +29,7 @@ pub(crate) fn flip_comma(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
return None;
}
ctx.add_assist(AssistId("flip_comma"), "flip comma", |edit| {
ctx.add_assist(AssistId("flip_comma"), "Flip Comma", |edit| {
edit.target(comma.text_range());
edit.replace(prev.text_range(), next.to_string());
edit.replace(next.text_range(), prev.to_string());

View file

@ -33,7 +33,7 @@ pub(crate) fn flip_trait_bound(ctx: AssistCtx<impl HirDatabase>) -> Option<Assis
non_trivia_sibling(plus.clone().into(), Direction::Next)?,
);
ctx.add_assist(AssistId("flip_trait_bound"), "flip trait bound", |edit| {
ctx.add_assist(AssistId("flip_trait_bound"), "Flip Trait Bounds", |edit| {
edit.target(plus.text_range());
edit.replace(before.text_range(), after.to_string());
edit.replace(after.text_range(), before.to_string());

View file

@ -93,7 +93,7 @@ pub(crate) fn inline_local_varialbe(ctx: AssistCtx<impl HirDatabase>) -> Option<
ctx.add_assist(
AssistId("inline_local_variable"),
"inline local variable",
"Inline Variable",
move |edit: &mut AssistBuilder| {
edit.delete(delete_range);
for (desc, should_wrap) in refs.iter().zip(wrap_in_parens) {

View file

@ -43,7 +43,7 @@ pub(crate) fn introduce_variable(ctx: AssistCtx<impl HirDatabase>) -> Option<Ass
if indent.kind() != WHITESPACE {
return None;
}
ctx.add_assist(AssistId("introduce_variable"), "introduce variable", move |edit| {
ctx.add_assist(AssistId("introduce_variable"), "Extract into Variable", move |edit| {
let mut buf = String::new();
let cursor_offset = if wrap_in_block {

View file

@ -41,7 +41,7 @@ pub(crate) fn invert_if(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
let else_node = else_block.syntax();
let else_range = else_node.text_range();
let then_range = then_node.text_range();
return ctx.add_assist(AssistId("invert_if"), "invert if branches", |edit| {
return ctx.add_assist(AssistId("invert_if"), "Invert If", |edit| {
edit.target(if_range);
edit.replace(cond_range, flip_cond.syntax().text());
edit.replace(else_range, then_node.text());

View file

@ -52,7 +52,7 @@ pub(crate) fn merge_match_arms(ctx: AssistCtx<impl HirDatabase>) -> Option<Assis
let cursor_to_end = current_arm.syntax().text_range().end() - ctx.frange.range.start();
ctx.add_assist(AssistId("merge_match_arms"), "merge match arms", |edit| {
ctx.add_assist(AssistId("merge_match_arms"), "Merge Match Arms", |edit| {
fn contains_placeholder(a: &MatchArm) -> bool {
a.pats().any(|x| match x {
ra_syntax::ast::Pat::PlaceholderPat(..) => true,

View file

@ -46,7 +46,7 @@ pub(crate) fn move_bounds_to_where_clause(ctx: AssistCtx<impl HirDatabase>) -> O
_ => return None,
};
ctx.add_assist(AssistId("move_bounds_to_where_clause"), "move_bounds_to_where_clause", |edit| {
ctx.add_assist(AssistId("move_bounds_to_where_clause"), "Move to Where Clause", |edit| {
let new_params = type_param_list
.type_params()
.filter(|it| it.type_bound_list().is_some())

View file

@ -41,7 +41,7 @@ pub(crate) fn move_guard_to_arm_body(ctx: AssistCtx<impl HirDatabase>) -> Option
let arm_expr = match_arm.expr()?;
let buf = format!("if {} {{ {} }}", guard_conditions.syntax().text(), arm_expr.syntax().text());
ctx.add_assist(AssistId("move_guard_to_arm_body"), "move guard to arm body", |edit| {
ctx.add_assist(AssistId("move_guard_to_arm_body"), "Move Guard to Arm Body", |edit| {
edit.target(guard.syntax().text_range());
let offseting_amount = match space_before_guard.and_then(|it| it.into_token()) {
Some(tok) => {

View file

@ -25,7 +25,7 @@ use crate::{Assist, AssistCtx, AssistId};
pub(crate) fn make_raw_string(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
let token = ctx.find_token_at_offset(STRING).and_then(ast::String::cast)?;
let value = token.value()?;
ctx.add_assist(AssistId("make_raw_string"), "make raw string", |edit| {
ctx.add_assist(AssistId("make_raw_string"), "Rewrite as Raw String", |edit| {
edit.target(token.syntax().text_range());
let max_hash_streak = count_hashes(&value);
let mut hashes = String::with_capacity(max_hash_streak + 1);
@ -54,7 +54,7 @@ pub(crate) fn make_raw_string(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist
pub(crate) fn make_usual_string(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
let token = ctx.find_token_at_offset(RAW_STRING).and_then(ast::RawString::cast)?;
let value = token.value()?;
ctx.add_assist(AssistId("make_usual_string"), "make usual string", |edit| {
ctx.add_assist(AssistId("make_usual_string"), "Rewrite as Regular String", |edit| {
edit.target(token.syntax().text_range());
// parse inside string to escape `"`
let escaped = value.escape_default().to_string();
@ -79,7 +79,7 @@ pub(crate) fn make_usual_string(ctx: AssistCtx<impl HirDatabase>) -> Option<Assi
// ```
pub(crate) fn add_hash(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
let token = ctx.find_token_at_offset(RAW_STRING)?;
ctx.add_assist(AssistId("add_hash"), "add hash to raw string", |edit| {
ctx.add_assist(AssistId("add_hash"), "Add # to Raw String", |edit| {
edit.target(token.text_range());
edit.insert(token.text_range().start() + TextUnit::of_char('r'), "#");
edit.insert(token.text_range().end(), "#");

View file

@ -58,7 +58,7 @@ pub(crate) fn remove_dbg(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
text.slice(without_parens).to_string()
};
ctx.add_assist(AssistId("remove_dbg"), "remove dbg!()", |edit| {
ctx.add_assist(AssistId("remove_dbg"), "Remove dbg!()", |edit| {
edit.target(macro_call.syntax().text_range());
edit.replace(macro_range, macro_content);
edit.set_cursor(cursor_pos);

View file

@ -42,7 +42,7 @@ pub(crate) fn replace_if_let_with_match(ctx: AssistCtx<impl HirDatabase>) -> Opt
ast::ElseBranch::IfExpr(_) => return None,
};
ctx.add_assist(AssistId("replace_if_let_with_match"), "replace with match", |edit| {
ctx.add_assist(AssistId("replace_if_let_with_match"), "Replace with Match", |edit| {
let match_expr = build_match_expr(expr, pat, then_block, else_block);
edit.target(if_expr.syntax().text_range());
edit.replace_node_and_indent(if_expr.syntax(), match_expr);

View file

@ -32,7 +32,7 @@ pub(crate) fn split_import(ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> {
None => top_path.syntax().text_range().end(),
};
ctx.add_assist(AssistId("split_import"), "split import", |edit| {
ctx.add_assist(AssistId("split_import"), "Split Import", |edit| {
edit.target(colon_colon.text_range());
edit.insert(l_curly, "{");
edit.insert(r_curly, "}");