diff --git a/autoload/tablemode/spreadsheet.vim b/autoload/tablemode/spreadsheet.vim index c34fbef..4ec31c7 100644 --- a/autoload/tablemode/spreadsheet.vim +++ b/autoload/tablemode/spreadsheet.vim @@ -56,15 +56,15 @@ function! tablemode#spreadsheet#MoveToLastRow() "{{{2 endif endfunction -function! tablemode#spreadsheet#LineNr(row) "{{{2 - if tablemode#table#IsRow('.') - let line = tablemode#spreadsheet#GetFirstRow('.') +function! tablemode#spreadsheet#LineNr(line, row) "{{{2 + if tablemode#table#IsRow(a:line) + let line = tablemode#spreadsheet#GetFirstRow(a:line) let row_nr = 0 while tablemode#table#IsRow(line + 1) || tablemode#table#IsBorder(line + 1) if tablemode#table#IsRow(line) let row_nr += 1 - if row ==# row_nr | break | endif + if a:row ==# row_nr | break | endif endif let line += 1 endwhile diff --git a/autoload/tablemode/spreadsheet/cell.vim b/autoload/tablemode/spreadsheet/cell.vim index 7a9b000..0b88831 100644 --- a/autoload/tablemode/spreadsheet/cell.vim +++ b/autoload/tablemode/spreadsheet/cell.vim @@ -173,7 +173,7 @@ function! tablemode#spreadsheet#cell#SetCell(val, ...) "{{{2 if colm < 0 | let colm = tablemode#spreadsheet#ColumnCount(line) + colm + 1 | endif if tablemode#table#IsRow(line) - let line = tablemode#utils#line(line) + (row - tablemode#spreadsheet#RowNr(line)) * 1 + let line = tablemode#spreadsheet#LineNr(line, row) let line_val = getline(line) let cstartexpr = tablemode#table#StartCommentExpr() let values = split(getline(line)[stridx(line_val, g:table_mode_separator):strridx(line_val, g:table_mode_separator)], g:table_mode_separator)