rustbot · GitHub

When rust-analyzer.completion.fullFunctionSignatures.enable is set to true, completion descriptions are generated by detail_full, which internally calls write_function() to produce the signature. For functions with more than four parameters, the generated signature is multi-line:

Take the compare_exchange() function as an example, the final generated signature for this function is like:

pub fn compare_exchange(
    &self,
    current: bool,
    new: bool,
    success: Ordering,
    failure: Ordering,
) -> Result<bool, bool>

Flattening this output in detail_full previously inserted a space right after ( and right before ), e.g. pub fn compare_exchange( &self, ... ).

This PR makes a small change to detail_full to skip the whitespace insertion around the parentheses.

Read the original on github.com ↗