Open
Description
The format in which the compiler returns code completions is not very well suited for metals. In general signatures/descriptions are returned as plain strings but metals might need to print them in different formats depending on the context and to keep familiarity with how things are do for scala 2. As a result some of the logic for computing signatures (which might get very complex when e.g. extension methods with type parameters or path dependent types are involved) gets reimplemented (not always correctly) in metals.
It might be then beneficial to return the computed completions' signatures in some more structured way to let metals decide how they should be presented to users