1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-03-26 04:00:29 +08:00
2018-12-27 23:06:41 +08:00

40 lines
734 B
VimL

let s:self = {}
let s:self.begin = ''
let s:self.end = ''
let s:self.content_func = ''
let s:self.autoformat = 0
function! s:self._find_position() abort
let start = search(self.begin,'bwnc')
let end = search(self.end,'bnwc')
return sort([start, end], 'n')
endfunction
function! s:self.update(...) abort
let [start, end] = self._find_position()
if start != 0 && end != 0
if end - start > 1
exe (start + 1) . ',' . (end - 1) . 'delete'
endif
call append(start, call(self.content_func, a:000))
if self.autoformat
silent! Neoformat
endif
endif
endfunction
function! SpaceVim#api#dev#autodoc#get() abort
return deepcopy(s:self)
endfunction