From ad9229c93702e52fdb07ce2b5ca45f7124aa9b98 Mon Sep 17 00:00:00 2001 From: Dhruva Sagar Date: Mon, 21 Jan 2019 15:17:51 +0530 Subject: [PATCH] Fix #141. Allow negative row reference in formula expressions --- autoload/tablemode/spreadsheet/formula.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autoload/tablemode/spreadsheet/formula.vim b/autoload/tablemode/spreadsheet/formula.vim index 65478c4..cfe3337 100644 --- a/autoload/tablemode/spreadsheet/formula.vim +++ b/autoload/tablemode/spreadsheet/formula.vim @@ -63,8 +63,8 @@ function! tablemode#spreadsheet#formula#EvaluateExpr(expr, line) abort "{{{2 let expr = substitute(expr, 'Average(\([^)]*\))', 'tablemode#spreadsheet#Average("\1",'.line.','.colm.')', 'g') endif - if expr =~# '\$\d\+,\d\+' - let expr = substitute(expr, '\$\(\d\+\),\(\d\+\)', + if expr =~# '\$\-\?\d\+,\-\?\d\+' + let expr = substitute(expr, '\$\(\-\?\d\+\),\(\-\?\d\+\)', \ '\=str2float(tablemode#spreadsheet#cell#GetCells(line, submatch(1), submatch(2)))', 'g') endif