Shougo / deoplete.nvim

:stars: Dark powered asynchronous completion framework for neovim/Vim8
Other
5.93k stars 295 forks source link

Using deoplete#custom#buffer_option() results in the setting affecting all buffers, instead of only the current one #978

Closed yorickpeterse closed 5 years ago

yorickpeterse commented 5 years ago

Problems summary

When opening a third vertical split, Deoplete appears to stop working. In this issue I provide a way to reproduce this using Rust, but it also happens for other sources (keyword completion, UltiSnips snippets, etc). It works fine when only keeping two splits open

Expected

Deoplete continues to provide completions.

Environment Information

CheckHealth output ``` health#deoplete#check ======================================================================== ## deoplete.nvim - OK: exists("v:t_list") was successful - OK: has("timers") was successful - OK: has("python3") was successful - OK: Python3.6.1+ was successful - INFO: If you're still having problems, try the following commands: $ export NVIM_PYTHON_LOG_FILE=/tmp/log $ export NVIM_PYTHON_LOG_LEVEL=DEBUG $ nvim $ cat /tmp/log_{PID} and then create an issue on github health#nvim#check ======================================================================== ## Configuration - OK: no issues found ## Performance - OK: Build type: Release LuaJIT ## Remote Plugins - OK: Up to date ## terminal - INFO: key_backspace (kbs) terminfo entry: key_backspace=^H - INFO: key_dc (kdch1) terminfo entry: key_dc=\E[3~ - INFO: $VTE_VERSION='5602' - INFO: $COLORTERM='truecolor' health#provider#check ======================================================================== ## Clipboard (optional) - OK: Clipboard tool found: xclip ## Python 2 provider (optional) - INFO: Using: g:python_host_prog = "/usr/bin/python2" - INFO: Executable: /usr/bin/python2 - INFO: Python version: 2.7.16 - INFO: pynvim version: 0.1.13 (outdated; from /usr/lib/python2.7/site-packages/neovim) - WARNING: Latest pynvim is NOT installed: 0.3.2 ## Python 3 provider (optional) - INFO: Using: g:python3_host_prog = "/usr/bin/python" - INFO: Executable: /usr/bin/python - INFO: Python version: 3.7.3 - INFO: pynvim version: 0.3.2 - OK: Latest pynvim is installed. ## Ruby provider (optional) - INFO: Ruby: ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux] - WARNING: `neovim-ruby-host` not found. - ADVICE: - Run `gem install neovim` to ensure the neovim RubyGem is installed. - Run `gem environment` to ensure the gem bin directory is in $PATH. - If you are using rvm/rbenv/chruby, try "rehashing". - See :help |g:ruby_host_prog| for non-standard gem installations. ## Node.js provider (optional) - INFO: Node.js: v11.14.0 - WARNING: Missing "neovim" npm (or yarn) package. - ADVICE: - Run in shell: npm install -g neovim - Run in shell (if you use yarn): yarn global add neovim ```

Provide a minimal init.vim/vimrc with less than 50 lines (Required!)

This uses vim-plug:

let g:plug_url_format = 'git@github.com:%s.git'

call plug#begin('~/.vim/plugged')

Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'rust-lang/rust.vim'
Plug 'racer-rust/vim-racer'

call plug#end()

call deoplete#custom#option('ignore_sources', {'_': ['around', 'file', 'dictionary', 'tag', 'buffer']})

let g:deoplete#enable_at_startup = 1

set number
set splitright

How to reproduce the problem from neovim/Vim startup (Required!)

To reproduce this, you need to have Rust and racer installed, but it also happens with other completion sources (e.g. snippets)

  1. git clone https://github.com/YorickPeterse/deoplete-completion-bug.git
  2. cd deoplete-completion-bug
  3. nvim -u /tmp/minimal.vim src/main.rs
  4. :vne src/test.rs
  5. :vne README.md
  6. Move to the middle window (src/test.rs)
  7. Type std::. If you don't open the third split (README.md) this will trigger completion. With the third split, it won't happen.

Generate a logfile if appropriate

