diff --git a/autoload/vimwiki/tbl.vim b/autoload/vimwiki/tbl.vim index 5a8a429..9a7fc85 100644 --- a/autoload/vimwiki/tbl.vim +++ b/autoload/vimwiki/tbl.vim @@ -254,13 +254,6 @@ function! s:get_rows(lnum, ...) while lnum <= line('$') let line = getline(lnum) if s:is_table(line) - if lnum == a:lnum && !s:is_separator(line) - let cells = vimwiki#tbl#get_cells(line) - let clen = len(cells) - let max_lens = repeat([0], clen) - let aligns = repeat(['left'], clen) - let line = s:fmt_row(cells, max_lens, aligns, 0, 0) - endif call add(rows, [lnum, line]) else break @@ -335,6 +328,14 @@ function! s:get_aligned_rows(lnum, col1, col2, depth) let startlnum = rows[0][0] let lrows = len(rows) if lrows == a:depth + 1 + let line = rows[-1][1] + if !s:is_separator(line) + let lcells = vimwiki#tbl#get_cells(line) + let lclen = len(lcells) + let lmax_lens = repeat([0], lclen) + let laligns = repeat(['left'], lclen) + let rows[-1][1] = s:fmt_row(lcells, lmax_lens, laligns, 0, 0) + endif let i = 1 for [lnum, row] in rows call add(cells, vimwiki#tbl#get_cells(row, i != lrows - 1)) @@ -348,6 +349,7 @@ function! s:get_aligned_rows(lnum, col1, col2, depth) endif let fst_lens = s:get_cell_max_lens(a:lnum, cells, startlnum, rows[0:0]) let check_all = max_lens != fst_lens + let rows[-1][1] = line endif endif if check_all