diff --git a/autoload/zencoding.vim b/autoload/zencoding.vim index 6807ba9..ade5ed2 100644 --- a/autoload/zencoding.vim +++ b/autoload/zencoding.vim @@ -176,9 +176,9 @@ function! zencoding#toString(...) for n in current.child let inner .= zencoding#toString(n, type, inline, filters, group_itemno) endfor - "let inner = substitute(inner, "\n", "\n" . indent, 'g') endif - let inner = substitute(inner, "\n", "\n" . indent, 'g') + let spaces = matchstr(str, '\s*\ze\${child}') + let inner = substitute(inner, "\n", "\n" . spaces, 'g') let str = substitute(str, '\${child}', inner, '') endif let itemno = itemno + 1 diff --git a/autoload/zencoding/lang/haml.vim b/autoload/zencoding/lang/haml.vim index d49c0b9..534f749 100644 --- a/autoload/zencoding/lang/haml.vim +++ b/autoload/zencoding/lang/haml.vim @@ -36,7 +36,7 @@ function! zencoding#lang#haml#toString(settings, current, type, inline, filters, else if len(tmp) > 0 | let tmp .= ',' | endif let val = substitute(val, '\${cursor}', '', '') - let tmp .= ' :' . attr . ' => "' . val . '${cursor}' . '"' + let tmp .= ' :' . attr . ' => "' . val . '"' endif endfor if len(tmp) diff --git a/autoload/zencoding/lang/slim.vim b/autoload/zencoding/lang/slim.vim index 5bd38d1..4a0301e 100644 --- a/autoload/zencoding/lang/slim.vim +++ b/autoload/zencoding/lang/slim.vim @@ -28,7 +28,7 @@ function! zencoding#lang#slim#toString(settings, current, type, inline, filters, let val = substitute(val, '\(\$\+\)\([^{]\|$\)', '\=printf("%0".len(submatch(1))."d", itemno+1).submatch(2)', 'g') endwhile let attr = substitute(attr, '\$$', itemno+1, '') - let str .= ' ' . attr . '="' . val . '${cursor}' . '"' + let str .= ' ' . attr . '="' . val . '"' endfor let inner = '' @@ -56,7 +56,7 @@ function! zencoding#lang#slim#toString(settings, current, type, inline, filters, let inner .= zencoding#toString(child, type, inline, filters, itemno) endfor let inner = substitute(inner, "\n", "\n" . indent, 'g') - let inner = substitute(inner, "\n $", "", 'g') + let inner = substitute(inner, "\n" . indent . "$", "", 'g') let str .= "\n" . indent . inner endif else