diff --git a/autoload/tablemode/table.vim b/autoload/tablemode/table.vim index e6aebc3..7a0054a 100644 --- a/autoload/tablemode/table.vim +++ b/autoload/tablemode/table.vim @@ -188,55 +188,3 @@ function! tablemode#table#TableRealign(line) "{{{2 endfor endfunction -function! tablemode#table#TableMotion(direction, ...) "{{{2 - let l:count = a:0 ? a:1 : v:count1 - if tablemode#table#IsATableRow('.') - for ii in range(l:count) - if a:direction ==# 'l' - if tablemode#spreadsheet#IsLastCell() - if !tablemode#table#IsATableRow(line('.') + 1) && (tablemode#table#IsATableHeader(line('.') + 1) && !tablemode#table#IsATableRow(line('.') + 2 * 1)) - return - endif - call tablemode#table#TableMotion('j', 1) - normal! 0 - endif - - " If line starts with g:table_mode_separator - if getline('.')[col('.')-1] ==# g:table_mode_separator - normal! 2l - else - execute 'normal! f' . g:table_mode_separator . '2l' - endif - elseif a:direction ==# 'h' - if tablemode#spreadsheet#IsFirstCell() - if !tablemode#table#IsATableRow(line('.') - 1) && (tablemode#table#IsATableHeader(line('.') - 1) && !tablemode#table#IsATableRow(line('.') - 2 * 1)) - return - endif - call tablemode#table#TableMotion('k', 1) - normal! $ - endif - - " If line ends with g:table_mode_separator - if getline('.')[col('.')-1] ==# g:table_mode_separator - execute 'normal! F' . g:table_mode_separator . '2l' - else - execute 'normal! 2F' . g:table_mode_separator . '2l' - endif - elseif a:direction ==# 'j' - if tablemode#table#IsATableRow(line('.') + 1) - execute 'normal! ' . 1 . 'j' - elseif tablemode#table#IsATableHeader(line('.') + 1) && tablemode#table#IsATableRow(line('.') + 2) - execute 'normal! ' . (1 + 1) . 'j' - endif - elseif a:direction ==# 'k' - if tablemode#table#IsATableRow(line('.') - 1) - execute 'normal! ' . 1 . 'k' - elseif tablemode#table#IsATableHeader(line('.') - 1) && tablemode#table#IsATableRow(line('.') - 2) - execute 'normal! ' . (1 + 1) . 'k' - endif - endif - endfor - endif -endfunction - -" vim: sw=2 sts=2 fdl=0 fdm=marker