mirror of
https://github.com/dhruvasagar/vim-table-mode.git
synced 2025-11-09 19:43:48 -05:00
Added more error checks in GetCells
This commit is contained in:
@@ -338,7 +338,7 @@ function! s:GetCells(line, ...) abort
|
|||||||
let line = s:GetFirstRow(line)
|
let line = s:GetFirstRow(line)
|
||||||
while tablemode#IsATableRow(line)
|
while tablemode#IsATableRow(line)
|
||||||
let row_line = getline(line)[stridx(getline(line), g:table_mode_separator):strridx(getline(line), g:table_mode_separator)]
|
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()
|
let line = line + s:RowGap()
|
||||||
endwhile
|
endwhile
|
||||||
return values
|
return values
|
||||||
@@ -353,7 +353,8 @@ function! s:GetCells(line, ...) abort
|
|||||||
if colm == 0
|
if colm == 0
|
||||||
return map(split(row_line, g:table_mode_separator), 's:Strip(v:val)')
|
return map(split(row_line, g:table_mode_separator), 's:Strip(v:val)')
|
||||||
else
|
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
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -385,6 +386,7 @@ function! s:SetCell(val, ...) abort "{{{2
|
|||||||
let line_val = getline(line)
|
let line_val = getline(line)
|
||||||
let cstartexpr = s:StartCommentExpr()
|
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)
|
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 values[colm-1] = a:val
|
||||||
let line_value = g:table_mode_separator . join(values, g:table_mode_separator) . g:table_mode_separator
|
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
|
if s:Strlen(cstartexpr) > 0 && line_val =~# cstartexpr
|
||||||
@@ -982,7 +984,7 @@ function! tablemode#EvaluateExpr(expr, line) abort "{{{2
|
|||||||
endfunction
|
endfunction
|
||||||
" }}}2
|
" }}}2
|
||||||
|
|
||||||
function! tablemode#EvaluateFormulaLine() "{{{2
|
function! tablemode#EvaluateFormulaLine() abort "{{{2
|
||||||
let exprs = []
|
let exprs = []
|
||||||
let cstring = &commentstring
|
let cstring = &commentstring
|
||||||
let matchexpr = ''
|
let matchexpr = ''
|
||||||
|
|||||||
Reference in New Issue
Block a user