forked from VimPlug/emmet-vim
fix findtoken. it occur maxmempattern error.
This commit is contained in:
@@ -1,23 +1,24 @@
|
||||
"let s:mx = '\([+>]\|<\+\)\{-}\((*\)\{-}\([@#.]\{-}[a-zA-Z\!][a-zA-Z0-9:_\!\-$]*\|'
|
||||
let s:mx = '\([+>]\|<\+\)\{-}\s*\((*\)\{-}\s*\([@#.]\{-}[a-zA-Z\!][a-zA-Z0-9:_\!\-$]*\|'
|
||||
\ .'{.\{-}}[ \t\r\n}]*\)\(\%(\%(#{[{}a-zA-Z0-9_\-\$]\+\|'
|
||||
\ .'#[a-zA-Z0-9_\-\$]\+\)\|\%(\[[^\]]\+\]\)\|'
|
||||
\ .'\%(\.{[{}a-zA-Z0-9_\-\$]\+\|'
|
||||
\ .'\.[a-zA-Z0-9_\-\$]\+\)\)*\)\%(\({[^}]\+}\+\)\)\{0,1}\%(\s*\*\s*\([0-9]\+\)\s*\)\{0,1}\(\%(\s*)\%(\s*\*\s*[0-9]\+\s*\)\{0,1}\)*\)'
|
||||
\ .'\.[a-zA-Z0-9_\-\$]\+\)\)*\)\%(\({[^}]\+}\+\)\)\{0,1}\%(\*\([0-9]\+\)\)\{0,1}\(\%()\%(\*[0-9]\+\)\{0,1}\)*\)'
|
||||
|
||||
function! zencoding#html#findTokens(str)
|
||||
let str = a:str
|
||||
let last_pos = 0
|
||||
while len(str) > 0
|
||||
let token = matchstr(str, s:mx.'\s*$')
|
||||
let token = matchstr(str, '\s'.s:mx)
|
||||
if token == ''
|
||||
break
|
||||
elseif token =~ '^\s'
|
||||
let token = substitute(token, '^\s*', '', '')
|
||||
let str = str[0 : -len(token)-1]
|
||||
break
|
||||
endif
|
||||
let str = str[0 : -len(token)-1]
|
||||
if token =~ '^\s'
|
||||
let last_pos = stridx(str, matchstr(token, '^\s*\zs.*'))
|
||||
endif
|
||||
let str = str[stridx(str, token) + len(token):]
|
||||
endwhile
|
||||
return a:str[len(str) :-1]
|
||||
return a:str[last_pos :-1]
|
||||
endfunction
|
||||
|
||||
function! zencoding#html#parseIntoTree(abbr, type)
|
||||
|
||||
@@ -529,6 +529,12 @@ finish
|
||||
'type': "html",
|
||||
'result': "foo <p>bar baz</p>",
|
||||
},
|
||||
{
|
||||
'name': "f div.boxes>article.box2>header>(hgroup>h2{aaa}+h3{bbb})+p{ccc}$$$$",
|
||||
'query': "f div.boxes>article.box2>header>(hgroup>h2{aaa}+h3{bbb})+p{ccc}$$$$",
|
||||
'type': "html",
|
||||
'result': "f <div class=\"boxes\">\n\t<article class=\"box2\">\n\t\t<header>\n\t\t\t<hgroup>\n\t\t\t\t<h2>aaa</h2>\n\t\t\t\t<h3>bbb</h3>\n\t\t\t</hgroup>\n\t\t\t<p>ccc</p>\n\t\t</header>\n\t</article>\n</div>",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user