matsui54 / denops-signature_help

Shows signature help from lsp server.
MIT License
63 stars 9 forks source link

When using virtual in vimls on Neovim, the display is broken. #2

Closed tamago324 closed 2 years ago

tamago324 commented 2 years ago

Describe the bug

When using vimls in Neovim, if specify "virtual" in g:signature_help_config.style and enter , after the last argument, the display is broken.

To Reproduce using nvim -u mini.vim -i NONE

set encoding=utf-8

filetype plugin indent on
if has('vim_starting')
  let s:pluin_manager_dir='~/.config/nvim/.plugged/vim-plug'
  execute 'set runtimepath+=' . s:pluin_manager_dir
endif
call plug#begin('~/.config/nvim/.plugged')
Plug 'vim-denops/denops.vim'
Plug 'matsui54/denops-signature_help'
Plug 'neovim/nvim-lspconfig'
Plug 'williamboman/nvim-lsp-installer'
call plug#end()

set nobackup
set nowritebackup
set noswapfile
set updatecount=0
set backspace=indent,eol,start
language messages en_US.utf8

nnoremap <Space><Space> :
nnoremap <Space><Tab> <Cmd>quit<CR>
nnoremap <Space><S-Tab> <Cmd>quit!<CR>
inoremap <C-r><C-r> <C-r>+
cnoremap <C-o>      <C-r>+

call signature_help#enable()

let g:signature_help_config = {
\  "style": "virtual",
\}

lua << EOF
local lsp_installer = require'nvim-lsp-installer'
local lspconfig = require("lspconfig")

lsp_installer.on_server_ready(function(server)
  server:setup({})
end)

Steps to reproduce the behavior:

  1. nvim -u mini.vim -i NONE
  2. :LspInstall vimls
  3. Open the buffer with :e sample.vim.
  4. Enter call feedkeys("hoge",
  5. The display is broken.

Expected behavior

Can output and input text correctly even after signature help is displayed.

Screenshots

https://user-images.githubusercontent.com/16581287/149642162-2806db84-0626-4b29-bd0d-508a21f8e282.mp4

Thank you!

matsui54 commented 2 years ago

Thank you for reporting! Though the label {mode} in feedkeys({string} [, {mode}]): Number cannot be shown because of vimls's bug, the broken display is fixed.

tamago324 commented 2 years ago

So it was a bug in vimls. Thanks for the fix.