Mercurial > vim
view src/testdir/test_man.vim @ 32996:dd8da8f1c2bc v9.0.1790
patch 9.0.1790: Redundant LSP Content-Type header
Commit: https://github.com/vim/vim/commit/8fbd9449e71f2ad93e594be575209a7424eb093e
Author: Magnus Gro? <magnus@mggross.com>
Date: Sun Aug 27 00:49:51 2023 +0200
patch 9.0.1790: Redundant LSP Content-Type header
Problem: The Content-Type header is an optional header that some LSP
servers struggle with and may crash when encountering it.
Solution: Drop the Content-Type header from all messages, because we use
the default value anyway.
Because pretty much all popular LSP clients (e.g. coc.nvim, VSCode) do
not send the Content-Type header, the LSP server ecosystem has developed
such that some LSP servers may even crash when encountering it.
To improve compatibility with these misbehaving LSP servers, we drop
this header as well.
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Magnus Gro? <magnus@mggross.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 27 Aug 2023 11:15:03 +0200 |
parents | 3aaaa65dcf6e |
children |
line wrap: on
line source
" Test specifically for the Man filetype plugin. runtime ftplugin/man.vim func Test_g_ft_man_open_mode() vnew let l:h = winheight(1) q let l:w = winwidth(1) " split horizontally let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif call assert_inrange(l:w - 2, l:w + 2, 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_inrange(l:w - 2, l:w + 2, 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_inrange(l:w - 2, l:w + 2, winwidth(1)) call assert_inrange(l:h - 1, l:h + 1, winheight(1)) call assert_equal(2, tabpagenr('$')) call assert_equal(2, tabpagenr()) q unlet g:ft_man_open_mode endfunc func Test_nomodifiable() let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif call assert_false(&l:modifiable) q endfunc func Test_buffer_count_hidden() %bw! set hidden call assert_equal(1, len(getbufinfo())) let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif call assert_equal(1, len(getbufinfo({'buflisted':1}))) call assert_equal(2, len(getbufinfo())) q Man vim call assert_equal(1, len(getbufinfo({'buflisted':1}))) call assert_equal(2, len(getbufinfo())) q set hidden& endfunc " Check that we do not alter the settings in the initial window. func Test_local_options() %bw! set foldcolumn=1 number let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif " man page call assert_false(&nu) call assert_equal(0, &fdc) " initial window wincmd p call assert_true(&nu) call assert_equal(1, &fdc) %bw! set foldcolumn& number& endfunc " Check that the unnamed register is not overwritten. func Test_keep_unnamed_register() %bw! let @" = '---' let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif call assert_equal('---', @") %bw! endfunc " Check that underlying shell command arguments are escaped. func Test_Man_uses_shellescape() Man `touch\ Xbar` `touch\ Xfoo` redir => msg 1messages redir END call assert_match('no manual entry for "`touch Xfoo`"', msg) call assert_false(filereadable('Xbar')) call assert_false(filereadable('Xfoo')) endfunc " vim: shiftwidth=2 sts=2 expandtab