mirror of
https://github.com/mattn/emmet-vim.git
synced 2025-12-07 19:24:27 +08:00
add option 'use_pipe_for_cursor'. fixes issue #38
This commit is contained in:
@@ -111,11 +111,15 @@ function! s:zen_parseIntoTree(abbr, type)
|
|||||||
let current.name = aliases[tag_name]
|
let current.name = aliases[tag_name]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let use_pipe_for_cursor = s:zen_getResource(type, 'use_pipe_for_cursor', 1)
|
||||||
|
|
||||||
" snippets
|
" snippets
|
||||||
let snippets = s:zen_getResource(type, 'snippets', {})
|
let snippets = s:zen_getResource(type, 'snippets', {})
|
||||||
if !empty(snippets) && has_key(snippets, tag_name)
|
if !empty(snippets) && has_key(snippets, tag_name)
|
||||||
let snippet = snippets[tag_name]
|
let snippet = snippets[tag_name]
|
||||||
let snippet = substitute(snippet, '|', '${cursor}', 'g')
|
if use_pipe_for_cursor
|
||||||
|
let snippet = substitute(snippet, '|', '${cursor}', 'g')
|
||||||
|
endif
|
||||||
let lines = split(snippet, "\n")
|
let lines = split(snippet, "\n")
|
||||||
call map(lines, 'substitute(v:val, "\\( \\|\\t\\)", indent, "g")')
|
call map(lines, 'substitute(v:val, "\\( \\|\\t\\)", indent, "g")')
|
||||||
let current.snippet = join(lines, "\n")
|
let current.snippet = join(lines, "\n")
|
||||||
@@ -129,14 +133,26 @@ function! s:zen_parseIntoTree(abbr, type)
|
|||||||
if has_key(default_attributes, pat)
|
if has_key(default_attributes, pat)
|
||||||
if type(default_attributes[pat]) == 4
|
if type(default_attributes[pat]) == 4
|
||||||
let a = default_attributes[pat]
|
let a = default_attributes[pat]
|
||||||
for k in keys(a)
|
if use_pipe_for_cursor
|
||||||
let current.attr[k] = len(a[k]) ? substitute(a[k], '|', '${cursor}', 'g') : '${cursor}'
|
|
||||||
endfor
|
|
||||||
else
|
|
||||||
for a in default_attributes[pat]
|
|
||||||
for k in keys(a)
|
for k in keys(a)
|
||||||
let current.attr[k] = len(a[k]) ? substitute(a[k], '|', '${cursor}', 'g') : '${cursor}'
|
let current.attr[k] = len(a[k]) ? substitute(a[k], '|', '${cursor}', 'g') : '${cursor}'
|
||||||
endfor
|
endfor
|
||||||
|
else
|
||||||
|
for k in keys(a)
|
||||||
|
let current.attr[k] = a[k]
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
for a in default_attributes[pat]
|
||||||
|
if use_pipe_for_cursor
|
||||||
|
for k in keys(a)
|
||||||
|
let current.attr[k] = len(a[k]) ? substitute(a[k], '|', '${cursor}', 'g') : '${cursor}'
|
||||||
|
endfor
|
||||||
|
else
|
||||||
|
for k in keys(a)
|
||||||
|
let current.attr[k] = a[k]
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
if has_key(s:zen_settings.html.default_attributes, current.name)
|
if has_key(s:zen_settings.html.default_attributes, current.name)
|
||||||
@@ -521,6 +537,7 @@ function! s:zen_toString(...)
|
|||||||
endif
|
endif
|
||||||
let itemno = 0
|
let itemno = 0
|
||||||
let str = ''
|
let str = ''
|
||||||
|
let use_pipe_for_cursor = s:zen_getResource(type, 'use_pipe_for_cursor', 1)
|
||||||
while itemno < current.multiplier
|
while itemno < current.multiplier
|
||||||
if len(current.name)
|
if len(current.name)
|
||||||
let inner = ''
|
let inner = ''
|
||||||
@@ -544,7 +561,10 @@ function! s:zen_toString(...)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if len(snippet) > 0
|
if len(snippet) > 0
|
||||||
let tmp = substitute(snippet, '|', '${cursor}', 'g')
|
let tmp = snippet
|
||||||
|
if use_pipe_for_cursor
|
||||||
|
let tmp = substitute(tmp, '|', '${cursor}', 'g')
|
||||||
|
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 type == 'css' && s:zen_useFilter(filters, 'fc')
|
||||||
let tmp = substitute(tmp, '^\([^:]\+\):\(.*\)$', '\1: \2', '')
|
let tmp = substitute(tmp, '^\([^:]\+\):\(.*\)$', '\1: \2', '')
|
||||||
@@ -591,7 +611,12 @@ function! s:zen_getResource(type, name, default)
|
|||||||
let ret = a:default
|
let ret = a:default
|
||||||
|
|
||||||
if has_key(s:zen_settings[a:type], a:name)
|
if has_key(s:zen_settings[a:type], a:name)
|
||||||
call s:zen_mergeConfig(ret, s:zen_settings[a:type][a:name])
|
let v = s:zen_settings[a:type][a:name]
|
||||||
|
if type(ret) == 3 || type(ret) == 4
|
||||||
|
call s:zen_mergeConfig(ret, s:zen_settings[a:type][a:name])
|
||||||
|
else
|
||||||
|
let ret = s:zen_settings[a:type][a:name]
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if has_key(s:zen_settings[a:type], 'extends')
|
if has_key(s:zen_settings[a:type], 'extends')
|
||||||
|
|||||||
Reference in New Issue
Block a user