mirror of
https://github.com/dhruvasagar/vim-table-mode.git
synced 2025-11-08 11:03:47 -05:00
Merge branch 'master' into feature/gfm_column_alignment
Conflicts: autoload/tablemode/table.vim
This commit is contained in:
@@ -90,7 +90,7 @@ function! tablemode#scope() "{{{2
|
||||
return s:
|
||||
endfunction
|
||||
|
||||
function! tablemode#IsTableModeActive() "{{{2
|
||||
function! tablemode#IsActive() "{{{2
|
||||
if g:table_mode_always_active | return 1 | endif
|
||||
|
||||
call s:SetBufferOptDefault('table_mode_active', 0)
|
||||
@@ -98,10 +98,10 @@ function! tablemode#IsTableModeActive() "{{{2
|
||||
endfunction
|
||||
|
||||
function! tablemode#TableizeInsertMode() "{{{2
|
||||
if tablemode#IsTableModeActive() && getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator . g:table_mode_separator)
|
||||
if tablemode#IsActive() && getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator . g:table_mode_separator)
|
||||
call tablemode#table#AddHeaderBorder('.')
|
||||
normal! A
|
||||
elseif tablemode#IsTableModeActive() && getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator)
|
||||
elseif tablemode#IsActive() && getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator)
|
||||
let column = tablemode#utils#strlen(substitute(getline('.')[0:col('.')], '[^' . g:table_mode_separator . ']', '', 'g'))
|
||||
let position = tablemode#utils#strlen(matchstr(getline('.')[0:col('.')], '.*' . g:table_mode_separator . '\s*\zs.*'))
|
||||
call tablemode#table#Realign('.')
|
||||
@@ -110,15 +110,15 @@ function! tablemode#TableizeInsertMode() "{{{2
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tablemode#TableModeEnable() "{{{2
|
||||
function! tablemode#Enable() "{{{2
|
||||
call s:SetActive(1)
|
||||
endfunction
|
||||
|
||||
function! tablemode#TableModeDisable() "{{{2
|
||||
function! tablemode#Disable() "{{{2
|
||||
call s:SetActive(0)
|
||||
endfunction
|
||||
|
||||
function! tablemode#TableModeToggle() "{{{2
|
||||
function! tablemode#Toggle() "{{{2
|
||||
if g:table_mode_always_active
|
||||
return 1
|
||||
endif
|
||||
|
||||
@@ -47,50 +47,50 @@ function! tablemode#spreadsheet#scope() "{{{2
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#GetFirstRow(line) "{{{2
|
||||
if tablemode#table#IsATableRow(a:line)
|
||||
if tablemode#table#IsRow(a:line)
|
||||
let line = tablemode#utils#line(a:line)
|
||||
|
||||
while tablemode#table#IsATableRow(line - 1) || tablemode#table#IsATableHeader(line - 1)
|
||||
while tablemode#table#IsRow(line - 1) || tablemode#table#IsHeader(line - 1)
|
||||
let line -= 1
|
||||
endwhile
|
||||
if tablemode#table#IsATableHeader(line) | let line += 1 | endif
|
||||
if tablemode#table#IsHeader(line) | let line += 1 | endif
|
||||
|
||||
return line
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#MoveToFirstRow() "{{{2
|
||||
if tablemode#table#IsATableRow('.')
|
||||
if tablemode#table#IsRow('.')
|
||||
call cursor(tablemode#spreadsheet#GetFirstRow('.'), col('.'))
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#GetLastRow(line) "{{{2
|
||||
if tablemode#table#IsATableRow(a:line)
|
||||
if tablemode#table#IsRow(a:line)
|
||||
let line = tablemode#utils#line(a:line)
|
||||
|
||||
while tablemode#table#IsATableRow(line + 1) || tablemode#table#IsATableHeader(line + 1)
|
||||
while tablemode#table#IsRow(line + 1) || tablemode#table#IsHeader(line + 1)
|
||||
let line += 1
|
||||
endwhile
|
||||
if tablemode#table#IsATableHeader(line) | let line -= 1 | endif
|
||||
if tablemode#table#IsHeader(line) | let line -= 1 | endif
|
||||
|
||||
return line
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#MoveToLastRow() "{{{2
|
||||
if tablemode#table#IsATableRow('.')
|
||||
if tablemode#table#IsRow('.')
|
||||
call cursor(tablemode#spreadsheet#GetLastRow('.'), col('.'))
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#LineNr(row) "{{{2
|
||||
if tablemode#table#IsATableRow('.')
|
||||
if tablemode#table#IsRow('.')
|
||||
let line = tablemode#spreadsheet#GetFirstRow('.')
|
||||
let row_nr = 0
|
||||
|
||||
while tablemode#table#IsATableRow(line + 1) || tablemode#table#IsATableHeader(line + 1)
|
||||
if tablemode#table#IsATableRow(line)
|
||||
while tablemode#table#IsRow(line + 1) || tablemode#table#IsHeader(line + 1)
|
||||
if tablemode#table#IsRow(line)
|
||||
let row_nr += 1
|
||||
if row ==# row_nr | break | endif
|
||||
endif
|
||||
@@ -105,8 +105,8 @@ function! tablemode#spreadsheet#RowNr(line) "{{{2
|
||||
let line = tablemode#utils#line(a:line)
|
||||
|
||||
let rowNr = 0
|
||||
while tablemode#table#IsATableRow(line) || tablemode#table#IsATableHeader(line)
|
||||
if tablemode#table#IsATableRow(line) | let rowNr += 1 | endif
|
||||
while tablemode#table#IsRow(line) || tablemode#table#IsHeader(line)
|
||||
if tablemode#table#IsRow(line) | let rowNr += 1 | endif
|
||||
let line -= 1
|
||||
endwhile
|
||||
|
||||
@@ -117,14 +117,14 @@ function! tablemode#spreadsheet#RowCount(line) "{{{2
|
||||
let line = tablemode#utils#line(a:line)
|
||||
|
||||
let [tline, totalRowCount] = [line, 0]
|
||||
while tablemode#table#IsATableRow(tline) || tablemode#table#IsATableHeader(tline)
|
||||
if tablemode#table#IsATableRow(tline) | let totalRowCount += 1 | endif
|
||||
while tablemode#table#IsRow(tline) || tablemode#table#IsHeader(tline)
|
||||
if tablemode#table#IsRow(tline) | let totalRowCount += 1 | endif
|
||||
let tline -= 1
|
||||
endwhile
|
||||
|
||||
let tline = line + 1
|
||||
while tablemode#table#IsATableRow(tline) || tablemode#table#IsATableHeader(tline)
|
||||
if tablemode#table#IsATableRow(tline) | let totalRowCount += 1 | endif
|
||||
while tablemode#table#IsRow(tline) || tablemode#table#IsHeader(tline)
|
||||
if tablemode#table#IsRow(tline) | let totalRowCount += 1 | endif
|
||||
let tline += 1
|
||||
endwhile
|
||||
|
||||
@@ -167,33 +167,33 @@ function! tablemode#spreadsheet#MoveToStartOfCell() "{{{2
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#GetLastRow(line) "{{{2
|
||||
if tablemode#table#IsATableRow(a:line)
|
||||
if tablemode#table#IsRow(a:line)
|
||||
let line = tablemode#utils#line(a:line)
|
||||
|
||||
while tablemode#table#IsATableRow(line + 1) || tablemode#table#IsATableHeader(line + 1)
|
||||
while tablemode#table#IsRow(line + 1) || tablemode#table#IsHeader(line + 1)
|
||||
let line += 1
|
||||
endwhile
|
||||
if tablemode#table#IsATableHeader(line) | let line -= 1 | endif
|
||||
if tablemode#table#IsHeader(line) | let line -= 1 | endif
|
||||
|
||||
return line
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#GetFirstRow(line) "{{{2
|
||||
if tablemode#table#IsATableRow(a:line)
|
||||
if tablemode#table#IsRow(a:line)
|
||||
let line = tablemode#utils#line(a:line)
|
||||
|
||||
while tablemode#table#IsATableRow(line - 1) || tablemode#table#IsATableHeader(line - 1)
|
||||
while tablemode#table#IsRow(line - 1) || tablemode#table#IsHeader(line - 1)
|
||||
let line -= 1
|
||||
endwhile
|
||||
if tablemode#table#IsATableHeader(line) | let line += 1 | endif
|
||||
if tablemode#table#IsHeader(line) | let line += 1 | endif
|
||||
|
||||
return line
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#DeleteColumn() "{{{2
|
||||
if tablemode#table#IsATableRow('.')
|
||||
if tablemode#table#IsRow('.')
|
||||
for i in range(v:count1)
|
||||
call tablemode#spreadsheet#MoveToStartOfCell()
|
||||
call tablemode#spreadsheet#MoveToFirstRow()
|
||||
@@ -207,13 +207,13 @@ function! tablemode#spreadsheet#DeleteColumn() "{{{2
|
||||
endfunction
|
||||
|
||||
function! tablemode#spreadsheet#DeleteRow() "{{{2
|
||||
if tablemode#table#IsATableRow('.')
|
||||
if tablemode#table#IsRow('.')
|
||||
for i in range(v:count1)
|
||||
if tablemode#table#IsATableRow('.')
|
||||
if tablemode#table#IsRow('.')
|
||||
normal! dd
|
||||
endif
|
||||
|
||||
if !tablemode#table#IsATableRow('.')
|
||||
if !tablemode#table#IsRow('.')
|
||||
normal! k
|
||||
endif
|
||||
endfor
|
||||
|
||||
@@ -71,7 +71,7 @@ endfunction
|
||||
function! tablemode#spreadsheet#cell#GetCells(line, ...) abort
|
||||
let line = tablemode#utils#line(a:line)
|
||||
|
||||
if tablemode#table#IsATableRow(line)
|
||||
if tablemode#table#IsRow(line)
|
||||
if a:0 < 1
|
||||
let [row, colm] = [line, 0]
|
||||
elseif a:0 < 2
|
||||
@@ -84,8 +84,8 @@ function! tablemode#spreadsheet#cell#GetCells(line, ...) abort
|
||||
if row == 0
|
||||
let values = []
|
||||
let line = first_row
|
||||
while tablemode#table#IsATableRow(line) || tablemode#table#IsATableHeader(line)
|
||||
if tablemode#table#IsATableRow(line)
|
||||
while tablemode#table#IsRow(line) || tablemode#table#IsHeader(line)
|
||||
if tablemode#table#IsRow(line)
|
||||
let row_line = getline(line)[stridx(getline(line), g:table_mode_separator):strridx(getline(line), g:table_mode_separator)]
|
||||
call add(values, tablemode#utils#strip(get(split(row_line, g:table_mode_separator), colm>0?colm-1:colm, '')))
|
||||
endif
|
||||
@@ -95,8 +95,8 @@ function! tablemode#spreadsheet#cell#GetCells(line, ...) abort
|
||||
else
|
||||
let row_nr = 0
|
||||
let line = first_row
|
||||
while tablemode#table#IsATableRow(line) || tablemode#table#IsATableHeader(line)
|
||||
if tablemode#table#IsATableRow(line)
|
||||
while tablemode#table#IsRow(line) || tablemode#table#IsHeader(line)
|
||||
if tablemode#table#IsRow(line)
|
||||
let row_nr += 1
|
||||
if row ==# row_nr | break | endif
|
||||
endif
|
||||
@@ -142,7 +142,7 @@ function! tablemode#spreadsheet#cell#GetCellRange(range, ...) abort "{{{2
|
||||
|
||||
let values = []
|
||||
|
||||
if tablemode#table#IsATableRow(line)
|
||||
if tablemode#table#IsRow(line)
|
||||
let [row1, col1, row2, col2] = s:ParseRange(a:range, colm)
|
||||
|
||||
if row1 == row2
|
||||
@@ -193,7 +193,7 @@ function! tablemode#spreadsheet#cell#SetCell(val, ...) "{{{2
|
||||
let [line, row, colm] = a:000
|
||||
endif
|
||||
|
||||
if tablemode#table#IsATableRow(line)
|
||||
if tablemode#table#IsRow(line)
|
||||
let line = tablemode#utils#line(line) + (row - tablemode#spreadsheet#RowNr(line)) * 1
|
||||
let line_val = getline(line)
|
||||
let cstartexpr = tablemode#table#StartCommentExpr()
|
||||
@@ -211,7 +211,7 @@ function! tablemode#spreadsheet#cell#SetCell(val, ...) "{{{2
|
||||
endif
|
||||
endfunction
|
||||
function! tablemode#spreadsheet#cell#TextObject(inner) "{{{2
|
||||
if tablemode#table#IsATableRow('.')
|
||||
if tablemode#table#IsRow('.')
|
||||
call tablemode#spreadsheet#MoveToStartOfCell()
|
||||
if a:inner
|
||||
normal! v
|
||||
@@ -223,11 +223,11 @@ function! tablemode#spreadsheet#cell#TextObject(inner) "{{{2
|
||||
endfunction
|
||||
function! tablemode#spreadsheet#cell#Motion(direction, ...) "{{{2
|
||||
let l:count = a:0 ? a:1 : v:count1
|
||||
if tablemode#table#IsATableRow('.')
|
||||
if tablemode#table#IsRow('.')
|
||||
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))
|
||||
if !tablemode#table#IsRow(line('.') + 1) && (tablemode#table#IsHeader(line('.') + 1) && !tablemode#table#IsRow(line('.') + 2))
|
||||
return
|
||||
endif
|
||||
call tablemode#spreadsheet#cell#Motion('j', 1)
|
||||
@@ -242,7 +242,7 @@ function! tablemode#spreadsheet#cell#Motion(direction, ...) "{{{2
|
||||
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))
|
||||
if !tablemode#table#IsRow(line('.') - 1) && (tablemode#table#IsHeader(line('.') - 1) && !tablemode#table#IsRow(line('.') - 2))
|
||||
return
|
||||
endif
|
||||
call tablemode#spreadsheet#cell#Motion('k', 1)
|
||||
@@ -256,18 +256,18 @@ function! tablemode#spreadsheet#cell#Motion(direction, ...) "{{{2
|
||||
execute 'normal! 2F' . g:table_mode_separator . '2l'
|
||||
endif
|
||||
elseif a:direction ==# 'j'
|
||||
if tablemode#table#IsATableRow(line('.') + 1)
|
||||
if tablemode#table#IsRow(line('.') + 1)
|
||||
" execute 'normal! ' . 1 . 'j'
|
||||
normal! j
|
||||
elseif tablemode#table#IsATableHeader(line('.') + 1) && tablemode#table#IsATableRow(line('.') + 2)
|
||||
elseif tablemode#table#IsHeader(line('.') + 1) && tablemode#table#IsRow(line('.') + 2)
|
||||
" execute 'normal! ' . 2 . 'j'
|
||||
normal! 2j
|
||||
endif
|
||||
elseif a:direction ==# 'k'
|
||||
if tablemode#table#IsATableRow(line('.') - 1)
|
||||
if tablemode#table#IsRow(line('.') - 1)
|
||||
" execute 'normal! ' . 1 . 'k'
|
||||
normal! k
|
||||
elseif tablemode#table#IsATableHeader(line('.') - 1) && tablemode#table#IsATableRow(line('.') - 2)
|
||||
elseif tablemode#table#IsHeader(line('.') - 1) && tablemode#table#IsRow(line('.') - 2)
|
||||
" execute 'normal! ' . (1 + 1) . 'k'
|
||||
normal! 2k
|
||||
endif
|
||||
|
||||
@@ -39,7 +39,7 @@ function! tablemode#spreadsheet#formula#Add(...) "{{{2
|
||||
if fr !=# ''
|
||||
let fr = '$' . row . ',' . colm . '=' . fr
|
||||
let fline = tablemode#spreadsheet#GetLastRow('.') + 1
|
||||
if tablemode#table#IsATableHeader(fline) | let fline += 1 | endif
|
||||
if tablemode#table#IsHeader(fline) | let fline += 1 | endif
|
||||
let cursor_pos = [line('.'), col('.')]
|
||||
if getline(fline) =~# 'tmf: '
|
||||
" Comment line correctly
|
||||
@@ -98,7 +98,7 @@ function! tablemode#spreadsheet#formula#EvaluateExpr(expr, line) abort "{{{2
|
||||
call tablemode#spreadsheet#cell#SetCell(eval(expr), line, row, colm)
|
||||
else
|
||||
let [row, line] = [1, tablemode#spreadsheet#GetFirstRow(line)]
|
||||
while tablemode#table#IsATableRow(line)
|
||||
while tablemode#table#IsRow(line)
|
||||
let texpr = expr
|
||||
if expr =~# '\$'
|
||||
let texpr = substitute(texpr, '\$\(\d\+\)',
|
||||
@@ -126,17 +126,17 @@ function! tablemode#spreadsheet#formula#EvaluateFormulaLine() abort "{{{2
|
||||
else
|
||||
let matchexpr = '^\s* tmf: \zs.*$'
|
||||
endif
|
||||
if tablemode#table#IsATableRow('.') " We're inside the table
|
||||
if tablemode#table#IsRow('.') " We're inside the table
|
||||
let line = tablemode#spreadsheet#GetLastRow('.')
|
||||
let fline = line + 1
|
||||
if tablemode#table#IsATableHeader(fline) | let fline += 1 | endif
|
||||
if tablemode#table#IsHeader(fline) | let fline += 1 | endif
|
||||
if getline(fline) =~# 'tmf: '
|
||||
let exprs = split(matchstr(getline(fline), matchexpr), ';')
|
||||
endif
|
||||
elseif getline('.') =~# 'tmf: ' " We're on the formula line
|
||||
let line = line('.') - 1
|
||||
if tablemode#table#IsATableHeader(line) | let line -= 1 | endif
|
||||
if tablemode#table#IsATableRow(line)
|
||||
if tablemode#table#IsHeader(line) | let line -= 1 | endif
|
||||
if tablemode#table#IsRow(line)
|
||||
let exprs = split(matchstr(getline('.'), matchexpr), ';')
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -27,7 +27,7 @@ function! s:HeaderBorderExpr() "{{{2
|
||||
endfunction
|
||||
|
||||
function! s:DefaultHeaderBorder() "{{{2
|
||||
if tablemode#IsTableModeActive()
|
||||
if tablemode#IsActive()
|
||||
return g:table_mode_corner_corner . g:table_mode_fillchar . g:table_mode_corner . g:table_mode_fillchar . g:table_mode_corner_corner
|
||||
else
|
||||
return ''
|
||||
@@ -36,15 +36,16 @@ endfunction
|
||||
|
||||
function! s:GenerateHeaderBorder(line) "{{{2
|
||||
let line = tablemode#utils#line(a:line)
|
||||
if tablemode#table#IsATableRow(line - 1) || tablemode#table#IsATableRow(line + 1)
|
||||
if tablemode#table#IsRow(line - 1) || tablemode#table#IsRow(line + 1)
|
||||
let line_val = ''
|
||||
if tablemode#table#IsATableRow(line + 1)
|
||||
if tablemode#table#IsRow(line + 1)
|
||||
let line_val = getline(line + 1)
|
||||
endif
|
||||
if tablemode#table#IsATableRow(line - 1) && tablemode#utils#strlen(line_val) < tablemode#utils#strlen(getline(line - 1))
|
||||
if tablemode#table#IsRow(line - 1) && tablemode#utils#strlen(line_val) < tablemode#utils#strlen(getline(line - 1))
|
||||
let line_val = getline(line - 1)
|
||||
endif
|
||||
if tablemode#utils#strlen(line_val) <= 1 | return s:DefaultHeaderBorder() | endif
|
||||
|
||||
let border = substitute(line_val[stridx(line_val, g:table_mode_separator):strridx(line_val, g:table_mode_separator)], g:table_mode_separator, g:table_mode_corner, 'g')
|
||||
let border = substitute(border, '[^' . g:table_mode_corner . ']', g:table_mode_fillchar, 'g')
|
||||
let border = substitute(border, '^' . g:table_mode_corner . '\(.*\)' . g:table_mode_corner . '$', g:table_mode_corner_corner . '\1' . g:table_mode_corner_corner, '')
|
||||
@@ -134,12 +135,12 @@ function! tablemode#table#EndExpr() "{{{2
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tablemode#table#IsATableRow(line) "{{{2
|
||||
function! tablemode#table#IsRow(line) "{{{2
|
||||
return getline(a:line) =~# (tablemode#table#StartExpr() . g:table_mode_separator . '[^' .
|
||||
\ g:table_mode_fillchar . ']*[^' . g:table_mode_corner . ']*$')
|
||||
endfunction
|
||||
|
||||
function! tablemode#table#IsATableHeader(line) "{{{2
|
||||
function! tablemode#table#IsHeader(line) "{{{2
|
||||
return getline(a:line) =~# s:HeaderBorderExpr()
|
||||
endfunction
|
||||
|
||||
@@ -147,21 +148,13 @@ function! tablemode#table#AddHeaderBorder(line) "{{{2
|
||||
call setline(a:line, s:GenerateHeaderBorder(a:line))
|
||||
endfunction
|
||||
|
||||
function! tablemode#table#alignment(line) "{{{2
|
||||
if a:line !~# '[^0-9\.]'
|
||||
return 'r'
|
||||
else
|
||||
return 'l'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tablemode#table#Realign(line) "{{{2
|
||||
let line = tablemode#utils#line(a:line)
|
||||
|
||||
let lines = []
|
||||
let [lnum, blines] = [line, []]
|
||||
while tablemode#table#IsATableRow(lnum) || tablemode#table#IsATableHeader(lnum)
|
||||
if tablemode#table#IsATableHeader(lnum)
|
||||
while tablemode#table#IsRow(lnum) || tablemode#table#IsHeader(lnum)
|
||||
if tablemode#table#IsHeader(lnum)
|
||||
call insert(blines, lnum)
|
||||
let lnum -= 1
|
||||
continue
|
||||
@@ -171,13 +164,13 @@ function! tablemode#table#Realign(line) "{{{2
|
||||
endwhile
|
||||
|
||||
let lnum = line + 1
|
||||
while tablemode#table#IsATableRow(lnum) || tablemode#table#IsATableHeader(lnum)
|
||||
if tablemode#table#IsATableHeader(lnum)
|
||||
call insert(blines, lnum)
|
||||
while tablemode#table#IsRow(lnum) || tablemode#table#IsHeader(lnum)
|
||||
if tablemode#table#IsHeader(lnum)
|
||||
call add(blines, lnum)
|
||||
let lnum += 1
|
||||
continue
|
||||
endif
|
||||
call insert(lines, {'lnum': lnum, 'text': getline(lnum)})
|
||||
call add(lines, {'lnum': lnum, 'text': getline(lnum)})
|
||||
let lnum += 1
|
||||
endwhile
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ call s:SetGlobalOptDefault('table_mode_corner_corner', '|')
|
||||
call s:SetGlobalOptDefault('table_mode_align_char', ':')
|
||||
|
||||
function! s:TableEchoCell() "{{{1
|
||||
if tablemode#table#IsATableRow('.')
|
||||
if tablemode#table#IsRow('.')
|
||||
echomsg '$' . tablemode#spreadsheet#RowNr('.') . ',' . tablemode#spreadsheet#ColumnNr('.')
|
||||
endif
|
||||
endfunction
|
||||
@@ -53,10 +53,10 @@ endfunction
|
||||
" Define Commands & Mappings {{{1
|
||||
if !g:table_mode_always_active "{{{2
|
||||
exec "nnoremap <silent> " . g:table_mode_map_prefix . g:table_mode_toggle_map .
|
||||
\ " <Esc>:call tablemode#TableModeToggle()<CR>"
|
||||
command! -nargs=0 TableModeToggle call tablemode#TableModeToggle()
|
||||
command! -nargs=0 TableModeEnable call tablemode#TableModeEnable()
|
||||
command! -nargs=0 TableModeDisable call tablemode#TableModeDisable()
|
||||
\ " <Esc>:call tablemode#Toggle()<CR>"
|
||||
command! -nargs=0 TableModeToggle call tablemode#Toggle()
|
||||
command! -nargs=0 TableModeEnable call tablemode#Enable()
|
||||
command! -nargs=0 TableModeDisable call tablemode#Disable()
|
||||
else
|
||||
let table_mode_separator_map = g:table_mode_separator
|
||||
" '|' is a special character, we need to map <Bar> instead
|
||||
|
||||
@@ -54,7 +54,7 @@ describe 'cell'
|
||||
before
|
||||
new
|
||||
normal! ggdG
|
||||
call tablemode#TableModeEnable()
|
||||
call tablemode#Enable()
|
||||
normal i|test11|test12|
|
||||
|test21|test22|
|
||||
call cursor(1, 3)
|
||||
@@ -95,7 +95,7 @@ describe 'cell'
|
||||
describe 'up or down'
|
||||
before
|
||||
new
|
||||
normal! ggdG
|
||||
normal! ggdG
|
||||
call tablemode#Enable()
|
||||
normal i|test11|test12|
|
||||
|test21|test22|
|
||||
|
||||
24
t/table.vim
24
t/table.vim
@@ -5,39 +5,39 @@ call vspec#hint({'scope': 'tablemode#table#scope()', 'sid': 'tablemode#table#sid
|
||||
|
||||
describe 'table'
|
||||
describe 'API'
|
||||
describe 'IsATableRow'
|
||||
describe 'IsRow'
|
||||
before
|
||||
new
|
||||
read t/fixtures/sample.txt
|
||||
end
|
||||
|
||||
it 'should return true when inside a table'
|
||||
Expect tablemode#table#IsATableRow(2) to_be_true
|
||||
Expect tablemode#table#IsATableRow(3) to_be_true
|
||||
Expect tablemode#table#IsRow(2) to_be_true
|
||||
Expect tablemode#table#IsRow(3) to_be_true
|
||||
end
|
||||
|
||||
it 'should return false when outside a table'
|
||||
Expect tablemode#table#IsATableRow(1) to_be_false
|
||||
Expect tablemode#table#IsATableRow(4) to_be_false
|
||||
Expect tablemode#table#IsRow(1) to_be_false
|
||||
Expect tablemode#table#IsRow(4) to_be_false
|
||||
end
|
||||
end
|
||||
|
||||
describe 'IsATableHeader'
|
||||
describe 'IsHeader'
|
||||
before
|
||||
new
|
||||
read t/fixtures/sample_with_header.txt
|
||||
end
|
||||
|
||||
it 'should return true when on a table header'
|
||||
Expect tablemode#table#IsATableHeader(3) to_be_true
|
||||
Expect tablemode#table#IsATableHeader(6) to_be_true
|
||||
Expect tablemode#table#IsHeader(3) to_be_true
|
||||
Expect tablemode#table#IsHeader(6) to_be_true
|
||||
end
|
||||
|
||||
it 'should return false when not on a table header'
|
||||
Expect tablemode#table#IsATableHeader(1) to_be_false
|
||||
Expect tablemode#table#IsATableHeader(2) to_be_false
|
||||
Expect tablemode#table#IsATableHeader(4) to_be_false
|
||||
Expect tablemode#table#IsATableHeader(5) to_be_false
|
||||
Expect tablemode#table#IsHeader(1) to_be_false
|
||||
Expect tablemode#table#IsHeader(2) to_be_false
|
||||
Expect tablemode#table#IsHeader(4) to_be_false
|
||||
Expect tablemode#table#IsHeader(5) to_be_false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5,9 +5,9 @@ call vspec#hint({'scope': 'tablemode#scope()', 'sid': 'tablemode#sid()'})
|
||||
|
||||
describe 'tablemode'
|
||||
describe 'Activation'
|
||||
describe 'tablemode#TableModeEnable()'
|
||||
describe 'tablemode#Enable()'
|
||||
before
|
||||
call tablemode#TableModeEnable()
|
||||
call tablemode#Enable()
|
||||
end
|
||||
|
||||
it 'should enable table mode'
|
||||
@@ -15,9 +15,9 @@ describe 'tablemode'
|
||||
end
|
||||
end
|
||||
|
||||
describe 'tablemode#TableModeDisable()'
|
||||
describe 'tablemode#Disable()'
|
||||
before
|
||||
call tablemode#TableModeDisable()
|
||||
call tablemode#Disable()
|
||||
end
|
||||
|
||||
it 'should disable table mode'
|
||||
@@ -25,11 +25,11 @@ describe 'tablemode'
|
||||
end
|
||||
end
|
||||
|
||||
describe 'tablemode#TableModeToggle()'
|
||||
describe 'tablemode#Toggle()'
|
||||
it 'should toggle table mode'
|
||||
call tablemode#TableModeToggle()
|
||||
call tablemode#Toggle()
|
||||
Expect b:table_mode_active to_be_true
|
||||
call tablemode#TableModeToggle()
|
||||
call tablemode#Toggle()
|
||||
Expect b:table_mode_active to_be_false
|
||||
end
|
||||
end
|
||||
@@ -43,14 +43,14 @@ describe 'tablemode'
|
||||
|
||||
it 'should tableize with default delimiter'
|
||||
:2,3call tablemode#TableizeRange('')
|
||||
Expect tablemode#table#IsATableRow(2) to_be_true
|
||||
Expect tablemode#table#IsRow(2) to_be_true
|
||||
Expect tablemode#spreadsheet#RowCount(2) == 2
|
||||
Expect tablemode#spreadsheet#ColumnCount(2) == 3
|
||||
end
|
||||
|
||||
it 'should tableize with given delimiter'
|
||||
:2,3call tablemode#TableizeRange('/;')
|
||||
Expect tablemode#table#IsATableRow(2) to_be_true
|
||||
Expect tablemode#table#IsRow(2) to_be_true
|
||||
Expect tablemode#spreadsheet#RowCount(2) == 2
|
||||
Expect tablemode#spreadsheet#ColumnCount(2) == 2
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user