feat: Adding extract_module assist

This commit is contained in:
vi_mi 2021-08-16 13:45:10 +05:30 committed by Laurențiu Nicola
parent 6c7526d308
commit 32b95ea310
5 changed files with 1447 additions and 1 deletions

File diff suppressed because it is too large Load diff

View file

@ -140,7 +140,7 @@ fn process_usage(
None
}
fn range_to_remove(node: &SyntaxNode) -> TextRange {
pub(crate) fn range_to_remove(node: &SyntaxNode) -> TextRange {
let up_to_comma = next_prev().find_map(|dir| {
node.siblings_with_tokens(dir)
.filter_map(|it| it.into_token())

View file

@ -122,6 +122,7 @@ mod handlers {
mod destructure_tuple_binding;
mod expand_glob_import;
mod extract_function;
mod extract_module;
mod extract_struct_from_enum_variant;
mod extract_type_alias;
mod extract_variable;
@ -273,6 +274,7 @@ mod handlers {
//
extract_variable::extract_variable,
extract_function::extract_function,
extract_module::extract_module,
//
generate_getter::generate_getter,
generate_getter::generate_getter_mut,

View file

@ -526,6 +526,35 @@ fn $0fun_name(n: i32) {
)
}
#[test]
fn doctest_extract_module() {
check_doc_test(
"extract_module",
r#####"
$0
fn foo(name: i32) -> i32 {
name + 1
}
$0
fn bar(name: i32) -> i32 {
name + 2
}
"#####,
r#####"
mod modname {
pub(crate) fn foo(name: i32) -> i32 {
name + 1
}
}
fn bar(name: i32) -> i32 {
name + 2
}
"#####,
)
}
#[test]
fn doctest_extract_struct_from_enum_variant() {
check_doc_test(