-
-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Declaration identifier tokens are not highlighted as type names except for interfaces #184
Comments
@KirillOsenkov Wonder if there is a correlation between the fact that interfaces are different than other types here and the same thing in #179 |
could be. We should check which classification(s) are returned by Roslyn for these, could be we need to filter some out (like we already do for static symbol) |
I've added this sample to the test code, so you can just GenerateTestSite.cmd and RunTestSite.cmd to check: Check http://localhost:5000/Project2/diagnostics.txt, maybe you have errors that prevent the classifier from working properly? Each project generates a diagnostics.txt with a list of diagnostics for that project returned by Roslyn. We don't have distinct classification for various type kinds, this is a relatively recent addition to VS. |
I still repro by debugging HtmlGenerator to point it at a .sln file that points to these two files (Repro.zip): void M<SomeTypeParameter>(
SomeClass a,
SomeStruct b,
SomeRecord c,
SomeEnum d,
SomeInterface e,
SomeDelegate f,
SomeTypeParameter g)
{
}
class SomeClass { }
struct SomeStruct { }
record SomeRecord;
enum SomeEnum { }
interface SomeInterface { }
delegate void SomeDelegate(); And: <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project> The repro project builds successfully before running HtmlGenerator. The debug arguments are:
Diagnostics.txt:
|
I'll do some digging as I have time too.
I'd be interested in implementing this. |
You can see that I picked a single-letter css class for types, to minimize the html as much as possible. If you introduce new css for type kinds, see if you can minimize resulting Html. Otherwise it should be pretty straightforward. It’s all in Pass1, around Document*.cs and Classifier. |
Visual Studio/SourceBrowser:
Also, I've really become accustomed to VS and VS Code's advanced styling for structs, enums, interfaces, and type parameters.
The text was updated successfully, but these errors were encountered: