fix indent for multiplier items.

This commit is contained in:
mattn
2012-06-13 17:20:36 +09:00
parent 968afb8cbd
commit e5b1e29964
3 changed files with 10 additions and 9 deletions

View File

@@ -1,7 +1,7 @@
"============================================================================= "=============================================================================
" zencoding.vim " zencoding.vim
" Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> " Author: Yasuhiro Matsumoto <mattn.jp@gmail.com>
" Last Change: 11-Jun-2012. " Last Change: 13-Jun-2012.
let s:save_cpo = &cpo let s:save_cpo = &cpo
set cpo&vim set cpo&vim
@@ -176,8 +176,9 @@ function! zencoding#toString(...)
for n in current.child for n in current.child
let inner .= zencoding#toString(n, type, inline, filters, group_itemno) let inner .= zencoding#toString(n, type, inline, filters, group_itemno)
endfor endfor
let inner = substitute(inner, "\n", "\n" . indent, 'g') "let inner = substitute(inner, "\n", "\n" . indent, 'g')
endif endif
let inner = substitute(inner, "\n", "\n" . indent, 'g')
let str = substitute(str, '\${child}', inner, '') let str = substitute(str, '\${child}', inner, '')
endif endif
let itemno = itemno + 1 let itemno = itemno + 1

View File

@@ -40,7 +40,7 @@ function! zencoding#lang#slim#toString(settings, current, type, inline, filters,
let text = substitute(text, '\${nr}', "\n", 'g') let text = substitute(text, '\${nr}', "\n", 'g')
let text = substitute(text, '\\\$', '$', 'g') let text = substitute(text, '\\\$', '$', 'g')
for line in split(text, "\n") for line in split(text, "\n")
let str .= " | " . line . "\n" let str .= indent . "| " . line . "\n"
endfor endfor
endif endif
if len(current.child) == 1 && len(current.child[0].name) == 0 if len(current.child) == 1 && len(current.child[0].name) == 0
@@ -50,15 +50,15 @@ function! zencoding#lang#slim#toString(settings, current, type, inline, filters,
let text = substitute(text, '\${nr}', "\n", 'g') let text = substitute(text, '\${nr}', "\n", 'g')
let text = substitute(text, '\\\$', '$', 'g') let text = substitute(text, '\\\$', '$', 'g')
for line in split(text, "\n") for line in split(text, "\n")
let str .= " | " . line . "\n" let str .= indent . "| " . line . "\n"
endfor endfor
elseif len(current.child) > 0 elseif len(current.child) > 0
for child in current.child for child in current.child
let inner .= zencoding#toString(child, type, inline, filters, itemno) let inner .= zencoding#toString(child, type, inline, filters, itemno)
endfor endfor
let inner = substitute(inner, "\n", "\n ", 'g') let inner = substitute(inner, "\n", "\n" . indent, 'g')
let inner = substitute(inner, "\n $", "", 'g') let inner = substitute(inner, "\n $", "", 'g')
let str .= "\n " . inner let str .= "\n" . indent . inner
endif endif
else else
let str = current.value[1:-2] let str = current.value[1:-2]

View File

@@ -600,11 +600,11 @@ finish
'tests': [ 'tests': [
{ {
'query': "div>p+ul#foo>li.bar$[foo=bar][bar=baz]*3>{baz}", 'query': "div>p+ul#foo>li.bar$[foo=bar][bar=baz]*3>{baz}",
'result': "div\n p\n ul id=\"foo\"\n li foo=\"bar\" bar=\"baz\" class=\"bar1\"\n | baz\n li foo=\"bar\" bar=\"baz\" class=\"bar2\"\n | baz\n li foo=\"bar\" bar=\"baz\" class=\"bar3\"\n | baz\n", 'result': "div\n p\n ul id=\"foo\"\n li foo=\"bar\" bar=\"baz\" class=\"bar1\"\n | baz\n li foo=\"bar\" bar=\"baz\" class=\"bar2\"\n | baz\n li foo=\"bar\" bar=\"baz\" class=\"bar3\"\n | baz\n",
}, },
{ {
'query': "div>p+ul#foo>li.bar$[foo=bar][bar=baz]*3>{baz}|slim", 'query': "div>p+ul#foo>li.bar$[foo=bar][bar=baz]*3>{baz}|slim",
'result': "div\n p\n ul id=\"foo\"\n li foo=\"bar\" bar=\"baz\" class=\"bar1\"\n | baz\n li foo=\"bar\" bar=\"baz\" class=\"bar2\"\n | baz\n li foo=\"bar\" bar=\"baz\" class=\"bar3\"\n | baz\n", 'result': "div\n p\n ul id=\"foo\"\n li foo=\"bar\" bar=\"baz\" class=\"bar1\"\n | baz\n li foo=\"bar\" bar=\"baz\" class=\"bar2\"\n | baz\n li foo=\"bar\" bar=\"baz\" class=\"bar3\"\n | baz\n",
}, },
{ {
'query': "a*3|slim", 'query': "a*3|slim",
@@ -612,7 +612,7 @@ finish
}, },
{ {
'query': ".content{Hello!}|slim", 'query': ".content{Hello!}|slim",
'result': "div class=\"content\"\n | Hello!\n", 'result': "div class=\"content\"\n | Hello!\n",
}, },
], ],
}, },