// If not an import, add parenthesis automatically.
if ctx.use_item_syntax.is_none() && !ctx.is_call {
tested_by!(inserts_parens_for_function_calls);
- if function.signature(ctx.db).params().is_empty() {
+ let sig = function.signature(ctx.db);
+ if sig.params().is_empty() || sig.has_self_param() && sig.params().len() == 1 {
self.insert_text = Some(format!("{}()$0", self.label));
} else {
self.insert_text = Some(format!("{}($0)", self.label));
fn main() { with_<|> }
",
);
+ check_reference_completion(
+ "inserts_parens_for_function_calls3",
+ r"
+ struct S {}
+ impl S {
+ fn foo(&self) {}
+ }
+ fn bar(s: &S) {
+ s.f<|>
+ }
+ ",
+ )
}
#[test]
--- /dev/null
+---
+created: "2019-01-23T13:19:23.525922020+00:00"
+creator: insta@0.5.2
+expression: kind_completions
+source: crates/ra_ide_api/src/completion/completion_item.rs
+---
+[
+ CompletionItem {
+ completion_kind: Reference,
+ label: "foo",
+ kind: Some(
+ Method
+ ),
+ detail: Some(
+ "fn foo(&self)"
+ ),
+ documentation: None,
+ lookup: None,
+ insert_text: Some(
+ "foo()$0"
+ ),
+ insert_text_format: Snippet,
+ source_range: [139; 140),
+ text_edit: None
+ }
+]
---
-created: "2019-01-22T15:38:19.541947400+00:00"
-creator: insta@0.4.0
+created: "2019-01-23T13:19:23.501258181+00:00"
+creator: insta@0.5.2
expression: kind_completions
-source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
+source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
documentation: None,
lookup: None,
insert_text: Some(
- "the_method($0)"
+ "the_method()$0"
),
insert_text_format: Snippet,
source_range: [144; 144),
---
-created: "2019-01-22T15:38:19.541947400+00:00"
-creator: insta@0.4.0
+created: "2019-01-23T13:19:23.501353210+00:00"
+creator: insta@0.5.2
expression: kind_completions
-source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
+source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
documentation: None,
lookup: None,
insert_text: Some(
- "foo($0)"
+ "foo()$0"
),
insert_text_format: Snippet,
source_range: [126; 126),
---
-created: "2019-01-22T15:38:19.541947400+00:00"
-creator: insta@0.4.0
+created: "2019-01-23T13:19:23.501297515+00:00"
+creator: insta@0.5.2
expression: kind_completions
-source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
+source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
documentation: None,
lookup: None,
insert_text: Some(
- "foo($0)"
+ "foo()$0"
),
insert_text_format: Snippet,
source_range: [121; 121),