From 33c00df509c0b6f6303309d0dfc98c90c36ae711 Mon Sep 17 00:00:00 2001 From: Dhruva Sagar Date: Fri, 27 Feb 2015 08:50:32 +0530 Subject: [PATCH] Fix #56 * Fixed tablemode#spreadsheet#cell#SetCell() to accommodate the fact that we can have borders anywhere in the table. Using tablemode#spreadsheet#LineNr() to get get the line of the actual row in the table. * Fixed tablemode#spreadsheet#LineNr() --- autoload/tablemode/spreadsheet.vim | 8 ++++---- autoload/tablemode/spreadsheet/cell.vim | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) 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)