diff --git a/autoload/easy_align.vim b/autoload/easy_align.vim index 1405d04..afd3a9f 100644 --- a/autoload/easy_align.vim +++ b/autoload/easy_align.vim @@ -546,7 +546,7 @@ function! s:do_align(todo, modes, all_tokens, all_delims, fl, ll, fc, lc, nth, r " Adjust indentation of the lines starting with a delimiter let lpad = '' if nth == 0 - let ipad = repeat(' ', min_indent - len(token.ml)) + let ipad = repeat(' ', min_indent - s:strwidth(token.ml)) if mode ==? 'l' let token = ipad . token else diff --git a/test/fixed.vader b/test/fixed.vader index a41d11b..c89dff9 100644 --- a/test/fixed.vader +++ b/test/fixed.vader @@ -1,3 +1,6 @@ +Execute: + Save &tabstop + Given (Table): |a|b|c|d| | -|-|>-|-| @@ -40,3 +43,80 @@ Execute: Expect: a <|>b <|>c <| aa<|>bb<|>cc<| + +Given (Tab-indented code (#20)): + class MyUnitTest(unittest.TestCase): + def test_base(self): + n2f = {} + n2v = {} + f2v = {} + n2gv = {} + n2vt = {} + +Execute: + set tabstop=1 + %EasyAlign= + +Expect: + class MyUnitTest(unittest.TestCase): + def test_base(self): + n2f = {} + n2v = {} + f2v = {} + n2gv = {} + n2vt = {} + +Execute: + set tabstop=2 + %EasyAlign= + +Expect: + class MyUnitTest(unittest.TestCase): + def test_base(self): + n2f = {} + n2v = {} + f2v = {} + n2gv = {} + n2vt = {} + +Execute: + set tabstop=4 + %EasyAlign= + +Expect: + class MyUnitTest(unittest.TestCase): + def test_base(self): + n2f = {} + n2v = {} + f2v = {} + n2gv = {} + n2vt = {} + +Execute: + set tabstop=8 + %EasyAlign= + +Expect: + class MyUnitTest(unittest.TestCase): + def test_base(self): + n2f = {} + n2v = {} + f2v = {} + n2gv = {} + n2vt = {} + +Execute: + set tabstop=12 + %EasyAlign= + +Expect: + class MyUnitTest(unittest.TestCase): + def test_base(self): + n2f = {} + n2v = {} + f2v = {} + n2gv = {} + n2vt = {} + +Execute: + Restore diff --git a/test/interactive.vader b/test/interactive.vader index 11eecb1..8b884b8 100644 --- a/test/interactive.vader +++ b/test/interactive.vader @@ -2,7 +2,7 @@ Execute (Clean up test environment): Save g:easy_align_ignore_groups, g:easy_align_ignore_unmatched Save g:easy_align_indentation, g:easy_align_delimiter_align Save g:easy_align_interactive_modes, g:easy_align_bang_interactive_modes - Save g:easy_align_delimiters + Save g:easy_align_delimiters, &tabstop Save mapleader " TODO: revert after test