mirror of
https://github.com/mattn/emmet-vim.git
synced 2025-12-07 03:04:27 +08:00
@@ -1,6 +1,6 @@
|
|||||||
let s:bx = '{\%("[^"]*"\|''[^'']*''\|\$#\|\${\w\+}\|\$\+\|{[^{]\+\|[^{}]\)\{-}}'
|
let s:bx = '{\%("[^"]*"\|''[^'']*''\|\$#\|\${\w\+}\|\$\+\|{[^{]\+\|[^{}]\)\{-}}'
|
||||||
let s:mx = '\([+>]\|[<^]\+\)\{-}\s*'
|
let s:mx = '\([+>]\|[<^]\+\)\{-}'
|
||||||
\ .'\((*\)\{-}\s*'
|
\ .'\((*\)\{-}'
|
||||||
\ .'\([@#.]\{-}[a-zA-Z_\!][a-zA-Z0-9:_\!\-$]*\|' . s:bx . '\|\[[^\]]\+\]\)'
|
\ .'\([@#.]\{-}[a-zA-Z_\!][a-zA-Z0-9:_\!\-$]*\|' . s:bx . '\|\[[^\]]\+\]\)'
|
||||||
\ .'\('
|
\ .'\('
|
||||||
\ .'\%('
|
\ .'\%('
|
||||||
@@ -32,14 +32,15 @@ function! emmet#lang#html#findTokens(str) abort
|
|||||||
endwhile
|
endwhile
|
||||||
let last_pos = pos
|
let last_pos = pos
|
||||||
while len(str) > 0
|
while len(str) > 0
|
||||||
|
let white = matchstr(str, '^\s\+', pos)
|
||||||
|
if white != ''
|
||||||
|
let last_pos = pos + len(white)
|
||||||
|
let pos = last_pos
|
||||||
|
endif
|
||||||
let token = matchstr(str, s:mx, pos)
|
let token = matchstr(str, s:mx, pos)
|
||||||
if token ==# ''
|
if token ==# ''
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
if token =~# '^\s'
|
|
||||||
let token = matchstr(token, '^\s*\zs.*')
|
|
||||||
let last_pos = stridx(str, token, pos)
|
|
||||||
endif
|
|
||||||
let pos = stridx(str, token, pos) + len(token)
|
let pos = stridx(str, token, pos) + len(token)
|
||||||
endwhile
|
endwhile
|
||||||
let str = a:str[last_pos :-1]
|
let str = a:str[last_pos :-1]
|
||||||
|
|||||||
14
unittest.vim
14
unittest.vim
@@ -122,6 +122,7 @@ function! s:test(...)
|
|||||||
if stridx(query, '$$$$') != -1
|
if stridx(query, '$$$$') != -1
|
||||||
silent! 1new
|
silent! 1new
|
||||||
silent! exe 'setlocal ft='.testgroup.type
|
silent! exe 'setlocal ft='.testgroup.type
|
||||||
|
EmmetInstall
|
||||||
silent! let key = matchstr(query, '.*\$\$\$\$\zs.*\ze\$\$\$\$')
|
silent! let key = matchstr(query, '.*\$\$\$\$\zs.*\ze\$\$\$\$')
|
||||||
if len(key) > 0
|
if len(key) > 0
|
||||||
exe printf('let key = "%s"', key)
|
exe printf('let key = "%s"', key)
|
||||||
@@ -193,6 +194,9 @@ function! s:do_tests(bang, ...)
|
|||||||
if exists('s:old_user_emmet_settings')
|
if exists('s:old_user_emmet_settings')
|
||||||
let g:user_emmet_settings = s:old_user_emmet_settings
|
let g:user_emmet_settings = s:old_user_emmet_settings
|
||||||
endif
|
endif
|
||||||
|
if exists('s:old_user_emmet_install_global')
|
||||||
|
let g:user_emmet_install_global = s:old_user_emmet_install_global
|
||||||
|
endif
|
||||||
endtry
|
endtry
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -353,19 +357,19 @@ finish
|
|||||||
'result': "<table>\n\t<tr>\n\t\t<td id=\"foo\" class=\"name\"></td>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>\n\t</tr>\n</table>\n",
|
'result': "<table>\n\t<tr>\n\t\t<td id=\"foo\" class=\"name\"></td>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>\n\t</tr>\n</table>\n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'query': "div#header + div#footer",
|
'query': "div#header+div#footer",
|
||||||
'result': "<div id=\"header\"></div>\n<div id=\"footer\"></div>\n",
|
'result': "<div id=\"header\"></div>\n<div id=\"footer\"></div>\n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'query': "#header + div#footer",
|
'query': "#header+div#footer",
|
||||||
'result': "<div id=\"header\"></div>\n<div id=\"footer\"></div>\n",
|
'result': "<div id=\"header\"></div>\n<div id=\"footer\"></div>\n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'query': "#header > ul > li < p{Footer}",
|
'query': "#header>ul>li<p{Footer}",
|
||||||
'result': "<div id=\"header\">\n\t<ul>\n\t\t<li></li>\n\t</ul>\n\t<p>Footer</p>\n</div>\n",
|
'result': "<div id=\"header\">\n\t<ul>\n\t\t<li></li>\n\t</ul>\n\t<p>Footer</p>\n</div>\n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'query': "#header > ul > li ^ p{Footer}",
|
'query': "#header>ul>li^p{Footer}",
|
||||||
'result': "<div id=\"header\">\n\t<ul>\n\t\t<li></li>\n\t</ul>\n\t<p>Footer</p>\n</div>\n",
|
'result': "<div id=\"header\">\n\t<ul>\n\t\t<li></li>\n\t</ul>\n\t<p>Footer</p>\n</div>\n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -841,7 +845,7 @@ finish
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'name': 'expand abbreviation',
|
'name': 'split join',
|
||||||
'tests': [
|
'tests': [
|
||||||
{
|
{
|
||||||
'query': "%a foo\n bar$$$$\\<c-y>j$$$$",
|
'query': "%a foo\n bar$$$$\\<c-y>j$$$$",
|
||||||
|
|||||||
Reference in New Issue
Block a user