From 6cd20746ad9f2445053a760617e1020a733255ed Mon Sep 17 00:00:00 2001 From: mattn Date: Wed, 12 Feb 2014 20:25:03 +0900 Subject: [PATCH] Fixes indentation bug. Closes #189 --- autoload/emmet.vim | 9 ++++++++- unittest.vim | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/autoload/emmet.vim b/autoload/emmet.vim index 9ff6be3..d8035ed 100644 --- a/autoload/emmet.vim +++ b/autoload/emmet.vim @@ -517,10 +517,17 @@ function! emmet#expandAbbr(mode, abbr) range let str = '' if visualmode() ==# 'V' let line = getline(a:firstline) + let lspaces = matchstr(line, '^\s*', '', '') let part = substitute(line, '^\s*', '', '') for n in range(a:firstline, a:lastline) if len(leader) > 0 - let str .= getline(n) . "\n" + let line = getline(a:firstline) + let spaces = matchstr(line, '^\s*', '', '') + if len(spaces) >= len(lspaces) + let str .= indent . getline(n)[len(lspaces):] . "\n" + else + let str .= getline(n) . "\n" + endif else let lpart = substitute(getline(n), '^\s*', '', '') let str .= lpart . "\n" diff --git a/unittest.vim b/unittest.vim index 9274b05..e421893 100644 --- a/unittest.vim +++ b/unittest.vim @@ -514,8 +514,8 @@ finish 'result': "item 1\nitem 2\n", }, { - 'query': "
\n nav link\n
$$$$\\ggVG\\,div\\$$$$", - 'result': "
\n
\n nav link\n
\n
", + 'query': "\t
\n\t\tnav link\n\t
$$$$\\ggVG\\,div\\$$$$", + 'result': "\t
\n\t\t
\n\t\t\tnav link\n\t\t
\n\t
", }, ], },