Stylistic changes to pass vint tests.
Two non-stylistic errors were also fixed: 1. Removed duplicate function with invalid argument usage 2. Added missing quotes to a function call argument
This commit is contained in:
@ -9,23 +9,23 @@
|
||||
|
||||
|
||||
|
||||
if exists("g:loaded_vimwiki_tbl_auto") || &cp
|
||||
if exists('g:loaded_vimwiki_tbl_auto') || &compatible
|
||||
finish
|
||||
endif
|
||||
let g:loaded_vimwiki_tbl_auto = 1
|
||||
|
||||
|
||||
let s:textwidth = &tw
|
||||
let s:textwidth = &textwidth
|
||||
|
||||
|
||||
function! s:rxSep()
|
||||
function! s:rxSep() abort
|
||||
return vimwiki#vars#get_syntaxlocal('rxTableSep')
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:wide_len(str)
|
||||
function! s:wide_len(str) abort
|
||||
" vim73 has new function that gives correct string width.
|
||||
if exists("*strdisplaywidth")
|
||||
if exists('*strdisplaywidth')
|
||||
return strdisplaywidth(a:str)
|
||||
endif
|
||||
|
||||
@ -36,8 +36,8 @@ function! s:wide_len(str)
|
||||
let savemodified = &modified
|
||||
let save_cursor = getpos('.')
|
||||
exe "norm! o\<esc>"
|
||||
call setline(line("."), a:str)
|
||||
let ret = virtcol("$") - 1
|
||||
call setline(line('.'), a:str)
|
||||
let ret = virtcol('$') - 1
|
||||
d
|
||||
call setpos('.', save_cursor)
|
||||
let &modified = savemodified
|
||||
@ -46,51 +46,46 @@ function! s:wide_len(str)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:cell_splitter()
|
||||
function! s:cell_splitter() abort
|
||||
return '\s*'.s:rxSep().'\s*'
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:sep_splitter()
|
||||
function! s:sep_splitter() abort
|
||||
return '-'.s:rxSep().'-'
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:is_table(line)
|
||||
function! s:is_table(line) abort
|
||||
return s:is_separator(a:line) ||
|
||||
\ (a:line !~# s:rxSep().s:rxSep() && a:line =~# '^\s*'.s:rxSep().'.\+'.s:rxSep().'\s*$')
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:is_separator(line)
|
||||
function! s:is_separator(line) abort
|
||||
return a:line =~# '^\s*'.s:rxSep().'\(:\=--\+:\='.s:rxSep().'\)\+\s*$'
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:is_separator_tail(line)
|
||||
function! s:is_separator_tail(line) abort
|
||||
return a:line =~# '^\{-1}\%(\s*\|-*\)\%('.s:rxSep().'-\+\)\+'.s:rxSep().'\s*$'
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:is_last_column(lnum, cnum)
|
||||
return a:line =~# '^\{-1}\%(\s*\|-*\)\%('.s:rxSep().'-\+\)\+'.s:rxSep().'\s*$'
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:is_last_column(lnum, cnum)
|
||||
function! s:is_last_column(lnum, cnum) abort
|
||||
let line = strpart(getline(a:lnum), a:cnum - 1)
|
||||
return line =~# s:rxSep().'\s*$' && line !~# s:rxSep().'.*'.s:rxSep().'\s*$'
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:is_first_column(lnum, cnum)
|
||||
function! s:is_first_column(lnum, cnum) abort
|
||||
let line = strpart(getline(a:lnum), 0, a:cnum - 1)
|
||||
return line =~# '^\s*$' ||
|
||||
\ (line =~# '^\s*'.s:rxSep() && line !~# '^\s*'.s:rxSep().'.*'.s:rxSep())
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:count_separators_up(lnum)
|
||||
function! s:count_separators_up(lnum) abort
|
||||
let lnum = a:lnum - 1
|
||||
while lnum > 1
|
||||
if !s:is_separator(getline(lnum))
|
||||
@ -103,7 +98,7 @@ function! s:count_separators_up(lnum)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:count_separators_down(lnum)
|
||||
function! s:count_separators_down(lnum) abort
|
||||
let lnum = a:lnum + 1
|
||||
while lnum < line('$')
|
||||
if !s:is_separator(getline(lnum))
|
||||
@ -116,9 +111,9 @@ function! s:count_separators_down(lnum)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:create_empty_row(cols)
|
||||
function! s:create_empty_row(cols) abort
|
||||
let row = s:rxSep()
|
||||
let cell = " ".s:rxSep()
|
||||
let cell = ' '.s:rxSep()
|
||||
|
||||
for c in range(a:cols)
|
||||
let row .= cell
|
||||
@ -128,9 +123,9 @@ function! s:create_empty_row(cols)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:create_row_sep(cols)
|
||||
function! s:create_row_sep(cols) abort
|
||||
let row = s:rxSep()
|
||||
let cell = "---".s:rxSep()
|
||||
let cell = '---'.s:rxSep()
|
||||
|
||||
for c in range(a:cols)
|
||||
let row .= cell
|
||||
@ -140,7 +135,7 @@ function! s:create_row_sep(cols)
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#get_cells(line, ...)
|
||||
function! vimwiki#tbl#get_cells(line, ...) abort
|
||||
let result = []
|
||||
let state = 'NONE'
|
||||
let cell_start = 0
|
||||
@ -148,23 +143,23 @@ function! vimwiki#tbl#get_cells(line, ...)
|
||||
let len = strlen(a:line) - 1
|
||||
|
||||
" 'Simple' FSM
|
||||
while state != 'CELL'
|
||||
if quote_start != 0 && state != 'CELL'
|
||||
while state !=# 'CELL'
|
||||
if quote_start != 0 && state !=# 'CELL'
|
||||
let state = 'CELL'
|
||||
endif
|
||||
for idx in range(quote_start, len)
|
||||
" The only way I know Vim can do Unicode...
|
||||
let ch = a:line[idx]
|
||||
if state ==# 'NONE'
|
||||
if ch == '|'
|
||||
if ch ==# '|'
|
||||
let cell_start = idx + 1
|
||||
let state = 'CELL'
|
||||
endif
|
||||
elseif state ==# 'CELL'
|
||||
if ch == '[' || ch == '{'
|
||||
if ch ==# '[' || ch ==# '{'
|
||||
let state = 'BEFORE_QUOTE_START'
|
||||
let quote_start = idx
|
||||
elseif ch == '|'
|
||||
elseif ch ==# '|'
|
||||
let cell = strpart(a:line, cell_start, idx - cell_start)
|
||||
if a:0 && a:1
|
||||
let cell = substitute(cell, '^ \(.*\) $', '\1', '')
|
||||
@ -175,23 +170,23 @@ function! vimwiki#tbl#get_cells(line, ...)
|
||||
let cell_start = idx + 1
|
||||
endif
|
||||
elseif state ==# 'BEFORE_QUOTE_START'
|
||||
if ch == '[' || ch == '{'
|
||||
if ch ==# '[' || ch ==# '{'
|
||||
let state = 'QUOTE'
|
||||
let quote_start = idx
|
||||
else
|
||||
let state = 'CELL'
|
||||
endif
|
||||
elseif state ==# 'QUOTE'
|
||||
if ch == ']' || ch == '}'
|
||||
if ch ==# ']' || ch ==# '}'
|
||||
let state = 'BEFORE_QUOTE_END'
|
||||
endif
|
||||
elseif state ==# 'BEFORE_QUOTE_END'
|
||||
if ch == ']' || ch == '}'
|
||||
if ch ==# ']' || ch ==# '}'
|
||||
let state = 'CELL'
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
if state == 'NONE'
|
||||
if state ==# 'NONE'
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
@ -200,12 +195,12 @@ function! vimwiki#tbl#get_cells(line, ...)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:col_count(lnum)
|
||||
function! s:col_count(lnum) abort
|
||||
return len(vimwiki#tbl#get_cells(getline(a:lnum)))
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:get_indent(lnum, depth)
|
||||
function! s:get_indent(lnum, depth) abort
|
||||
if !s:is_table(getline(a:lnum))
|
||||
return
|
||||
endif
|
||||
@ -229,7 +224,7 @@ function! s:get_indent(lnum, depth)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:get_rows(lnum, ...)
|
||||
function! s:get_rows(lnum, ...) abort
|
||||
if !s:is_table(getline(a:lnum))
|
||||
return
|
||||
endif
|
||||
@ -268,7 +263,7 @@ function! s:get_rows(lnum, ...)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:get_cell_aligns(lnum, ...)
|
||||
function! s:get_cell_aligns(lnum, ...) abort
|
||||
let aligns = {}
|
||||
let depth = a:0 > 0 ? a:1 : 0
|
||||
for [lnum, row] in s:get_rows(a:lnum, depth)
|
||||
@ -297,7 +292,7 @@ function! s:get_cell_aligns(lnum, ...)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:get_cell_aligns_fast(rows)
|
||||
function! s:get_cell_aligns_fast(rows) abort
|
||||
let aligns = {}
|
||||
let clen = 0
|
||||
for [lnum, row] in a:rows
|
||||
@ -333,7 +328,7 @@ function! s:get_cell_aligns_fast(rows)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:get_cell_max_lens(lnum, ...)
|
||||
function! s:get_cell_max_lens(lnum, ...) abort
|
||||
let max_lens = {}
|
||||
let rows = a:0 > 2 ? a:3 : s:get_rows(a:lnum)
|
||||
for [lnum, row] in rows
|
||||
@ -354,7 +349,7 @@ function! s:get_cell_max_lens(lnum, ...)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:get_aligned_rows(lnum, col1, col2, depth)
|
||||
function! s:get_aligned_rows(lnum, col1, col2, depth) abort
|
||||
let rows = []
|
||||
let aligns = {}
|
||||
let startlnum = 0
|
||||
@ -423,7 +418,7 @@ endfunction
|
||||
|
||||
|
||||
" Number of the current column. Starts from 0.
|
||||
function! s:cur_column()
|
||||
function! s:cur_column() abort
|
||||
let line = getline('.')
|
||||
if !s:is_table(line)
|
||||
return -1
|
||||
@ -443,16 +438,16 @@ function! s:cur_column()
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:fmt_cell(cell, max_len, align)
|
||||
function! s:fmt_cell(cell, max_len, align) abort
|
||||
let cell = ' '.a:cell.' '
|
||||
|
||||
let diff = a:max_len - s:wide_len(a:cell)
|
||||
if diff == 0 && empty(a:cell)
|
||||
let diff = 1
|
||||
endif
|
||||
if a:align == 'left'
|
||||
if a:align ==# 'left'
|
||||
let cell .= repeat(' ', diff)
|
||||
elseif a:align == 'right'
|
||||
elseif a:align ==# 'right'
|
||||
let cell = repeat(' ',diff).cell
|
||||
else
|
||||
let cell = repeat(' ',diff/2).cell.repeat(' ',diff-diff/2)
|
||||
@ -461,7 +456,7 @@ function! s:fmt_cell(cell, max_len, align)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:fmt_row(cells, max_lens, aligns, col1, col2)
|
||||
function! s:fmt_row(cells, max_lens, aligns, col1, col2) abort
|
||||
let new_line = s:rxSep()
|
||||
for idx in range(len(a:cells))
|
||||
if idx == a:col1
|
||||
@ -482,16 +477,16 @@ function! s:fmt_row(cells, max_lens, aligns, col1, col2)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:fmt_cell_sep(max_len, align)
|
||||
function! s:fmt_cell_sep(max_len, align) abort
|
||||
let cell = ''
|
||||
if a:max_len == 0
|
||||
let cell .= '-'
|
||||
else
|
||||
let cell .= repeat('-', a:max_len)
|
||||
endif
|
||||
if a:align == 'right'
|
||||
if a:align ==# 'right'
|
||||
return cell.'-:'
|
||||
elseif a:align == 'left'
|
||||
elseif a:align ==# 'left'
|
||||
return cell.'--'
|
||||
else
|
||||
return ':'.cell.':'
|
||||
@ -499,7 +494,7 @@ function! s:fmt_cell_sep(max_len, align)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:fmt_sep(max_lens, aligns, col1, col2)
|
||||
function! s:fmt_sep(max_lens, aligns, col1, col2) abort
|
||||
let new_line = s:rxSep()
|
||||
for idx in range(len(a:max_lens))
|
||||
if idx == a:col1
|
||||
@ -513,42 +508,42 @@ function! s:fmt_sep(max_lens, aligns, col1, col2)
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:kbd_create_new_row(cols, goto_first)
|
||||
function! s:kbd_create_new_row(cols, goto_first) abort
|
||||
let cmd = "\<ESC>o".s:create_empty_row(a:cols)
|
||||
let cmd .= "\<ESC>:call vimwiki#tbl#format(line('.'), 2)\<CR>"
|
||||
let cmd .= "\<ESC>0"
|
||||
if a:goto_first
|
||||
let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'c', line('.'))\<CR>"
|
||||
else
|
||||
let cmd .= (col('.')-1)."l"
|
||||
let cmd .= (col('.')-1).'l'
|
||||
let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'bc', line('.'))\<CR>"
|
||||
endif
|
||||
let cmd .= "a"
|
||||
let cmd .= 'a'
|
||||
|
||||
return cmd
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:kbd_goto_next_row()
|
||||
function! s:kbd_goto_next_row() abort
|
||||
let cmd = "\<ESC>j"
|
||||
let cmd .= ":call search('.\\(".s:rxSep()."\\)', 'c', line('.'))\<CR>"
|
||||
let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'bc', line('.'))\<CR>"
|
||||
let cmd .= "a"
|
||||
let cmd .= 'a'
|
||||
return cmd
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:kbd_goto_prev_row()
|
||||
function! s:kbd_goto_prev_row() abort
|
||||
let cmd = "\<ESC>k"
|
||||
let cmd .= ":call search('.\\(".s:rxSep()."\\)', 'c', line('.'))\<CR>"
|
||||
let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'bc', line('.'))\<CR>"
|
||||
let cmd .= "a"
|
||||
let cmd .= 'a'
|
||||
return cmd
|
||||
endfunction
|
||||
|
||||
|
||||
" Used in s:kbd_goto_next_col
|
||||
function! vimwiki#tbl#goto_next_col()
|
||||
function! vimwiki#tbl#goto_next_col() abort
|
||||
let curcol = virtcol('.')
|
||||
let lnum = line('.')
|
||||
let depth = 2
|
||||
@ -571,11 +566,11 @@ function! vimwiki#tbl#goto_next_col()
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:kbd_goto_next_col(jumpdown)
|
||||
function! s:kbd_goto_next_col(jumpdown) abort
|
||||
let cmd = "\<ESC>"
|
||||
if a:jumpdown
|
||||
let seps = s:count_separators_down(line('.'))
|
||||
let cmd .= seps."j0"
|
||||
let cmd .= seps.'j0'
|
||||
endif
|
||||
let cmd .= ":call vimwiki#tbl#goto_next_col()\<CR>a"
|
||||
return cmd
|
||||
@ -583,7 +578,7 @@ endfunction
|
||||
|
||||
|
||||
" Used in s:kbd_goto_prev_col
|
||||
function! vimwiki#tbl#goto_prev_col()
|
||||
function! vimwiki#tbl#goto_prev_col() abort
|
||||
let curcol = virtcol('.')
|
||||
let lnum = line('.')
|
||||
let depth = 2
|
||||
@ -612,12 +607,12 @@ function! vimwiki#tbl#goto_prev_col()
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:kbd_goto_prev_col(jumpup)
|
||||
function! s:kbd_goto_prev_col(jumpup) abort
|
||||
let cmd = "\<ESC>"
|
||||
if a:jumpup
|
||||
let seps = s:count_separators_up(line('.'))
|
||||
let cmd .= seps."k"
|
||||
let cmd .= "$"
|
||||
let cmd .= seps.'k'
|
||||
let cmd .= '$'
|
||||
endif
|
||||
let cmd .= ":call vimwiki#tbl#goto_prev_col()\<CR>a"
|
||||
" let cmd .= ":call search('\\(".s:rxSep()."\\)\\zs', 'b', line('.'))\<CR>"
|
||||
@ -627,10 +622,10 @@ function! s:kbd_goto_prev_col(jumpup)
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#kbd_cr()
|
||||
function! vimwiki#tbl#kbd_cr() abort
|
||||
let lnum = line('.')
|
||||
if !s:is_table(getline(lnum))
|
||||
return ""
|
||||
return ''
|
||||
endif
|
||||
|
||||
if s:is_separator(getline(lnum+1)) || !s:is_table(getline(lnum+1))
|
||||
@ -642,7 +637,7 @@ function! vimwiki#tbl#kbd_cr()
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#kbd_tab()
|
||||
function! vimwiki#tbl#kbd_tab() abort
|
||||
let lnum = line('.')
|
||||
if !s:is_table(getline(lnum))
|
||||
return "\<Tab>"
|
||||
@ -659,7 +654,7 @@ function! vimwiki#tbl#kbd_tab()
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#kbd_shift_tab()
|
||||
function! vimwiki#tbl#kbd_shift_tab() abort
|
||||
let lnum = line('.')
|
||||
if !s:is_table(getline(lnum))
|
||||
return "\<S-Tab>"
|
||||
@ -669,13 +664,13 @@ function! vimwiki#tbl#kbd_shift_tab()
|
||||
let is_sep = s:is_separator_tail(getline(lnum))
|
||||
"echomsg "DEBUG kbd_tab> ".first
|
||||
if (is_sep || first) && !s:is_table(getline(lnum-1))
|
||||
return ""
|
||||
return ''
|
||||
endif
|
||||
return s:kbd_goto_prev_col(is_sep || first)
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#format(lnum, ...)
|
||||
function! vimwiki#tbl#format(lnum, ...) abort
|
||||
if !(&filetype ==? 'vimwiki')
|
||||
return
|
||||
endif
|
||||
@ -709,11 +704,11 @@ function! vimwiki#tbl#format(lnum, ...)
|
||||
endif
|
||||
endfor
|
||||
|
||||
let &tw = s:textwidth
|
||||
let &textwidth = s:textwidth
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#create(...)
|
||||
function! vimwiki#tbl#create(...) abort
|
||||
if a:0 > 1
|
||||
let cols = a:1
|
||||
let rows = a:2
|
||||
@ -749,7 +744,7 @@ function! vimwiki#tbl#create(...)
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#align_or_cmd(cmd, ...)
|
||||
function! vimwiki#tbl#align_or_cmd(cmd, ...) abort
|
||||
if s:is_table(getline('.'))
|
||||
call call('vimwiki#tbl#format', [line('.')] + a:000)
|
||||
else
|
||||
@ -758,7 +753,7 @@ function! vimwiki#tbl#align_or_cmd(cmd, ...)
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#reset_tw(lnum)
|
||||
function! vimwiki#tbl#reset_tw(lnum) abort
|
||||
if !(&filetype ==? 'vimwiki')
|
||||
return
|
||||
endif
|
||||
@ -767,13 +762,13 @@ function! vimwiki#tbl#reset_tw(lnum)
|
||||
return
|
||||
endif
|
||||
|
||||
let s:textwidth = &tw
|
||||
let &tw = 0
|
||||
let s:textwidth = &textwidth
|
||||
let &textwidth = 0
|
||||
endfunction
|
||||
|
||||
|
||||
" TODO: move_column_left and move_column_right are good candidates to be refactored.
|
||||
function! vimwiki#tbl#move_column_left()
|
||||
function! vimwiki#tbl#move_column_left() abort
|
||||
|
||||
"echomsg "DEBUG move_column_left: "
|
||||
|
||||
@ -808,7 +803,7 @@ function! vimwiki#tbl#move_column_left()
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#move_column_right()
|
||||
function! vimwiki#tbl#move_column_right() abort
|
||||
|
||||
let line = getline('.')
|
||||
|
||||
@ -840,27 +835,27 @@ function! vimwiki#tbl#move_column_right()
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#get_rows(lnum)
|
||||
function! vimwiki#tbl#get_rows(lnum) abort
|
||||
return s:get_rows(a:lnum)
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#is_table(line)
|
||||
function! vimwiki#tbl#is_table(line) abort
|
||||
return s:is_table(a:line)
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#is_separator(line)
|
||||
function! vimwiki#tbl#is_separator(line) abort
|
||||
return s:is_separator(a:line)
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#cell_splitter()
|
||||
function! vimwiki#tbl#cell_splitter() abort
|
||||
return s:cell_splitter()
|
||||
endfunction
|
||||
|
||||
|
||||
function! vimwiki#tbl#sep_splitter()
|
||||
function! vimwiki#tbl#sep_splitter() abort
|
||||
return s:sep_splitter()
|
||||
endfunction
|
||||
|
||||
|
Reference in New Issue
Block a user