emmet-vim
emmet-vim copied to clipboard
Bem filter doesn't work in most of the cases
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>
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>
up
could you please try latest?
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>
up