The LSP hover info functionality has curious behavior for terms whose name ends in ! (and possibly other characters...I haven't checked).
See the screenshot below. It seems to show the correct type signature and doc, but the term name in the type signature is wrong; it shows Stream.flatMap while it should show Stream.flatMap!. Notably in this case Stream.flatMapis an existing term but has a different type signature.
Screenshots
Environment (please complete the following information):
My guess is that it is just using the name from the scratch file to avoid confusion with aliases but that it isn't quite using the right tokenization or something.
Yeah I think I probably just need to change what I consider a valid symbol name, I think I had ! out of the set so I wouldn't parse !foo as a symbol. Can probably just strip leading bangs but not trailing ones.
Describe and demonstrate the bug
The LSP hover info functionality has curious behavior for terms whose name ends in
!
(and possibly other characters...I haven't checked).See the screenshot below. It seems to show the correct type signature and doc, but the term name in the type signature is wrong; it shows
Stream.flatMap
while it should showStream.flatMap!
. Notably in this caseStream.flatMap
is an existing term but has a different type signature.Screenshots
Environment (please complete the following information):
ucm --version
fa8fc3aced567b62a1f5bcd4d67b95683b2891a9Additional context
My guess is that it is just using the name from the scratch file to avoid confusion with aliases but that it isn't quite using the right tokenization or something.