mirror of
https://github.com/mattn/emmet-vim.git
synced 2025-12-08 19:44:47 +08:00
remove sass. include behavior of css. added !important;
This commit is contained in:
@@ -73,7 +73,7 @@ function! s:zen_parseIntoTree(abbr, type)
|
|||||||
else
|
else
|
||||||
let mx = '\([+>]\|<\+\)\{-}\s*\((*\)\{-}\s*\([@#.]\{-}[a-zA-Z\!][a-zA-Z0-9:\!\+\-]*\|{[^}]\+}\)\(\%(\%(#{[{}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}\)*\)'
|
let mx = '\([+>]\|<\+\)\{-}\s*\((*\)\{-}\s*\([@#.]\{-}[a-zA-Z\!][a-zA-Z0-9:\!\+\-]*\|{[^}]\+}\)\(\%(\%(#{[{}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}\)*\)'
|
||||||
endif
|
endif
|
||||||
let root = { 'name': '', 'attr': {}, 'child': [], 'snippet': '', 'multiplier': 1, 'parent': {}, 'value': '', 'pos': 0 }
|
let root = { 'name': '', 'attr': {}, 'child': [], 'snippet': '', 'multiplier': 1, 'parent': {}, 'value': '', 'pos': 0, 'important': 0 }
|
||||||
let parent = root
|
let parent = root
|
||||||
let last = root
|
let last = root
|
||||||
let pos = []
|
let pos = []
|
||||||
@@ -88,6 +88,7 @@ function! s:zen_parseIntoTree(abbr, type)
|
|||||||
let value = substitute(match, mx, '\5', 'ig')
|
let value = substitute(match, mx, '\5', 'ig')
|
||||||
let multiplier = 0 + substitute(match, mx, '\6', 'ig')
|
let multiplier = 0 + substitute(match, mx, '\6', 'ig')
|
||||||
let block_end = substitute(match, mx, '\7', 'ig')
|
let block_end = substitute(match, mx, '\7', 'ig')
|
||||||
|
let important = 0
|
||||||
if len(str) == 0
|
if len(str) == 0
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
@@ -95,6 +96,10 @@ function! s:zen_parseIntoTree(abbr, type)
|
|||||||
let attributes = tag_name . attributes
|
let attributes = tag_name . attributes
|
||||||
let tag_name = 'div'
|
let tag_name = 'div'
|
||||||
endif
|
endif
|
||||||
|
if tag_name =~ '.!$'
|
||||||
|
let tag_name = tag_name[:-2]
|
||||||
|
let important = 1
|
||||||
|
endif
|
||||||
if tag_name =~ '^\.'
|
if tag_name =~ '^\.'
|
||||||
let attributes = tag_name . attributes
|
let attributes = tag_name . attributes
|
||||||
let tag_name = 'div'
|
let tag_name = 'div'
|
||||||
@@ -105,6 +110,8 @@ function! s:zen_parseIntoTree(abbr, type)
|
|||||||
let current = { 'name': '', 'attr': {}, 'child': [], 'snippet': '', 'multiplier': 1, 'parent': {}, 'value': '', 'pos': 0 }
|
let current = { 'name': '', 'attr': {}, 'child': [], 'snippet': '', 'multiplier': 1, 'parent': {}, 'value': '', 'pos': 0 }
|
||||||
let current.name = tag_name
|
let current.name = tag_name
|
||||||
|
|
||||||
|
let current.important = important
|
||||||
|
|
||||||
" aliases
|
" aliases
|
||||||
let aliases = s:zen_getResource(type, 'aliases', {})
|
let aliases = s:zen_getResource(type, 'aliases', {})
|
||||||
if has_key(aliases, tag_name)
|
if has_key(aliases, tag_name)
|
||||||
@@ -338,11 +345,6 @@ function! s:zen_mergeConfig(lhs, rhs)
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
function! s:zen_toString_sass(settings, current, type, inline, filters, itemno, indent)
|
|
||||||
return 'sassed'
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! s:zen_toString_haml(settings, current, type, inline, filters, itemno, indent)
|
function! s:zen_toString_haml(settings, current, type, inline, filters, itemno, indent)
|
||||||
let settings = a:settings
|
let settings = a:settings
|
||||||
let current = a:current
|
let current = a:current
|
||||||
@@ -547,9 +549,9 @@ function! s:zen_toString(...)
|
|||||||
let inner = ''
|
let inner = ''
|
||||||
if exists('*g:zen_toString_'.type)
|
if exists('*g:zen_toString_'.type)
|
||||||
let inner = function('g:zen_toString_'.type)(s:zen_settings, current, type, inline, filters, itemno, indent)
|
let inner = function('g:zen_toString_'.type)(s:zen_settings, current, type, inline, filters, itemno, indent)
|
||||||
elseif type == 'css'
|
elseif s:zen_isExtends(type, "css")
|
||||||
let inner = s:zen_toString_css(s:zen_settings, current, type, inline, filters, itemno, indent)
|
let inner = s:zen_toString_css(s:zen_settings, current, type, inline, filters, itemno, indent)
|
||||||
elseif type == 'haml' || s:zen_useFilter(filters, 'haml')
|
elseif s:zen_useFilter(filters, 'haml')
|
||||||
let inner = s:zen_toString_haml(s:zen_settings, current, type, inline, filters, itemno, indent)
|
let inner = s:zen_toString_haml(s:zen_settings, current, type, inline, filters, itemno, indent)
|
||||||
else
|
else
|
||||||
let inner = s:zen_toString_html(s:zen_settings, current, type, inline, filters, itemno, indent)
|
let inner = s:zen_toString_html(s:zen_settings, current, type, inline, filters, itemno, indent)
|
||||||
@@ -572,11 +574,12 @@ function! s:zen_toString(...)
|
|||||||
let tmp = substitute(tmp, '|', '${cursor}', 'g')
|
let tmp = substitute(tmp, '|', '${cursor}', 'g')
|
||||||
endif
|
endif
|
||||||
let tmp = substitute(tmp, '\${zenname}', current.name, 'g')
|
let tmp = substitute(tmp, '\${zenname}', current.name, 'g')
|
||||||
if type == 'css' && s:zen_useFilter(filters, 'fc')
|
if s:zen_isExtends(type, "css") && s:zen_useFilter(filters, 'fc')
|
||||||
let tmp = substitute(tmp, '^\([^:]\+\):\(.*\)$', '\1: \2', '')
|
let g:hoge = tmp
|
||||||
endif
|
let tmp = substitute(tmp, '^\([^:]\+\):\([^;]*;\)', '\1: \2', '')
|
||||||
if type == 'sass' && s:zen_useFilter(filters, 'sass')
|
if current.important
|
||||||
let tmp = substitute(tmp, '^\([^:]\+\):\([^;]*\);$', '\1: \2', '')
|
let tmp = substitute(tmp, ';', ' !important;', '')
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
for attr in keys(current.attr)
|
for attr in keys(current.attr)
|
||||||
let val = current.attr[attr]
|
let val = current.attr[attr]
|
||||||
@@ -680,7 +683,7 @@ function! zencoding#expandAbbr(mode) range
|
|||||||
if len(leader) == 0
|
if len(leader) == 0
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
let mx = '|\(\%(sass\|html\|haml\|e\|c\|fc\|xsl\)\s*,\{0,1}\s*\)*$'
|
let mx = '|\(\%(html\|haml\|e\|c\|fc\|xsl\)\s*,\{0,1}\s*\)*$'
|
||||||
if leader =~ mx
|
if leader =~ mx
|
||||||
let filters = split(matchstr(leader, mx)[1:], '\s*,\s*')
|
let filters = split(matchstr(leader, mx)[1:], '\s*,\s*')
|
||||||
let leader = substitute(leader, mx, '', '')
|
let leader = substitute(leader, mx, '', '')
|
||||||
@@ -749,7 +752,7 @@ function! zencoding#expandAbbr(mode) range
|
|||||||
endif
|
endif
|
||||||
let rest = getline('.')[len(line):]
|
let rest = getline('.')[len(line):]
|
||||||
let str = part
|
let str = part
|
||||||
let mx = '|\(\%(sass\|html\|haml\|e\|c\|fc\|xsl\)\s*,\{0,1}\s*\)*$'
|
let mx = '|\(\%(html\|haml\|e\|c\|fc\|xsl\)\s*,\{0,1}\s*\)*$'
|
||||||
if str =~ mx
|
if str =~ mx
|
||||||
let filters = split(matchstr(str, mx)[1:], '\s*,\s*')
|
let filters = split(matchstr(str, mx)[1:], '\s*,\s*')
|
||||||
let str = substitute(str, mx, '', '')
|
let str = substitute(str, mx, '', '')
|
||||||
@@ -1340,7 +1343,7 @@ endfunction
|
|||||||
"==============================================================================
|
"==============================================================================
|
||||||
|
|
||||||
function! zencoding#ExpandWord(abbr, type, orig)
|
function! zencoding#ExpandWord(abbr, type, orig)
|
||||||
let mx = '|\(\%(sass\|html\|haml\|e\|c\|fc\|xsl\)\s*,\{0,1}\s*\)*$'
|
let mx = '|\(\%(html\|haml\|e\|c\|fc\|xsl\)\s*,\{0,1}\s*\)*$'
|
||||||
let str = a:abbr
|
let str = a:abbr
|
||||||
let type = a:type
|
let type = a:type
|
||||||
|
|
||||||
@@ -1877,6 +1880,9 @@ let s:zen_settings = {
|
|||||||
\ },
|
\ },
|
||||||
\ 'filters': 'fc'
|
\ 'filters': 'fc'
|
||||||
\ },
|
\ },
|
||||||
|
\ 'sass': {
|
||||||
|
\ 'extends': 'css',
|
||||||
|
\ },
|
||||||
\ 'html': {
|
\ 'html': {
|
||||||
\ 'snippets': {
|
\ 'snippets': {
|
||||||
\ 'cc:ie6': "<!--[if lte IE 6]>\n\t${child}|\n<![endif]-->",
|
\ 'cc:ie6': "<!--[if lte IE 6]>\n\t${child}|\n<![endif]-->",
|
||||||
|
|||||||
Reference in New Issue
Block a user