emmet-vim icon indicating copy to clipboard operation
emmet-vim copied to clipboard

Bem filter doesn't work in most of the cases

Open xhoskin opened this issue 9 years ago • 5 comments

I try the examples from official emmet docs:

example 1

.b_m|bem
// in vim transforms into:
<div class="b_m"></div>
// must be (how the docs says):
<div class="b b_m"></div>

example 2

.b_m1._m2|bem
// in vim transforms into:
<div class="b_m1 b_m1_m2"></div>
// must be (how the docs says):
<div class="b b_m1 b_m2"></div>

example 3

.b>._m|bem
// in vim transforms into:
<div class="b">
    <div class="_m_m"></div>
</div>
// must be (how the docs says):
<div class="b">
    <div class="b b_m"></div>
</div>

example 4

.b1>.b2_m1>.-e1+.--e2_m2|bem
// in vim transforms into:
<div class="b1">
    <div class="b2_m1"></div>
    <e1></e1>
    <e2_m2></e2_m2>
</div>
// must be (how the docs says):
<div class="b1">
    <div class="b2 b2_m1">
        <div class="b2__e1"></div>
        <div class="b1__e2 b1__e2_m2"></div>
    </div>
</div>

example from real life project

.header>.__top|bem
// in vim transforms into:
<div class="header">
    <div class="__top__top"></div>
</div>
// must be:
<div class="header">
    <div class="header__top"></div>
</div>

xhoskin avatar Nov 05 '15 15:11 xhoskin

https://github.com/mattn/emmet-vim/issues/295 The example from this issue will broke too if we change ".-" to ".__"

form.search-form._wide>input.__query-string+input:s.__btn_large|bem
// in vim transforms into:
<form class="search-form search-form_wide" action="">
    <input class="__query-string__query-string" type="">
    <input class="__btn_large__btn_large" type="submit" value="">
</form>
// must be:
<form class="search-form search-form_wide" action="">
    <input class="search-form__query-string" type="">
    <input class="search-form__btn_large" type="submit" value="">
</form>

xhoskin avatar Nov 05 '15 15:11 xhoskin

up

xhoskin avatar Jun 07 '16 08:06 xhoskin

could you please try latest?

mattn avatar Jun 07 '16 09:06 mattn

Everything works fine, exept for example 4

example 4

.b1>.b2_m1>.-e1+.--e2_m2|bem
// in vim transforms into:
<div class="b1">
    <div class="b2_m1"></div>
    <e1></e1>
    <e2_m2></e2_m2>
</div>
// must be (how the docs says):
<div class="b1">
    <div class="b2 b2_m1">
        <div class="b2__e1"></div>
        <div class="b1__e2 b1__e2_m2"></div>
    </div>
</div>

but if we change every "-" to "_" it works fine

.b1>._e1+.__e2_m2|bem
// now finely converts to 
<div class="b1">
    <div class="b1 b1_e1"></div>
    <div class="b1__e2_m2"></div>
</div>

xhoskin avatar Jun 08 '16 06:06 xhoskin

up

xhoskin avatar Sep 09 '16 05:09 xhoskin