Logging output (DEBUG level) ``` 2019-05-19 23:16:19,613 INFO [28405] (deoplete.logging) --- Deoplete Log Start --- 2019-05-19 23:16:19,613 INFO [28405] (deoplete.logging) NVIM v0.3.5, Python 3.7.3, pynvim 0.3.2 2019-05-19 23:16:25,269 DEBUG [28405] (deoplete.core) initialized context: {'changedtick': 2, 'event': 'Init', 'filetype': 'rust', 'filetypes': ['rust'], 'input': '', 'max_abbr_width': 62.666666666666664, 'max_kind_width': 62.666666666666664, 'max_info_width': 62.666666666666664, 'max_menu_width': 62.666666666666664, 'next_input': '// This is just an example', 'position': [0, 1, 1, 0], 'same_filetypes': [], 'bufnr': 2, 'bufname': 'src/test.rs', 'bufpath': '/tmp/testing/src/test.rs', 'camelcase': False, 'complete_str': '', 'custom': {'filter': {}, 'source': {'_': {}}, 'option': {'camel_case': False, 'on_text_changed_i': True, 'max_list': 500, 'candidate_marks': [], 'skip_multibyte': False, 'auto_refresh_delay': 20, 'auto_complete_delay': 0, 'min_pattern_length': 2, 'yarp': False, 'profile': False, 'omni_patterns': {}, 'auto_complete': True, 'smart_case': 0, 'ignore_case': 0, 'sources': {}, 'refresh_always': True, 'num_processes': 4, 'keyword_patterns': {'_': '[a-zA-Z_]\\k*'}, 'on_insert_enter': True, 'trigger_key': '', 'skip_chars': ['(', ')'], 'prev_completion_mode': 'filter', 'ignore_sources': {'_': ['around', 'file', 'dictionary', 'tag', 'buffer']}}}, 'cwd': '/tmp/testing', 'encoding': 'utf-8', 'ignorecase': 0, 'is_windows': 0, 'smartcase': 0, 'vars': {'deoplete#enable_at_startup': 1}, 'keyword_pattern': '[a-zA-Z_][\\w@0-9_À-ÿ]*', 'sources': [], 'rpc': 'deoplete_on_event'} 2019-05-19 23:16:25,270 DEBUG [28405] (deoplete.core) on_event: Init 2019-05-19 23:16:25,272 DEBUG [28405] (deoplete.core) Process 0: /home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/buffer.py 2019-05-19 23:16:25,275 DEBUG [28405] (deoplete.core) Process 1: /home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/omni.py 2019-05-19 23:16:25,279 DEBUG [28405] (deoplete.core) Process 2: /home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/file.py 2019-05-19 23:16:25,290 DEBUG [28405] (deoplete.core) Process 3: /home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/around.py 2019-05-19 23:16:25,290 DEBUG [28405] (deoplete.core) Process 0: /home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/member.py 2019-05-19 23:16:25,291 DEBUG [28405] (deoplete.core) Process 1: /home/yorickpeterse/.vim/plugged/vim-racer/rplugin/python3/deoplete/sources/racer.py 2019-05-19 23:16:25,298 DEBUG [28405] (deoplete.core) initialized context: {'changedtick': 2, 'event': 'BufReadPost', 'filetype': 'rust', 'filetypes': ['rust'], 'input': '', 'max_abbr_width': 62.666666666666664, 'max_kind_width': 62.666666666666664, 'max_info_width': 62.666666666666664, 'max_menu_width': 62.666666666666664, 'next_input': '// This is just an example', 'position': [0, 1, 1, 0], 'same_filetypes': [], 'bufnr': 2, 'bufname': 'src/test.rs', 'bufpath': '/tmp/testing/src/test.rs', 'camelcase': False, 'complete_str': '', 'custom': {'filter': {}, 'source': {'_': {}}, 'option': {'camel_case': False, 'on_text_changed_i': True, 'max_list': 500, 'candidate_marks': [], 'skip_multibyte': False, 'auto_refresh_delay': 20, 'auto_complete_delay': 0, 'min_pattern_length': 2, 'yarp': False, 'profile': False, 'omni_patterns': {}, 'auto_complete': True, 'smart_case': 0, 'ignore_case': 0, 'sources': {}, 'refresh_always': True, 'num_processes': 4, 'keyword_patterns': {'_': '[a-zA-Z_]\\k*'}, 'on_insert_enter': True, 'trigger_key': '', 'skip_chars': ['(', ')'], 'prev_completion_mode': 'filter', 'ignore_sources': {'_': ['around', 'file', 'dictionary', 'tag', 'buffer']}}}, 'cwd': '/tmp/testing', 'encoding': 'utf-8', 'ignorecase': 0, 'is_windows': 0, 'smartcase': 0, 'vars': {'deoplete#enable_at_startup': 1}, 'keyword_pattern': '[a-zA-Z_][\\w@0-9_À-ÿ]*', 'sources': [], 'rpc': 'deoplete_on_event'} 2019-05-19 23:16:25,298 DEBUG [28405] (deoplete.core) on_event: BufReadPost 2019-05-19 23:16:25,593 INFO [28487] (deoplete.logging) --- Deoplete Log Start --- 2019-05-19 23:16:25,594 INFO [28488] (deoplete.logging) --- Deoplete Log Start --- 2019-05-19 23:16:25,594 INFO [28487] (deoplete.logging) NVIM v0.3.5, Python 3.7.3, pynvim 0.3.2 2019-05-19 23:16:25,595 INFO [28488] (deoplete.logging) NVIM v0.3.5, Python 3.7.3, pynvim 0.3.2 2019-05-19 23:16:25,596 DEBUG [28487] (deoplete.child) Loaded Source: buffer (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/buffer.py) 2019-05-19 23:16:25,596 DEBUG [28488] (deoplete.child) Loaded Source: omni (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/omni.py) 2019-05-19 23:16:25,596 DEBUG [28487] (deoplete.child) Loaded Source: member (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/member.py) 2019-05-19 23:16:25,596 DEBUG [28487] (deoplete.child) Set Source attributes: buffer 2019-05-19 23:16:25,596 DEBUG [28487] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,596 DEBUG [28487] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,596 DEBUG [28487] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,596 DEBUG [28487] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,596 DEBUG [28487] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Loaded Source: racer (/home/yorickpeterse/.vim/plugged/vim-racer/rplugin/python3/deoplete/sources/racer.py) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Set Source attributes: omni 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: mark ([B]) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: min_pattern_length (-1) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,597 DEBUG [28487] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: mark ([O]) 2019-05-19 23:16:25,597 DEBUG [28488] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Set Source attributes: member 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: min_pattern_length (0) 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Set Source attributes: racer 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: dup (True) 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: filetypes (['rust']) 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: input_pattern ((\.|::)\w*) 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,598 DEBUG [28487] (deoplete.child) Attribute: mark ([M]) 2019-05-19 23:16:25,598 DEBUG [28488] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,599 DEBUG [28487] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,599 DEBUG [28487] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: mark ([racer]) 2019-05-19 23:16:25,599 DEBUG [28487] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,599 DEBUG [28487] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,599 DEBUG [28487] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,599 DEBUG [28487] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,599 DEBUG [28487] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,599 DEBUG [28487] (deoplete.child) Attribute: min_pattern_length (0) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,599 DEBUG [28487] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: min_pattern_length (-1) 2019-05-19 23:16:25,599 DEBUG [28488] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,600 DEBUG [28487] (deoplete.child) Loaded Filter: converter_remove_paren (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_remove_paren.py) 2019-05-19 23:16:25,600 DEBUG [28487] (deoplete.child) Loaded Filter: matcher_fuzzy (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_fuzzy.py) 2019-05-19 23:16:25,600 DEBUG [28488] (deoplete.child) Loaded Filter: converter_remove_paren (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_remove_paren.py) 2019-05-19 23:16:25,600 DEBUG [28487] (deoplete.child) Loaded Filter: sorter_word (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/sorter_word.py) 2019-05-19 23:16:25,600 DEBUG [28488] (deoplete.child) Loaded Filter: matcher_fuzzy (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_fuzzy.py) 2019-05-19 23:16:25,601 DEBUG [28487] (deoplete.child) Loaded Filter: converter_truncate_info (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_info.py) 2019-05-19 23:16:25,601 DEBUG [28488] (deoplete.child) Loaded Filter: sorter_word (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/sorter_word.py) 2019-05-19 23:16:25,601 DEBUG [28487] (deoplete.child) Loaded Filter: converter_auto_paren (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_auto_paren.py) 2019-05-19 23:16:25,601 DEBUG [28488] (deoplete.child) Loaded Filter: converter_truncate_info (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_info.py) 2019-05-19 23:16:25,601 DEBUG [28487] (deoplete.child) Loaded Filter: converter_truncate_menu (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_menu.py) 2019-05-19 23:16:25,602 DEBUG [28488] (deoplete.child) Loaded Filter: converter_auto_paren (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_auto_paren.py) 2019-05-19 23:16:25,602 DEBUG [28487] (deoplete.child) Loaded Filter: matcher_head (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_head.py) 2019-05-19 23:16:25,602 DEBUG [28488] (deoplete.child) Loaded Filter: converter_truncate_menu (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_menu.py) 2019-05-19 23:16:25,602 DEBUG [28487] (deoplete.child) Loaded Filter: matcher_length (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_length.py) 2019-05-19 23:16:25,602 DEBUG [28488] (deoplete.child) Loaded Filter: matcher_head (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_head.py) 2019-05-19 23:16:25,602 DEBUG [28487] (deoplete.child) Loaded Filter: converter_remove_overlap (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_remove_overlap.py) 2019-05-19 23:16:25,602 DEBUG [28488] (deoplete.child) Loaded Filter: matcher_length (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_length.py) 2019-05-19 23:16:25,603 DEBUG [28487] (deoplete.child) Loaded Filter: converter_auto_delimiter (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_auto_delimiter.py) 2019-05-19 23:16:25,603 DEBUG [28488] (deoplete.child) Loaded Filter: converter_remove_overlap (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_remove_overlap.py) 2019-05-19 23:16:25,603 DEBUG [28487] (deoplete.child) Loaded Filter: sorter_rank (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/sorter_rank.py) 2019-05-19 23:16:25,603 DEBUG [28488] (deoplete.child) Loaded Filter: converter_auto_delimiter (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_auto_delimiter.py) 2019-05-19 23:16:25,603 DEBUG [28487] (deoplete.child) Loaded Filter: converter_reorder_attr (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_reorder_attr.py) 2019-05-19 23:16:25,603 DEBUG [28488] (deoplete.child) Loaded Filter: sorter_rank (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/sorter_rank.py) 2019-05-19 23:16:25,603 DEBUG [28487] (deoplete.child) Loaded Filter: converter_truncate_abbr (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_abbr.py) 2019-05-19 23:16:25,604 DEBUG [28488] (deoplete.child) Loaded Filter: converter_reorder_attr (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_reorder_attr.py) 2019-05-19 23:16:25,604 DEBUG [28487] (deoplete.child) Loaded Filter: matcher_full_fuzzy (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_full_fuzzy.py) 2019-05-19 23:16:25,604 DEBUG [28488] (deoplete.child) Loaded Filter: converter_truncate_abbr (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_abbr.py) 2019-05-19 23:16:25,604 DEBUG [28487] (deoplete.child) Loaded Filter: converter_truncate_kind (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_kind.py) 2019-05-19 23:16:25,604 DEBUG [28488] (deoplete.child) Loaded Filter: matcher_full_fuzzy (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_full_fuzzy.py) 2019-05-19 23:16:25,605 DEBUG [28487] (deoplete.child) Loaded Filter: matcher_cpsm (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_cpsm.py) 2019-05-19 23:16:25,605 DEBUG [28488] (deoplete.child) Loaded Filter: converter_truncate_kind (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_kind.py) 2019-05-19 23:16:25,605 DEBUG [28488] (deoplete.child) Loaded Filter: matcher_cpsm (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_cpsm.py) 2019-05-19 23:16:25,606 DEBUG [28488] (deoplete.child) on_init Source: racer 2019-05-19 23:16:25,606 DEBUG [28487] (deoplete.child) Set Source attributes: buffer 2019-05-19 23:16:25,606 DEBUG [28487] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,606 DEBUG [28487] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,606 DEBUG [28487] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,606 DEBUG [28487] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,606 DEBUG [28487] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,606 DEBUG [28487] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,606 DEBUG [28487] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,606 DEBUG [28487] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: mark ([B]) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: min_pattern_length (2) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Set Source attributes: member 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,607 DEBUG [28488] (deoplete.child) Set Source attributes: omni 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,607 DEBUG [28488] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,607 DEBUG [28487] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,607 DEBUG [28488] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,608 INFO [28489] (deoplete.logging) --- Deoplete Log Start --- 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: mark ([M]) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: mark ([O]) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: min_pattern_length (0) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,608 INFO [28489] (deoplete.logging) NVIM v0.3.5, Python 3.7.3, pynvim 0.3.2 2019-05-19 23:16:25,608 DEBUG [28487] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,608 DEBUG [28488] (deoplete.child) Attribute: min_pattern_length (0) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Set Source attributes: racer 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: dup (True) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: filetypes (['rust']) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: input_pattern ((\.|::)\w*) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: is_volatile (True) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: mark ([racer]) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,609 DEBUG [28489] (deoplete.child) Loaded Source: file (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/file.py) 2019-05-19 23:16:25,609 DEBUG [28488] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,610 DEBUG [28488] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Set Source attributes: file 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,610 DEBUG [28488] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,610 DEBUG [28488] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,610 DEBUG [28488] (deoplete.child) Attribute: min_pattern_length (2) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,610 DEBUG [28488] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: mark ([F]) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: min_pattern_length (0) 2019-05-19 23:16:25,610 DEBUG [28489] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,611 DEBUG [28489] (deoplete.child) Loaded Filter: converter_remove_paren (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_remove_paren.py) 2019-05-19 23:16:25,611 DEBUG [28489] (deoplete.child) Loaded Filter: matcher_fuzzy (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_fuzzy.py) 2019-05-19 23:16:25,611 DEBUG [28489] (deoplete.child) Loaded Filter: sorter_word (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/sorter_word.py) 2019-05-19 23:16:25,611 DEBUG [28489] (deoplete.child) Loaded Filter: converter_truncate_info (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_info.py) 2019-05-19 23:16:25,611 DEBUG [28489] (deoplete.child) Loaded Filter: converter_auto_paren (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_auto_paren.py) 2019-05-19 23:16:25,611 DEBUG [28489] (deoplete.child) Loaded Filter: converter_truncate_menu (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_menu.py) 2019-05-19 23:16:25,612 DEBUG [28489] (deoplete.child) Loaded Filter: matcher_head (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_head.py) 2019-05-19 23:16:25,612 DEBUG [28489] (deoplete.child) Loaded Filter: matcher_length (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_length.py) 2019-05-19 23:16:25,612 DEBUG [28489] (deoplete.child) Loaded Filter: converter_remove_overlap (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_remove_overlap.py) 2019-05-19 23:16:25,612 DEBUG [28489] (deoplete.child) Loaded Filter: converter_auto_delimiter (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_auto_delimiter.py) 2019-05-19 23:16:25,612 DEBUG [28489] (deoplete.child) Loaded Filter: sorter_rank (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/sorter_rank.py) 2019-05-19 23:16:25,613 DEBUG [28489] (deoplete.child) Loaded Filter: converter_reorder_attr (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_reorder_attr.py) 2019-05-19 23:16:25,613 DEBUG [28489] (deoplete.child) Loaded Filter: converter_truncate_abbr (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_abbr.py) 2019-05-19 23:16:25,613 DEBUG [28489] (deoplete.child) Loaded Filter: matcher_full_fuzzy (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_full_fuzzy.py) 2019-05-19 23:16:25,613 DEBUG [28489] (deoplete.child) Loaded Filter: converter_truncate_kind (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_kind.py) 2019-05-19 23:16:25,613 DEBUG [28489] (deoplete.child) Loaded Filter: matcher_cpsm (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_cpsm.py) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Set Source attributes: file 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: mark ([F]) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,614 DEBUG [28489] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,615 DEBUG [28489] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,615 DEBUG [28489] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,615 DEBUG [28489] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,615 DEBUG [28489] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,615 DEBUG [28489] (deoplete.child) Attribute: min_pattern_length (0) 2019-05-19 23:16:25,615 DEBUG [28489] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,617 INFO [28490] (deoplete.logging) --- Deoplete Log Start --- 2019-05-19 23:16:25,617 INFO [28490] (deoplete.logging) NVIM v0.3.5, Python 3.7.3, pynvim 0.3.2 2019-05-19 23:16:25,618 DEBUG [28490] (deoplete.child) Loaded Source: around (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/source/around.py) 2019-05-19 23:16:25,618 DEBUG [28490] (deoplete.child) Set Source attributes: around 2019-05-19 23:16:25,618 DEBUG [28490] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,618 DEBUG [28490] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,618 DEBUG [28490] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,618 DEBUG [28490] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: mark () 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: min_pattern_length (-1) 2019-05-19 23:16:25,619 DEBUG [28490] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:25,620 DEBUG [28490] (deoplete.child) Loaded Filter: converter_remove_paren (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_remove_paren.py) 2019-05-19 23:16:25,620 DEBUG [28490] (deoplete.child) Loaded Filter: matcher_fuzzy (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_fuzzy.py) 2019-05-19 23:16:25,620 DEBUG [28490] (deoplete.child) Loaded Filter: sorter_word (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/sorter_word.py) 2019-05-19 23:16:25,620 DEBUG [28490] (deoplete.child) Loaded Filter: converter_truncate_info (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_info.py) 2019-05-19 23:16:25,620 DEBUG [28490] (deoplete.child) Loaded Filter: converter_auto_paren (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_auto_paren.py) 2019-05-19 23:16:25,620 DEBUG [28490] (deoplete.child) Loaded Filter: converter_truncate_menu (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_menu.py) 2019-05-19 23:16:25,621 DEBUG [28490] (deoplete.child) Loaded Filter: matcher_head (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_head.py) 2019-05-19 23:16:25,621 DEBUG [28490] (deoplete.child) Loaded Filter: matcher_length (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_length.py) 2019-05-19 23:16:25,621 DEBUG [28490] (deoplete.child) Loaded Filter: converter_remove_overlap (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_remove_overlap.py) 2019-05-19 23:16:25,621 DEBUG [28490] (deoplete.child) Loaded Filter: converter_auto_delimiter (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_auto_delimiter.py) 2019-05-19 23:16:25,621 DEBUG [28490] (deoplete.child) Loaded Filter: sorter_rank (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/sorter_rank.py) 2019-05-19 23:16:25,621 DEBUG [28490] (deoplete.child) Loaded Filter: converter_reorder_attr (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_reorder_attr.py) 2019-05-19 23:16:25,622 DEBUG [28490] (deoplete.child) Loaded Filter: converter_truncate_abbr (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_abbr.py) 2019-05-19 23:16:25,622 DEBUG [28490] (deoplete.child) Loaded Filter: matcher_full_fuzzy (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_full_fuzzy.py) 2019-05-19 23:16:25,622 DEBUG [28490] (deoplete.child) Loaded Filter: converter_truncate_kind (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/converter_truncate_kind.py) 2019-05-19 23:16:25,622 DEBUG [28490] (deoplete.child) Loaded Filter: matcher_cpsm (/home/yorickpeterse/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/filter/matcher_cpsm.py) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Set Source attributes: around 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: mark () 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: min_pattern_length (2) 2019-05-19 23:16:25,623 DEBUG [28490] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:26,935 DEBUG [28405] (deoplete.core) initialized context: {'changedtick': 2, 'event': 'BufReadPost', 'filetype': 'markdown', 'filetypes': ['markdown'], 'input': '', 'max_abbr_width': 41.333333333333336, 'max_kind_width': 41.333333333333336, 'max_info_width': 41.333333333333336, 'max_menu_width': 41.333333333333336, 'next_input': '# README', 'position': [0, 1, 1, 0], 'same_filetypes': [], 'bufnr': 3, 'bufname': 'README.md', 'bufpath': '/tmp/testing/README.md', 'camelcase': False, 'complete_str': '', 'custom': {'filter': {}, 'source': {'_': {}}, 'option': {'camel_case': False, 'on_text_changed_i': True, 'max_list': 500, 'candidate_marks': [], 'skip_multibyte': False, 'auto_refresh_delay': 20, 'auto_complete_delay': 0, 'min_pattern_length': 2, 'yarp': False, 'profile': False, 'omni_patterns': {}, 'auto_complete': False, 'smart_case': 0, 'ignore_case': 0, 'sources': {}, 'refresh_always': True, 'num_processes': 4, 'keyword_patterns': {'_': '[a-zA-Z_]\\k*'}, 'on_insert_enter': True, 'trigger_key': '', 'skip_chars': ['(', ')'], 'prev_completion_mode': 'filter', 'ignore_sources': {'_': ['around', 'file', 'dictionary', 'tag', 'buffer']}}}, 'cwd': '/tmp/testing', 'encoding': 'utf-8', 'ignorecase': 0, 'is_windows': 0, 'smartcase': 0, 'vars': {'deoplete#enable_at_startup': 1}, 'keyword_pattern': '[a-zA-Z_][\\w@0-9_À-ÿ]*', 'sources': [], 'rpc': 'deoplete_on_event'} 2019-05-19 23:16:26,936 DEBUG [28405] (deoplete.core) on_event: BufReadPost 2019-05-19 23:16:26,936 DEBUG [28487] (deoplete.child) Set Source attributes: buffer 2019-05-19 23:16:26,936 DEBUG [28488] (deoplete.child) Set Source attributes: omni 2019-05-19 23:16:26,936 DEBUG [28489] (deoplete.child) Set Source attributes: file 2019-05-19 23:16:26,936 DEBUG [28487] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:26,936 DEBUG [28488] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:26,936 DEBUG [28489] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:26,937 DEBUG [28490] (deoplete.child) Set Source attributes: around 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:26,937 DEBUG [28490] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:26,937 DEBUG [28490] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:26,937 DEBUG [28490] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: mark ([B]) 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:26,937 DEBUG [28490] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: mark ([O]) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: mark ([F]) 2019-05-19 23:16:26,937 DEBUG [28490] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:26,937 DEBUG [28490] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:26,937 DEBUG [28487] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:26,937 DEBUG [28489] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:26,937 DEBUG [28490] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:26,937 DEBUG [28488] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:26,938 DEBUG [28489] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:26,938 DEBUG [28489] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: mark () 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:26,938 DEBUG [28489] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:26,938 DEBUG [28489] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: min_pattern_length (2) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: min_pattern_length (0) 2019-05-19 23:16:26,938 DEBUG [28489] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:26,938 DEBUG [28489] (deoplete.child) Attribute: min_pattern_length (0) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Set Source attributes: member 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Set Source attributes: racer 2019-05-19 23:16:26,938 DEBUG [28489] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: converters (['converter_remove_overlap', 'converter_truncate_abbr', 'converter_truncate_kind', 'converter_truncate_info', 'converter_truncate_menu']) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: disabled_syntaxes ([]) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: dup (False) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: min_pattern_length (2) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: dup (True) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: filetypes ([]) 2019-05-19 23:16:26,938 DEBUG [28490] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: filetypes (['rust']) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: input_pattern () 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: input_pattern ((\.|::)\w*) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: is_debug_enabled (False) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: is_volatile (True) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: is_silent (False) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: mark ([racer]) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: is_volatile (False) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:26,938 DEBUG [28488] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:26,938 DEBUG [28487] (deoplete.child) Attribute: mark ([M]) 2019-05-19 23:16:26,939 DEBUG [28488] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:26,939 DEBUG [28487] (deoplete.child) Attribute: matchers (['matcher_fuzzy']) 2019-05-19 23:16:26,939 DEBUG [28488] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:26,939 DEBUG [28487] (deoplete.child) Attribute: max_abbr_width (80) 2019-05-19 23:16:26,939 DEBUG [28488] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:26,939 DEBUG [28487] (deoplete.child) Attribute: max_candidates (500) 2019-05-19 23:16:26,939 DEBUG [28488] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:26,939 DEBUG [28487] (deoplete.child) Attribute: max_info_width (200) 2019-05-19 23:16:26,939 DEBUG [28488] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:26,939 DEBUG [28487] (deoplete.child) Attribute: max_kind_width (40) 2019-05-19 23:16:26,939 DEBUG [28488] (deoplete.child) Attribute: min_pattern_length (2) 2019-05-19 23:16:26,939 DEBUG [28487] (deoplete.child) Attribute: max_menu_width (40) 2019-05-19 23:16:26,939 DEBUG [28488] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:26,939 DEBUG [28487] (deoplete.child) Attribute: max_pattern_length (80) 2019-05-19 23:16:26,939 DEBUG [28487] (deoplete.child) Attribute: min_pattern_length (0) 2019-05-19 23:16:26,939 DEBUG [28487] (deoplete.child) Attribute: sorters (['sorter_rank']) 2019-05-19 23:16:28,334 DEBUG [28405] (deoplete.core) initialized context: {'changedtick': 3, 'event': 'InsertEnter', 'filetype': 'rust', 'filetypes': ['rust'], 'input': '', 'max_abbr_width': 40.666666666666664, 'max_kind_width': 40.666666666666664, 'max_info_width': 40.666666666666664, 'max_menu_width': 40.666666666666664, 'next_input': '', 'position': [0, 3, 1, 0], 'same_filetypes': [], 'bufnr': 2, 'bufname': 'src/test.rs', 'bufpath': '/tmp/testing/src/test.rs', 'camelcase': False, 'complete_str': '', 'custom': {'filter': {}, 'source': {'_': {}}, 'option': {'camel_case': False, 'on_text_changed_i': True, 'max_list': 500, 'candidate_marks': [], 'skip_multibyte': False, 'auto_refresh_delay': 20, 'auto_complete_delay': 0, 'min_pattern_length': 2, 'yarp': False, 'profile': False, 'omni_patterns': {}, 'auto_complete': False, 'smart_case': 0, 'ignore_case': 0, 'sources': {}, 'refresh_always': True, 'num_processes': 4, 'keyword_patterns': {'_': '[a-zA-Z_]\\k*'}, 'on_insert_enter': True, 'trigger_key': '', 'skip_chars': ['(', ')'], 'prev_completion_mode': 'filter', 'ignore_sources': {'_': ['around', 'file', 'dictionary', 'tag', 'buffer']}}}, 'cwd': '/tmp/testing', 'encoding': 'utf-8', 'ignorecase': 0, 'is_windows': 0, 'smartcase': 0, 'vars': {'deoplete#enable_at_startup': 1}, 'keyword_pattern': '[a-zA-Z_][\\w@0-9_À-ÿ]*', 'sources': [], 'rpc': 'deoplete_on_event'} 2019-05-19 23:16:28,334 DEBUG [28405] (deoplete.core) on_event: InsertEnter ```

