aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/rust-analyzer/src/to_proto.rs22
1 files changed, 11 insertions, 11 deletions
diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs
index 33c2fd595..a8e2e535f 100644
--- a/crates/rust-analyzer/src/to_proto.rs
+++ b/crates/rust-analyzer/src/to_proto.rs
@@ -164,27 +164,27 @@ pub(crate) fn completion_item(
164 additional_text_edits: Some(additional_text_edits), 164 additional_text_edits: Some(additional_text_edits),
165 documentation: completion_item.documentation().map(documentation), 165 documentation: completion_item.documentation().map(documentation),
166 deprecated: Some(completion_item.deprecated()), 166 deprecated: Some(completion_item.deprecated()),
167 command: if completion_item.trigger_call_info() {
168 let cmd = lsp_types::Command {
169 title: "triggerParameterHints".into(),
170 command: "editor.action.triggerParameterHints".into(),
171 arguments: None,
172 };
173 Some(cmd)
174 } else {
175 None
176 },
177 ..Default::default() 167 ..Default::default()
178 }; 168 };
179 169
180 if completion_item.score().is_some() { 170 if completion_item.score().is_some() {
181 res.preselect = Some(true) 171 res.preselect = Some(true);
172 // HACK: sort preselect items first
173 res.sort_text = Some(format!(" {}", completion_item.label()));
182 } 174 }
183 175
184 if completion_item.deprecated() { 176 if completion_item.deprecated() {
185 res.tags = Some(vec![lsp_types::CompletionItemTag::Deprecated]) 177 res.tags = Some(vec![lsp_types::CompletionItemTag::Deprecated])
186 } 178 }
187 179
180 if completion_item.trigger_call_info() {
181 res.command = Some(lsp_types::Command {
182 title: "triggerParameterHints".into(),
183 command: "editor.action.triggerParameterHints".into(),
184 arguments: None,
185 });
186 }
187
188 res.insert_text_format = Some(insert_text_format(completion_item.insert_text_format())); 188 res.insert_text_format = Some(insert_text_format(completion_item.insert_text_format()));
189 189
190 res 190 res