]> git.lizzy.rs Git - rust.git/commitdiff
Don't categorize things we don't care about
authorkjeremy <kjeremy@gmail.com>
Thu, 2 Jul 2020 22:01:22 +0000 (18:01 -0400)
committerkjeremy <kjeremy@gmail.com>
Thu, 2 Jul 2020 22:01:22 +0000 (18:01 -0400)
crates/ra_assists/src/handlers/add_derive.rs
crates/ra_assists/src/handlers/add_function.rs
crates/ra_assists/src/handlers/add_new.rs
crates/ra_assists/src/lib.rs
crates/rust-analyzer/src/caps.rs
crates/rust-analyzer/src/to_proto.rs

index 12acfbbe497c6c75569f358d24f5ba462ce772b2..e2b94e7f89499aeaad8ffb1c8277d5da4126caac 100644 (file)
@@ -29,7 +29,7 @@ pub(crate) fn add_derive(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
     let nominal = ctx.find_node_at_offset::<ast::NominalDef>()?;
     let node_start = derive_insertion_offset(&nominal)?;
     let target = nominal.syntax().text_range();
-    acc.add(AssistId("add_derive", AssistKind::Refactor), "Add `#[derive]`", target, |builder| {
+    acc.add(AssistId("add_derive", AssistKind::None), "Add `#[derive]`", target, |builder| {
         let derive_attr = nominal
             .attrs()
             .filter_map(|x| x.as_simple_call())
index 6f2950daff5b4dc6e64679d7f5ae87b4bb61cb80..7150eb53a5fa4da5025cc0e750f967fe95fbd06b 100644 (file)
@@ -62,20 +62,15 @@ pub(crate) fn add_function(acc: &mut Assists, ctx: &AssistContext) -> Option<()>
     let function_builder = FunctionBuilder::from_call(&ctx, &call, &path, target_module)?;
 
     let target = call.syntax().text_range();
-    acc.add(
-        AssistId("add_function", AssistKind::RefactorExtract),
-        "Add function",
-        target,
-        |builder| {
-            let function_template = function_builder.render();
-            builder.edit_file(function_template.file);
-            let new_fn = function_template.to_string(ctx.config.snippet_cap);
-            match ctx.config.snippet_cap {
-                Some(cap) => builder.insert_snippet(cap, function_template.insert_offset, new_fn),
-                None => builder.insert(function_template.insert_offset, new_fn),
-            }
-        },
-    )
+    acc.add(AssistId("add_function", AssistKind::None), "Add function", target, |builder| {
+        let function_template = function_builder.render();
+        builder.edit_file(function_template.file);
+        let new_fn = function_template.to_string(ctx.config.snippet_cap);
+        match ctx.config.snippet_cap {
+            Some(cap) => builder.insert_snippet(cap, function_template.insert_offset, new_fn),
+            None => builder.insert(function_template.insert_offset, new_fn),
+        }
+    })
 }
 
 struct FunctionTemplate {
index 84eda548605911eb93485c7dfede3d8c3650b174..0b3d29c7c55dbf9436bbf7d1ac840e9c77af18ca 100644 (file)
@@ -42,55 +42,50 @@ pub(crate) fn add_new(acc: &mut Assists, ctx: &AssistContext) -> Option<()> {
     let impl_def = find_struct_impl(&ctx, &strukt)?;
 
     let target = strukt.syntax().text_range();
-    acc.add(
-        AssistId("add_new", AssistKind::Refactor),
-        "Add default constructor",
-        target,
-        |builder| {
-            let mut buf = String::with_capacity(512);
-
-            if impl_def.is_some() {
-                buf.push('\n');
-            }
+    acc.add(AssistId("add_new", AssistKind::None), "Add default constructor", target, |builder| {
+        let mut buf = String::with_capacity(512);
 
-            let vis = strukt.visibility().map_or(String::new(), |v| format!("{} ", v));
-
-            let params = field_list
-                .fields()
-                .filter_map(|f| {
-                    Some(format!("{}: {}", f.name()?.syntax(), f.ascribed_type()?.syntax()))
-                })
-                .sep_by(", ");
-            let fields = field_list.fields().filter_map(|f| f.name()).sep_by(", ");
-
-            format_to!(buf, "    {}fn new({}) -> Self {{ Self {{ {} }} }}", vis, params, fields);
-
-            let start_offset = impl_def
-                .and_then(|impl_def| {
-                    buf.push('\n');
-                    let start = impl_def
-                        .syntax()
-                        .descendants_with_tokens()
-                        .find(|t| t.kind() == T!['{'])?
-                        .text_range()
-                        .end();
-
-                    Some(start)
-                })
-                .unwrap_or_else(|| {
-                    buf = generate_impl_text(&strukt, &buf);
-                    strukt.syntax().text_range().end()
-                });
-
-            match ctx.config.snippet_cap {
-                None => builder.insert(start_offset, buf),
-                Some(cap) => {
-                    buf = buf.replace("fn new", "fn $0new");
-                    builder.insert_snippet(cap, start_offset, buf);
-                }
+        if impl_def.is_some() {
+            buf.push('\n');
+        }
+
+        let vis = strukt.visibility().map_or(String::new(), |v| format!("{} ", v));
+
+        let params = field_list
+            .fields()
+            .filter_map(|f| {
+                Some(format!("{}: {}", f.name()?.syntax(), f.ascribed_type()?.syntax()))
+            })
+            .sep_by(", ");
+        let fields = field_list.fields().filter_map(|f| f.name()).sep_by(", ");
+
+        format_to!(buf, "    {}fn new({}) -> Self {{ Self {{ {} }} }}", vis, params, fields);
+
+        let start_offset = impl_def
+            .and_then(|impl_def| {
+                buf.push('\n');
+                let start = impl_def
+                    .syntax()
+                    .descendants_with_tokens()
+                    .find(|t| t.kind() == T!['{'])?
+                    .text_range()
+                    .end();
+
+                Some(start)
+            })
+            .unwrap_or_else(|| {
+                buf = generate_impl_text(&strukt, &buf);
+                strukt.syntax().text_range().end()
+            });
+
+        match ctx.config.snippet_cap {
+            None => builder.insert(start_offset, buf),
+            Some(cap) => {
+                buf = buf.replace("fn new", "fn $0new");
+                builder.insert_snippet(cap, start_offset, buf);
             }
-        },
-    )
+        }
+    })
 }
 
 // Generates the surrounding `impl Type { <code> }` including type and lifetime
index 201213c73ca63297dc73b64a5d8b637589c70ca8..65cda95ee250afb943591c30008e731e3e607ff0 100644 (file)
@@ -34,8 +34,6 @@ pub enum AssistKind {
     RefactorExtract,
     RefactorInline,
     RefactorRewrite,
-    Source,
-    OrganizeImports,
 }
 
 /// Unique identifier of the assist, should not be shown to the user
index 673795e781e679dc675284b1f552ce4663fdd0e3..070ad5e684b97ab24aa704b853ed8d5dd8596739 100644 (file)
@@ -112,8 +112,6 @@ fn code_action_capabilities(client_caps: &ClientCapabilities) -> CodeActionProvi
                     lsp_types::code_action_kind::REFACTOR_EXTRACT.to_string(),
                     lsp_types::code_action_kind::REFACTOR_INLINE.to_string(),
                     lsp_types::code_action_kind::REFACTOR_REWRITE.to_string(),
-                    lsp_types::code_action_kind::SOURCE.to_string(),
-                    lsp_types::code_action_kind::SOURCE_ORGANIZE_IMPORTS.to_string(),
                 ]),
                 work_done_progress_options: Default::default(),
             })
index e16d6482a5ad5e9492544c528fe227da77b49b4f..2312a6e4d5558ba46569b428df867f5f01fe2632 100644 (file)
@@ -635,8 +635,6 @@ pub(crate) fn code_action_kind(kind: AssistKind) -> String {
         AssistKind::RefactorExtract => lsp_types::code_action_kind::REFACTOR_EXTRACT,
         AssistKind::RefactorInline => lsp_types::code_action_kind::REFACTOR_INLINE,
         AssistKind::RefactorRewrite => lsp_types::code_action_kind::REFACTOR_REWRITE,
-        AssistKind::Source => lsp_types::code_action_kind::SOURCE,
-        AssistKind::OrganizeImports => lsp_types::code_action_kind::SOURCE_ORGANIZE_IMPORTS,
     }
     .to_string()
 }