Screenshot (if possible)

When it works:

working

When it doesn't:

broken

Shougo commented 5 years ago

I don't reproduce the problem. It works in minimal vimrc.

Shougo commented 5 years ago

deoplete version (SHA1): 9d4e88f

Your deoplete is not the latest version. Please use the latest.

yorickpeterse commented 5 years ago

As of commit 310371d7e0cf123a725dd3f1d1fe02e4919d2d8a, this problem still happens. It happens on both my laptop and my desktop computer, so it does not appear to be a problem with either of the two.

When only opening two splits, the log output is as follows (around the time of performing a completion):

2019-05-20 20:46:04,967 DEBUG    [2144] (deoplete.core) completion_begin (Async): 'use std::'
2019-05-20 20:46:04,971 DEBUG    [2144] (deoplete.core) do_complete (Async): 71 candidates, input=use std::, complete_position=9, is_async=1
2019-05-20 20:46:04,973 DEBUG    [2144] (deoplete.core) completion_begin (TextChangedP): 'use std::'
2019-05-20 20:46:04,978 DEBUG    [2144] (deoplete.core) do_complete (TextChangedP): 71 candidates, input=use std::, complete_position=9, is_async=1

When opening the third split, the above log lines never show up. Instead, there is only one entry produced when trying to complete the input:

2019-05-20 20:47:36,812 DEBUG    [2293] (deoplete.core) on_event: InsertEnter

A recording of this bug can be found here:

asciicast

yorickpeterse commented 5 years ago

It appears that the issue originates from autoload/deoplete/handler.vim, in the function deoplete#handler#_completion_begin. This function performs the following check:

   if s:is_skip(a:event)
     let g:deoplete#_context.candidates = []
     return
   endif

Here the if evaluates to true when opening a third split, which can be demonstrated by making the following change:

diff --git a/autoload/deoplete/handler.vim b/autoload/deoplete/handler.vim
index dd5b9ee..2b3fc7f 100644
--- a/autoload/deoplete/handler.vim
+++ b/autoload/deoplete/handler.vim
@@ -178,6 +178,7 @@ endfunction
 function! deoplete#handler#_completion_begin(event) abort
   if s:is_skip(a:event)
     let g:deoplete#_context.candidates = []
+    echom 'Skipping deoplete completion'
     return
   endif

If we when try to complete using the third split, :messages will contain the above message.

I then modified s:is_skip as follows:

diff --git a/autoload/deoplete/handler.vim b/autoload/deoplete/handler.vim
index dd5b9ee..1c4626a 100644
--- a/autoload/deoplete/handler.vim
+++ b/autoload/deoplete/handler.vim
@@ -192,10 +192,12 @@ function! deoplete#handler#_completion_begin(event) abort
 endfunction
 function! s:is_skip(event) abort
   if a:event ==# 'TextChangedP' && !empty(v:completed_item)
+    echom 'Skipping because of TextChangedP condition'
     return 1
   endif

   if s:is_skip_text(a:event)
+    echom 'Skipping because of is_skip_text condition'
     return 1
   endif

@@ -205,6 +207,7 @@ function! s:is_skip(event) abort
         \ || (a:event !=# 'Manual' && a:event !=# 'Async' && !auto_complete)
         \ || (&l:completefunc !=# '' && &l:buftype =~# 'nofile')
         \ || (a:event !=# 'InsertEnter' && mode() !=# 'i')
+    echom 'Skipping because of paste condition'
     return 1
   endif

When trying to complete code with 3 splits, the output in :messages will contain Skipping because of paste condition. This means the following section is to blame:

if &paste
      \ || (a:event !=# 'Manual' && a:event !=# 'Async' && !auto_complete)
      \ || (&l:completefunc !=# '' && &l:buftype =~# 'nofile')
      \ || (a:event !=# 'InsertEnter' && mode() !=# 'i')
  return 1
endif

I modified this to look like the following:

if &paste
      \ || (a:event !=# 'Manual' && a:event !=# 'Async' && !auto_complete)
      \ || (&l:completefunc !=# '' && &l:buftype =~# 'nofile')
      \ || (a:event !=# 'insertenter' && mode() !=# 'i')
  echom 'condition 1: ' . (a:event !=# 'Manual' && a:event !=# 'Async' && !auto_complete)
  echom 'condition 2: ' . (&l:completefunc !=# '' && &l:buftype =~# 'nofile')
  echom 'condition 3: ' . (a:event !=# 'insertenter' && mode() !=# 'i')
  echom 'a:event: ' . a:event
  echom 'l:completefunc: ' . &l:completefunc
  echom 'l:buftype: ' . &l:buftype
  echom 'mode(): ' . mode()
  return 1
endif

If I then complete again with 3 splits, the output is:

condition 1: 1
condition 2: 0
condition 3: 1
a:event: InsertEnter
l:completefunc:
l:buftype:
mode(): n

So it looks like the following condition is to blame:

(a:event !=# 'Manual' && a:event !=# 'Async' && !auto_complete)
yorickpeterse commented 5 years ago

For reference: when only opening two splits, a:event will be set to InsertEnter, TextChangedI, and TextChangedP. This would suggest that the TextChanged events are somehow never triggered.

yorickpeterse commented 5 years ago

Printing a:event at the start of deoplete#handler#_completion_begin(event) shows that it receives the following events when I have 3 splits open: InsertEnter, TextChangedI.

yorickpeterse commented 5 years ago

Making the following change results in completion working again:

diff --git a/autoload/deoplete/handler.vim b/autoload/deoplete/handler.vim
index dd5b9ee..3535fa3 100644
--- a/autoload/deoplete/handler.vim
+++ b/autoload/deoplete/handler.vim
@@ -178,7 +178,7 @@ endfunction
 function! deoplete#handler#_completion_begin(event) abort
   if s:is_skip(a:event)
     let g:deoplete#_context.candidates = []
-    return
+    "return
   endif

   call s:check_prev_completion(a:event)

Of course that return is there for good reasons and so this isn't the actual fix, but it further suggests this function either does not receive the right events, or filters out events incorrectly.

yorickpeterse commented 5 years ago

Digging further, InsertEnter is an event that is valid for completion, so TextChangedP not showing up should in itself not be an issue.

yorickpeterse commented 5 years ago

I think I found the problem. When loading Markdown files, I had Vim run the following:

call deoplete#custom#buffer_option('auto_complete', v:false)

This originates from ~/.config/nvim/ftplugin/markdown.vim. The idea here was to completely disable completion for buffers that use Markdown. I forgot Vim still loads these files when using a custom vimrc.

The documentation of deoplete suggests that this function can indeed be used for buffer local options:

                    *deoplete#custom#buffer_option()*
deoplete#custom#buffer_option({option-name}, {value})
deoplete#custom#buffer_option({dict})
        The buffer local version of |deoplete#custom#option()|.

However, if I run the following in a buffer with set ft=rust (or really any other non Markdown buffer), the output is v:false:

echo deoplete#custom#_get_option('auto_complete')

In short:

deoplete#custom#buffer_option appears to set global options and not buffer local options, or the documentation is incorrect.

yorickpeterse commented 5 years ago

Here is how one should be able to reproduce the above:

  1. Use the Git repository and Vim init file mentioned in the issue description
  2. nvim -u /tmp/minimal.vim src/main.rs
  3. vne src/test.rs
  4. call deoplete#custom#buffer_option('auto_complete', v:false) (in test.rs)
  5. Enter insert mode in test.rs and on a new line type use std::. Note that completion does not work as expected
  6. Switch to the main.rs buffer.
  7. On line 4, enter insert mode and type use std::
  8. Note that completion does not work, which is not what we want since we only disabled it for the other buffer

One very important detail:

This will only break if you enter insert mode in the buffer you disabled Deoplete for first. If you switch to another buffer, auto completion will work until you enter insert mode in a buffer for which you ran call deoplete#custom#buffer_option('auto_complete', v:false).

This can be seen in the following recording:

asciicast

Shougo commented 5 years ago

I think I found the problem. When loading Markdown files, I had Vim run the following:

OK. So I have to say, "you must upload the minimal vimrc". You have not uploaded the real minimal vimrc, I have not reproduce the behavior.

Shougo commented 5 years ago

Please see your minimal vimrc.

let g:plug_url_format = 'git@github.com:%s.git'

call plug#begin('~/.vim/plugged')

Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'rust-lang/rust.vim'
Plug 'racer-rust/vim-racer'

call plug#end()

call deoplete#custom#option('ignore_sources', {'_': ['around', 'file', 'dictionary', 'tag', 'buffer']})

let g:deoplete#enable_at_startup = 1

set number
set splitright

Whare is call deoplete#custom#buffer_option('auto_complete', v:false)?

Shougo commented 5 years ago

Reproduced. I have fixed the error. Thanks.

yorickpeterse commented 5 years ago

@Shougo Thanks! :confetti_ball: I can confirm that commit 0ad6844e7d161e6c989c78197f66eed0924897d8 solves the problem.