Skip to content

VSCode TextMate Grammar edge case #20592

@ryanbrandenburg

Description

@ryanbrandenburg

While doing my verification I ran into a case where textmate seems to have gone off the rails:
textmate

Repo steps:

  1. dotnet new blazorserver
  2. Open NavMenu.razor
  3. Edit until it looks like:
<div class="top-row pl-4 navbar navbar-dark">
    <a class="navbar-brand" href="">mvc</a>
    <button class="navbar-toggler" @onclick="ToggleNavMenu">
        <span class="navbar-toggler-icon"></span>
    </button>
</div>

<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
    <ul class="nav flex-column">
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </li>
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="counter">
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </NavLink>
        </li>
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink>
        </li>
    </ul>
</div>

@functions{
    public void SomeOtherMethod()
    {
        var i = 1;
    }

    interface Foo{}

    class Bar: Foo{}
}

@code {
    private bool collapseNavMenu = true;

    private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;

    private void ToggleNavMenu()
    {
        <text></text>
        collapseNavMenu = !collapseNavMenu;
    }
}

Note that class Bar: Foo{} is miscolored.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ✔️ Resolution: DuplicateResolved as a duplicate of another issueStatus: Resolvedarea-mvcIncludes: MVC, Actions and Controllers, Localization, CORS, most templates

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions