Skip to content

Item numbering doesn't always work #45

Open
@FireSBurnsmuP

Description

@FireSBurnsmuP

I love Web essentials, generally, but I have a few problems with this implementation of Emmet.
First is this, and I'm not the first to notice it.

I'm currently using the 2013 implementation; I'm not sure if 2015 is also affected.

So, when multiplying something, like .panel.panel-$*3 one should get the following when expanded:

<div class="panel panel-1"></div>
<div class="panel panel-2"></div>
<div class="panel panel-3"></div>

Sometimes this works, sometimes it doesn't. The above example would work, as would a few others I could come up with.

Let me walk you through how to break it, at least one way.

div#loading.loading-screen[style="display:none;"]>h1#loadingTitle{Please wait}+p#loadingDescription{while we load this for you}+.spinner.spinner-lg>.spinner-container.spin-container$*3

expands to this:

    <div id="loading" class="loading-screen" style="display:none;">
        <h1 id="loadingTitle">Please wait</h1>
        <p id="loadingDescription">while we load this for you</p>
        <div class="spinner spinner-lg">
            <div class="spinner-container spin-container1"></div>
            <div class="spinner-container spin-container2"></div>
            <div class="spinner-container spin-container3"></div>
        </div>
    </div>

That works just fine. Now, I actually need 4 <div>s in each of those .spin-containers to make my CSS-based loader work, so if I modify it to this:

div#loading.loading-screen[style="display:none;"]>h1#loadingTitle{Please wait}+p#loadingDescription{while we load this for you}+.spinner.spinner-lg>(.spinner-container.spin-container$>(.circle$*4))*3

expands to this:

    <div id="loading" class="loading-screen" style="display:none;">
        <h1 id="loadingTitle">Please wait</h1>
        <p id="loadingDescription">while we load this for you</p>
        <div class="spinner spinner-lg">
            <div class="spinner-container spin-container1">
                <div class="circle1"></div>
                <div class="circle2"></div>
                <div class="circle3"></div>
                <div class="circle4"></div>
            </div>
            <div class="spinner-container spin-container1">
                <div class="circle1"></div>
                <div class="circle2"></div>
                <div class="circle3"></div>
                <div class="circle4"></div>
            </div>
            <div class="spinner-container spin-container1">
                <div class="circle1"></div>
                <div class="circle2"></div>
                <div class="circle3"></div>
                <div class="circle4"></div>
            </div>
        </div>
    </div>

And there's the strange bit: now the inner-most item numbering works, but the outermost doesn't.

If anyone else has another example of how to break this, it'd be good to list them here, although I'm sure a lot of people have trouble finding this repo, considering the low watch count and such on a project being used by so many people.

Anyway, thanks for your time, and I really love the project.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions