vim-signify/autoload/sy/util.vim
Marco Hinz 330dffd2dd Refactoring + %d and %f modifiers for commands
%d gets replaced by the difftool
%f gets replaced by the actual file
2015-05-19 14:01:29 +02:00

54 lines
1.0 KiB
VimL

" vim: et sw=2 sts=2
scriptencoding utf-8
" Function: #separator {{{1
function! sy#util#separator() abort
return !exists('+shellslash') || &shellslash ? '/' : '\'
endfunction
" Function: #refresh_windows {{{1
function! sy#util#refresh_windows() abort
let winnr = winnr()
windo if exists('b:sy') | call sy#start() | endif
execute winnr .'wincmd w'
endfunction
" Function: #hunk_text_object {{{1
function! sy#util#hunk_text_object(emptylines) abort
if !exists('b:sy')
return
endif
let lnum = line('.')
let hunks = filter(copy(b:sy.hunks), 'v:val.start <= lnum && v:val.end >= lnum')
if empty(hunks)
return
endif
execute hunks[0].start
normal! V
if a:emptylines
let lnum = hunks[0].end
while getline(lnum+1) =~ '^$'
let lnum += 1
endwhile
execute lnum
else
execute hunks[0].end
endif
endfunction
" Function: #devnull {{{1
function! sy#util#devnull() abort
if has('win32') || has ('win64')
let null = 'NUL'
else
let null = '/dev/null'
endif
return null
endfunction