fix bem filter

This commit is contained in:
Yasuhiro Matsumoto
2016-07-05 09:45:13 +09:00
parent 52f3af7ca8
commit c03599748f
2 changed files with 21 additions and 19 deletions

View File

@@ -514,31 +514,33 @@ function! emmet#lang#html#toString(settings, current, type, inline, filters, ite
if len(Val) > 0
let Val .= ' '
endif
if _val =~# '_'
if _val =~# '^_'
if has_key(current.parent.attr, 'class')
let lead = current.parent.attr["class"]
if _val =~# '^__'
let Val .= lead . _val
else
let Val .= lead . ' ' . lead . _val
endif
else
let b = split(vals[0], '_')[0]
if _val =~# '^_'
if has_key(current.parent.attr, 'class')
let lead = current.parent.attr["class"]
if _val =~# '^__'
let Val .= lead . _val
else
let Val .= lead . ' ' . lead . _val
endif
else
let lead = split(vals[0], '_')[0]
let Val .= lead . ' ' . _val
let Val .= lead . _val
endif
elseif _val =~# '^-'
if len(lead) == 0
let pattr = current.parent.attr
if has_key(pattr, 'class')
let lead = split(pattr['class'], '\s\+')[0]
for l in split(_val, '_')
if len(Val) > 0
let Val .= ' '
endif
endif
let Val .= lead . _val
let l = substitute(l, '^-', '__', '')
if len(lead) == 0
let pattr = current.parent.attr
if has_key(pattr, 'class')
let lead = split(pattr['class'], '\s\+')[0]
endif
endif
let Val .= lead . l
let lead .= l . '_'
endfor
else
let Val .= _val
endif

View File

@@ -538,7 +538,7 @@ finish
},
{
'query': "form.search-form._wide>input.-query-string+input:s.-btn_large|bem",
'result': "<form class=\"search-form search-form_wide\" action=\"\">\n\t<input class=\"search-form-query-string\" type=\"\">\n\t<input class=\"search-form-btn_large\" type=\"submit\" value=\"\">\n</form>\n",
'result': "<form class=\"search-form search-form_wide\" action=\"\">\n\t<input class=\"search-form__query-string\" type=\"\">\n\t<input class=\"search-form__btn search-form__btn_large\" type=\"submit\" value=\"\">\n</form>\n",
},
{
'query': "form>fieldset>legend+(label>input[type=\"checkbox\"])*3",