diff options
| author | vxpm <viniciusximenespm@gmail.com> | 2023-09-03 23:41:13 -0300 |
|---|---|---|
| committer | vxpm <viniciusximenespm@gmail.com> | 2023-09-08 22:03:42 -0300 |
| commit | 6afa5b0ba28c46905c0d0ac3022d4e1af0f1de36 (patch) | |
| tree | 59b770711bb4c28b0e0a8e236f1f14576086a95a | |
| parent | 23ffda1a97726ccdb70e43910ae4363f3e5b8448 (diff) | |
| download | rust-6afa5b0ba28c46905c0d0ac3022d4e1af0f1de36.tar.gz rust-6afa5b0ba28c46905c0d0ac3022d4e1af0f1de36.zip | |
better handling of spaces & newlines
| -rw-r--r-- | crates/ide-completion/src/render/function.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/crates/ide-completion/src/render/function.rs b/crates/ide-completion/src/render/function.rs index 1672826f330..dd7de72190d 100644 --- a/crates/ide-completion/src/render/function.rs +++ b/crates/ide-completion/src/render/function.rs @@ -241,7 +241,18 @@ fn ref_of_param(ctx: &CompletionContext<'_>, arg: &str, ty: &hir::Type) -> &'sta fn detail(db: &dyn HirDatabase, func: hir::Function, full_function_signature: bool) -> String { if full_function_signature { - return format!("{}", func.display(db)).replace("\n", " "); + let signature = format!("{}", func.display(db)); + let mut singleline = String::with_capacity(signature.len()); + + for segment in signature.split_whitespace() { + if !singleline.is_empty() { + singleline.push(' '); + } + + singleline.push_str(segment); + } + + return singleline; } let mut ret_ty = func.ret_type(db); |
