Added more error checks in GetCells

This commit is contained in:
Dhruva Sagar
2013-05-22 07:36:53 +05:30
parent 27544e168a
commit 0683cec58c

View File

@@ -338,7 +338,7 @@ function! s:GetCells(line, ...) abort
let line = s:GetFirstRow(line)
while tablemode#IsATableRow(line)
let row_line = getline(line)[stridx(getline(line), g:table_mode_separator):strridx(getline(line), g:table_mode_separator)]
call add(values, s:Strip(split(row_line, g:table_mode_separator)[colm>0?colm-1:colm]))
call add(values, s:Strip(get(split(row_line, g:table_mode_separator), colm>0?colm-1:colm, '')))
let line = line + s:RowGap()
endwhile
return values
@@ -353,7 +353,8 @@ function! s:GetCells(line, ...) abort
if colm == 0
return map(split(row_line, g:table_mode_separator), 's:Strip(v:val)')
else
return s:Strip(split(row_line, g:table_mode_separator)[colm>0?colm-1:colm])
let split_line = split(row_line, g:table_mode_separator)
return s:Strip(get(split(row_line, g:table_mode_separator), colm>0?colm-1:colm, ''))
endif
endif
endif
@@ -385,6 +386,7 @@ function! s:SetCell(val, ...) abort "{{{2
let line_val = getline(line)
let cstartexpr = s:StartCommentExpr()
let values = split(getline(line)[stridx(line_val, g:table_mode_separator):strridx(line_val, g:table_mode_separator)], g:table_mode_separator)
if len(values) < colm | return | endif
let values[colm-1] = a:val
let line_value = g:table_mode_separator . join(values, g:table_mode_separator) . g:table_mode_separator
if s:Strlen(cstartexpr) > 0 && line_val =~# cstartexpr
@@ -982,7 +984,7 @@ function! tablemode#EvaluateExpr(expr, line) abort "{{{2
endfunction
" }}}2
function! tablemode#EvaluateFormulaLine() "{{{2
function! tablemode#EvaluateFormulaLine() abort "{{{2
let exprs = []
let cstring = &commentstring
let matchexpr = ''