More UI friendly labels
This commit is contained in:
parent
e406f2bed6
commit
4cb82c334d
23 changed files with 43 additions and 35 deletions
|
@ -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())
|
||||
|
|
|
@ -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)]
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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());
|
||||
})
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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()));
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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 => {
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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) => {
|
||||
|
|
|
@ -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(), "#");
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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, "}");
|
||||
|
|
Loading…
Reference in a new issue