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))
|
return s:Average(call('tablemode#spreadsheet#cell#GetCellRange', args))
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! tablemode#spreadsheet#Sort(bang, ...) "{{{2
|
function! tablemode#spreadsheet#Sort(bang, ...) range "{{{2
|
||||||
let opts = a:0 ? a:1 : ''
|
let opts = a:0 ? a:1 : ''
|
||||||
let bang = a:bang ? '!' : ''
|
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()
|
call tablemode#spreadsheet#MoveToStartOfCell()
|
||||||
exec ':'.firstRow.','.lastRow . 'sort'.bang opts '/.*\%'.col('.').'v/'
|
exec ':undojoin | '.firstRow.','.lastRow . 'sort'.bang opts '/.*\%'.col('.').'v/'
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ endif
|
|||||||
" }}}2
|
" }}}2
|
||||||
|
|
||||||
command! -nargs=? -range Tableize <line1>,<line2>call tablemode#TableizeRange(<q-args>)
|
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! TableAddFormula call tablemode#spreadsheet#formula#Add()
|
||||||
command! TableModeRealign call tablemode#table#Realign('.')
|
command! TableModeRealign call tablemode#table#Realign('.')
|
||||||
command! TableEvalFormulaLine call tablemode#spreadsheet#formula#EvaluateFormulaLine()
|
command! TableEvalFormulaLine call tablemode#spreadsheet#formula#EvaluateFormulaLine()
|
||||||
|
|||||||
Reference in New Issue
Block a user