mirror of
https://github.com/dhruvasagar/vim-table-mode.git
synced 2025-11-08 11:03:47 -05:00
Allow range for TableSort. Fix #133
This commit is contained in:
@@ -180,10 +180,14 @@ function! tablemode#spreadsheet#Average(range, ...) abort "{{{2
|
||||
return s:Average(call('tablemode#spreadsheet#cell#GetCellRange', args))
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#Sort(bang, ...) "{{{2
|
||||
function! tablemode#spreadsheet#Sort(bang, ...) range "{{{2
|
||||
let opts = a:0 ? a:1 : ''
|
||||
let bang = a:bang ? '!' : ''
|
||||
let [firstRow, lastRow] = [tablemode#spreadsheet#GetFirstRow('.'), tablemode#spreadsheet#GetLastRow('.')]
|
||||
if a:firstline == a:lastline
|
||||
let [firstRow, lastRow] = [tablemode#spreadsheet#GetFirstRow('.'), tablemode#spreadsheet#GetLastRow('.')]
|
||||
else
|
||||
let [firstRow, lastRow] = [a:firstline, a:lastline]
|
||||
endif
|
||||
call tablemode#spreadsheet#MoveToStartOfCell()
|
||||
exec ':'.firstRow.','.lastRow . 'sort'.bang opts '/.*\%'.col('.').'v/'
|
||||
exec ':undojoin | '.firstRow.','.lastRow . 'sort'.bang opts '/.*\%'.col('.').'v/'
|
||||
endfunction
|
||||
|
||||
@@ -75,7 +75,7 @@ endif
|
||||
" }}}2
|
||||
|
||||
command! -nargs=? -range Tableize <line1>,<line2>call tablemode#TableizeRange(<q-args>)
|
||||
command! -nargs=? -bang TableSort call tablemode#spreadsheet#Sort(<bang>0, <q-args>)
|
||||
command! -nargs=? -bang -range TableSort <line1>,<line2>call tablemode#spreadsheet#Sort(<bang>0, <q-args>)
|
||||
command! TableAddFormula call tablemode#spreadsheet#formula#Add()
|
||||
command! TableModeRealign call tablemode#table#Realign('.')
|
||||
command! TableEvalFormulaLine call tablemode#spreadsheet#formula#EvaluateFormulaLine()
|
||||
|
||||
Reference in New Issue
Block a user