dotnet / dotnet/fsharp

Highitling can't represent interfaces or structs from XML documentation

Open
#9,606 1 comment 0 reactions 0 assignees View on GitHub
Area-LangService-Colorization Feature Request
Dominant language
F#
Stars
4.3k
Forks
876
Avg merge
4d 11h
Merged PRs (30d)
131

Description

Consider the following tooltip:

![image](https://user-images.githubusercontent.com/6309070/86180165-7533ef80-bae0-11ea-8e8c-61f0c2965f0c.png)

The `IApplicationBuilder` in the summary text is colored as a class. This is because the information is read as an XML doc, and the type is given the "type" tag. This tag has no information about if the type it is referring to is a class, interface, or struct. Currently, VS tooling (VS layer, not FCS layer) reads this and defaults to class since it's probably assumed to be the most common.

A quick hack would be to see if the name starts with `I`, then treat it as an interface. But that's a hack.

To do this properly, we would need to read this data and build a mapping between the fully-qualified type and a real symbol we resolve. This would then tell us which kind of type it is, and we could tag it appropriately.

Labeling this as a bug because it seems like a bug from the user's perspective, but it is actually a fundamental change we have to make.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.