This commit is contained in:
mattn
2015-01-08 14:05:09 +09:00
parent fcf44c5f6d
commit a9b29f786e

View File

@@ -1,4 +1,9 @@
function! emmet#lang#css#findTokens(str) abort function! emmet#lang#css#findTokens(str) abort
let tmp = substitute(substitute(a:str, '^.*[;{]\s*', '', ''), '}\s*$', '', '')
if tmp =~ '/' && tmp =~ '^[a-zA-Z0-9/_.]\+$'
" maybe path or something
return ''
endif
return substitute(substitute(a:str, '^.*[;{]\s*', '', ''), '}\s*$', '', '') return substitute(substitute(a:str, '^.*[;{]\s*', '', ''), '}\s*$', '', '')
endfunction endfunction
@@ -20,7 +25,7 @@ function! emmet#lang#css#parseIntoTree(abbr, type) abort
let block = emmet#util#searchRegion('{', '}') let block = emmet#util#searchRegion('{', '}')
if abbr !~# '^@' && emmet#getBaseType(type) ==# 'css' && type !=# 'sass' && block[0] ==# [0,0] && block[1] ==# [0,0] if abbr !~# '^@' && emmet#getBaseType(type) ==# 'css' && type !=# 'sass' && block[0] ==# [0,0] && block[1] ==# [0,0]
let current = emmet#newNode() let current = emmet#newNode()
let current.snippet = abbr . " {\n" . indent . "${cursor}\n}" let current.snippet = substitute(abbr, '\s\+$', '', '') . " {\n" . indent . "${cursor}\n}"
let current.name = '' let current.name = ''
call add(root.child, deepcopy(current)) call add(root.child, deepcopy(current))
else else
@@ -186,13 +191,16 @@ endfunction
function! emmet#lang#css#toString(settings, current, type, inline, filters, itemno, indent) abort function! emmet#lang#css#toString(settings, current, type, inline, filters, itemno, indent) abort
let current = a:current let current = a:current
let value = current.value[1:-2] let value = current.value[1:-2]
if emmet#useFilter(a:filters, 'fc') let tmp = substitute(value, '\${cursor}', '', 'g')
let value = substitute(value, '\([^:]\+\):\([^;]*\)', '\1: \2', 'g') if tmp !~ '.*{[ \t\r\n]*}$'
else if emmet#useFilter(a:filters, 'fc')
let value = substitute(value, '\([^:]\+\):\([^;]*\)', '\1:\2', 'g') let value = substitute(value, '\([^:]\+\):\([^;]*\)', '\1: \2', 'g')
endif else
if current.important let value = substitute(value, '\([^:]\+\):\([^;]*\)', '\1:\2', 'g')
let value = substitute(value, ';', ' !important;', '') endif
if current.important
let value = substitute(value, ';', ' !important;', '')
endif
endif endif
return value return value
endfunction endfunction