Skip to content

[C#] Prefer highlighting inner generic brackets #82

@Ririshi

Description

@Ririshi

Not sure if this is a bug or just a design choice, but I have some feedback on which pair of generic brackets should be highlighted when changing a generic type.

To Reproduce
Steps to reproduce the behavior:

  1. Open a diff for the below source code snippets.
  2. See "wrongly" highlighted generic type diff.

Expected Behavior
The inner generic brackets should be highlighted. Conceptually, this is what was added: I wrapped my original return type inside a generic class. One could even argue that the whole generic Nullable<int> should be highlighted instead of just the Nullable<> part, because a Nullable<int> might have been be something completely different from the bare int.

Actual Behavior
The outer generic brackets are highlighted.

Screenshots
If applicable, add screenshots to help explain your problem.

Image

Source Code
Old:

namespace Test;

public class TestClass
{
    public IEnumerable<int> TestProperty => [0];
}

New:

namespace Test;

public class TestClass
{
    public IEnumerable<Nullable<int>> TestProperty => [0];
}

Of course you wouldn't actually write this, but I just wanted to show a (presumably?) compilable snippet.

SemanticDiff Version
0.10.0

VS Code Information
Simply click Help -> About -> Copy in VS Code and paste the information:

Version: 1.96.4 (user setup)
Commit: cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba
Date: 2025-01-16T00:16:19.038Z
Electron: 32.2.6
ElectronBuildId: 10629634
Chromium: 128.0.6613.186
Node.js: 20.18.1
V8: 12.8.374.38-electron.0
OS: Windows_NT x64 10.0.19045

Edit: I accidentally opened this ticket well before I was finished typing. I edited it completely to add in everything I meant to add originally. Sorry about that!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingvscodeThe issue is related to our VS Code extension

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions