1
0
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:
Bram Moolenaar
2016-06-20 11:22:54 +02:00
parent b5b95750a6
commit ddf8d1c746
4 changed files with 81 additions and 3 deletions

59
src/testdir/test_man.vim Normal file
View 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