Seems to be exactly as in #440, but the problem is back.
Note this only seems to be in master, it seems fine in 5.1. Unfortunately I am still using Vundle which always pulls master.
Please don't ignore issue template.
I can close the issue.
Note this only seems to be in master, it seems fine in 5.1. Unfortunately I am still using Vundle which always pulls master.
Why don't you execute git bisect?
I think git bisect is easy.
Because, the diff is not so huge.
But I cannot execute git bisect.
I cannot reproduce the problem.
You need to upload the minimal vimrc with the reproducible instructions.
It is required to reproduce the problem.
I'm seeing this as well. It's either because of something introduced in 93722cc5d0a1877fdad0845330b3a41c5e392a34 or 19a089acb7d007b0ad573eca1b5828740870816b. Reverting those two changes gets me back to the existing behavior.
Sorry for not being more helpful, when I first posted this I was in a hurry and I figured the reference to the previous issue would be enough.
This happens for me on current master, but not on 5.1. I can reproduce simply by typing in anything that brings up a deoplete completion box. When doing so, very quickly the box will disappear as if the first (I think it's always the first) option was chosen. Don't know exactly what commit it's coming from yet.
I'm also facing this issue. Check the gif image (sorry for the wrong colors)
I didn't select any of these const

Example project:
https://github.com/rsslldnphy/nvim-typescript-issue
Also this is the minimal .vimrc
" Vim-Plug
Plug 'HerringtonDarkholme/yats.vim'
Plug 'mhartington/nvim-typescript', {'do': './install.sh'}
Plug 'Shougo/deoplete.nvim'
Plug 'Shougo/denite.nvim'
" Enable deoplete at startup
let g:deoplete#enable_at_startup = 1
Same problem here. Also, my completion box is trembling now, for some reason. As if the fetching was still in progress and never stopped.
OK. I get it.
@ExpandingMan you should git pull the last commit solve the problem
With minimal config
Regards thanks @Shougo
I'm getting similar behavior with the latest commit (5176768). Here is my .vimrc:
https://github.com/good-idea/dotfiles/blob/master/vim/vimrc.vim
It's hard to reproduce it exactly - but I believe it's the same issue. I'll be typing something like return, and it will autocomplete in the middle of my keystrokes, i.e. after typing just ret. As a result, I end up with something like returnturn.
If I clear the line and begin typing the same thing, it doesn't happen again - so I'm not sure exactly how to get it to happen consistently.
Here are some logs of an instance of this happening: I had typed ... on Im and it automatically completed to ...on ImageTextSection - i typed two more characters and ended up with ...on ImageTextSectionag
https://gist.github.com/good-idea/beb0280b6e1d063db4a3d56ccbeed7b1#file-deoplete-log-L4687:L4765
(I have highlighted the lines where it looks like the unintended autocomplete happened)
Unfortunately, I cannot fix the problem completely.
Deoplete is asynchronous completion plugin.
It way conflict with your input.
I think it is not related the problem.
You should create the minimal vimrc to reproduce the problem.
Thanks for your fast response, I'll put together a minimal vimrc tomorrow.
In the meantime, it looks like the conflict is only happening with the source from nvim-typescript (repo). I deleted its /rplugin/python3/deoplete/sources and the issue has stopped.
nvim-typescript is asynchronous source and it may be conflicted.
@good-idea
Please test the latest version of deoplete and #1018
I have the same issue with rust language server, when using LanguageClient-neovim.
Sometimes deoplete autocompletes a word without my permission. I'm not yet sure what is the exact time that it happens.
EDIT:
Like @good-idea, I could not create a minimal vimrc to show the problem because it happens in arbitrary times. I do have a clue though: I'm pretty sure that at the 16.7.2019 I didn't yet have this problem (I took a break from my rust project), but after I returned to my rust project and updated all my nvim packages, about at 26.9.2019, I got this problem.
@Shougo , sorry I never followed up from your last comment -
I'm still experiencing this issue. I have been trying to minimize my vimrc to show you something reproducible (or figure out if it is a problem with another plugin), but it's difficult because the problem doesn't occur at any specific time.
This mostly happens with my Typescript autocomplete (via nvim-typescript) but it did happen a couple other times when editing other types of files.
Please use the latest version of deoplete.
I have updated from the last comment.
If you don't upload the minimal, I don't work for you unfortunately.
Please read other issues.
@Shougo : This is what I have in my vimrc:
" RLS related, see: https://github.com/autozimu/LanguageClient-neovim
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'bash install.sh',
\ }
" (Optional) Multi-entry selection UI.
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
I ran PlugUpdate. Does this mean that I am using the latest version of deoplete? If not, what should I do to use the latest version? I am still experiencing the problem.
I think that it is a good idea to reopen this issue. If other people are having the same problem it might be helpful if they can find this issue too.
I ran PlugUpdate. Does this mean that I am using the latest version of deoplete?
Yes. But you should check deoplete's commit hash.
This is what I have in my vimrc:
This is not the minimal vimrc I have desired.
I think that it is a good idea to reopen this issue. If other people are having the same problem it might be helpful if they can find this issue too.
Hmm.. I can reopen this.
But I don't work for the problem without minimal vimrc and reproduce instructions.
@realcr Please read the issue.
https://github.com/Shougo/deoplete.nvim/issues/1026
You need to provide more information.
@Shougo: I have the same issue with the latest version of deoplete with Clangd language server, when using LanguageClient-neovim. deoplete frequently autocompletes a word without my permission. I have found that if I set call deoplete#custom#option({'auto_complete_delay' : 50,}), the issue mostly goes away. However, this setting does significantly slow down completion suggestions from LanguageClient-neovim.
Hm.
https://github.com/Shougo/deoplete.nvim/issues/1013#issuecomment-542780551
LanguageClient-neovim is also asynchronous plugin.
It may be conflicted.
Deprecated is_async source feature seems affected.
I think the documentation should be updated.
@dnguyen85 What is your Vim/neovim version?
Please test the latest version of deoplete and Vim/neovim.
I have added selected check. It may fix the problem.
@dnguyen85 Please test git bisect. I may implement good fallback system for it.
Hi @Shougo. Firstly, thank you very much for the many awesome vim plugins. Much appreciated.
It seems that you cannot nicely reproduce this. Here is the smallest .vimrc I could make to reproduce this reliably.
"NeoBundle Scripts-----------------------------
if has('vim_starting')
if &compatible
set nocompatible " Be iMproved
endif
endif
if has('eval') " load plugins only if running full vim
call plug#begin('~/.vim/plugged')
" dark powered neo-complete
if has('nvim')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
Plug 'Shougo/deoplete.nvim'
Plug 'roxma/nvim-yarp'
" On arch vim-hug requires greenlet which needs to be install using pacman and
" not pip. "pacman -S python-greenlet"
Plug 'roxma/vim-hug-neovim-rpc'
endif
Plug 'fatih/vim-go', { 'for': 'go', 'do': ':GoUpdateBinaries' }
" Required:
call plug#end()
endif
syntax enable
set smartindent
set autoindent
nmap <SPACE> :
imap jj <ESC>
autocmd FileType go setlocal noexpandtab shiftwidth=4 tabstop=4 softtabstop=4
" Deoplete
let g:deoplete#enable_at_startup = 1
" This instructs deoplete to use omni completion for Go files. omni is provided by vim-go
call deoplete#custom#option('omni_patterns', { 'go': '[^. *\t]\.\w*' })
" vim-go
let g:go_code_completion_enabled = 1
let g:go_auto_type_info = 1
let g:go_doc_popup_window = 1
let g:go_metalinter_autosave = 0
let g:go_fmt_fail_silently = 1
" Set all output to "quickfix" or "locationlist"
let g:go_list_type = "quickfix"
let g:go_list_type_commands = {"GoBuild":"quickfix"}
let g:go_highlight_space_tab_error = 1
" autocomplete with longest common portion, then show alternatives in a menu
set completeopt=menu
imap <expr><TAB>
\ pumvisible() ? "\<C-n>" :
\ "\<TAB>"
smap <expr><TAB>
\ pumvisible() ? "\<C-n>" :
\ "\<TAB>"
imap <expr><S-TAB>
\ pumvisible() ? "\<C-p>" :
\ "\<S-TAB>"
smap <expr><TAB>
\ pumvisible() ? "\<C-p>" :
\ "\<TAB>"
imap <expr><CR>
\ pumvisible() ? "\<C-y>" :
\ "\<CR>"
smap <expr><CR>
\ pumvisible() ? "\<C-y>" :
\ "\<CR>"
" update interval for gitgutter and similar
set updatetime=250
To reproduce, you will also need a source file. Here is small test.go
package main
type Dummy interface {
One()
Two()
Three()
}
func main() {
var a Dummy
var b Dummy
var c Dummy
var d Dummy
var e Dummy
a.One()
b.One()
c.One()
d.One()
e.One()
}
Steps to reproduce:
cwTwo - this is the line when the problem occurs; about 50% of the time I get a.Two() and other a.OneTwo()I also get another problem, which I think is related:
* - this will move cursor to 17,4cwTwo - this will replace 17,4 to a.Two()*. - this will replace 18,4 to c.Two()*. - this will leave 19,4 to d.One(), but I expected d.Two()*. - this will leave 20,4 to e.One(), but I expected d.Two()Versions:
deoplete.nvim: 494fcd8f311fb394d81921b63797e963c7d642a3
vim-go: 14382b346ea03615bfb03115679c8a48bbf03af2
I will test it later. But omni_patterns may be conflicted with deoplete.
It is used for deprecated plugins.
Reproduced. You need to set noselect.
set completeopt=menu,noselect
deoplete now checks completeopt value.
Thanks @Shougo, noselect solves the original problem where autocomplete completes unintentionally, at least for me.
In my description above, I also show another problem, which I thought was related, but it still persists after noselect. Search for cwTwo in my comment. Do you want me to re-post it as a separate issue?
You need to create new issue with minimal vimrc.
Your uploaded vimrc is not real minimal vimrc.
You need to more reduce the code.
Most helpful comment
Reproduced. You need to set noselect.