diff options
Diffstat (limited to 'crates/ra_analysis/src/completion/completion_item.rs')
-rw-r--r-- | crates/ra_analysis/src/completion/completion_item.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/crates/ra_analysis/src/completion/completion_item.rs b/crates/ra_analysis/src/completion/completion_item.rs index 1d294c553..b8fa39ae3 100644 --- a/crates/ra_analysis/src/completion/completion_item.rs +++ b/crates/ra_analysis/src/completion/completion_item.rs | |||
@@ -138,9 +138,18 @@ impl Builder { | |||
138 | .. | 138 | .. |
139 | } => CompletionItemKind::Enum, | 139 | } => CompletionItemKind::Enum, |
140 | PerNs { | 140 | PerNs { |
141 | values: Some(hir::Def::Function(..)), | 141 | values: Some(hir::Def::Function(function)), |
142 | .. | 142 | .. |
143 | } => CompletionItemKind::Function, | 143 | } => { |
144 | if let Some(sig_info) = function.signature_info(db) { | ||
145 | if sig_info.params.is_empty() { | ||
146 | self.snippet = Some(format!("{}()$0", self.label)); | ||
147 | } else { | ||
148 | self.snippet = Some(format!("{}($0)", self.label)); | ||
149 | } | ||
150 | } | ||
151 | CompletionItemKind::Function | ||
152 | } | ||
144 | _ => return self, | 153 | _ => return self, |
145 | }; | 154 | }; |
146 | self.kind = Some(kind); | 155 | self.kind = Some(kind); |