forked from aniani/vim
patch 7.4.1945
Problem: The Man plugin doesn't work that well.
Solution: Use "g:ft_man_open_mode" to be able open man pages in vert split
or separate tab. Set nomodifiable for buffer with man content. Add
a test. (Andrey Starodubtsev, closes #873)
This commit is contained in:
59
src/testdir/test_man.vim
Normal file
59
src/testdir/test_man.vim
Normal file
@@ -0,0 +1,59 @@
|
||||
runtime ftplugin/man.vim
|
||||
|
||||
function Test_g_ft_man_open_mode()
|
||||
let l:w = winwidth(1)
|
||||
vnew
|
||||
let l:h = winheight(1)
|
||||
q
|
||||
|
||||
" split horizontally
|
||||
let wincnt = winnr('$')
|
||||
Man 'vim'
|
||||
if wincnt == winnr('$')
|
||||
" Vim manual page cannot be found.
|
||||
return
|
||||
endif
|
||||
call assert_equal(l:w, winwidth(1))
|
||||
call assert_true(l:h > winheight(1))
|
||||
call assert_equal(1, tabpagenr('$'))
|
||||
call assert_equal(1, tabpagenr())
|
||||
q
|
||||
|
||||
" split horizontally
|
||||
let g:ft_man_open_mode = "horz"
|
||||
Man 'vim'
|
||||
call assert_equal(l:w, winwidth(1))
|
||||
call assert_true(l:h > winheight(1))
|
||||
call assert_equal(1, tabpagenr('$'))
|
||||
call assert_equal(1, tabpagenr())
|
||||
q
|
||||
|
||||
" split vertically
|
||||
let g:ft_man_open_mode = "vert"
|
||||
Man 'vim'
|
||||
call assert_true(l:w > winwidth(1))
|
||||
call assert_equal(l:h, winheight(1))
|
||||
call assert_equal(1, tabpagenr('$'))
|
||||
call assert_equal(1, tabpagenr())
|
||||
q
|
||||
|
||||
" separate tab
|
||||
let g:ft_man_open_mode = "tab"
|
||||
Man 'vim'
|
||||
call assert_equal(l:w, winwidth(1))
|
||||
call assert_equal(l:h, winheight(1))
|
||||
call assert_equal(2, tabpagenr('$'))
|
||||
call assert_equal(2, tabpagenr())
|
||||
q
|
||||
endfunction
|
||||
|
||||
function Test_nomodifiable()
|
||||
let wincnt = winnr('$')
|
||||
Man 'vim'
|
||||
if wincnt == winnr('$')
|
||||
" Vim manual page cannot be found.
|
||||
return
|
||||
endif
|
||||
call assert_false(&l:modifiable)
|
||||
q
|
||||
endfunction
|
||||
Reference in New Issue
Block a user