deoplete-plugins / deoplete-jedi Goto Github PK
View Code? Open in Web Editor NEWdeoplete.nvim source for Python
License: MIT License
deoplete.nvim source for Python
License: MIT License
CPU up to 100% about two min
" Your minimal init.vim
" for python
call dein#add('zchee/deoplete-jedi', {
\ 'depends': 'deoplete.nvim',
\ 'on_event': 'InsertEnter',
\ 'on_ft': 'python',
\ })
THE LOG IS TOO LARGE.
PLEASE!! rename it with log_5970.tar.xz first.
WISH HELP TO YOU!
deoplete-jedi become have many users and contributors.
Also, the number of PR has increased.
But the language source(I mean deoplete.nvim sources) test is sometimes difficult.
Use mock? Use real headless nvim? either way, it's little difficult.
Ideally, unit testing is completed in travis ci.
Do you have any idea?
#89 partially fixes deoplete-jedi candidates recognition compare to other editors, but tested with numpy(even larger package then django and more comlex) and seems like it still cant show some candidates that JEDI(and jedi-vim) can. Tested in atom and vscode too. They both can complete(atom need like 5-10 sec to actually recognize this candidates. Yes numpy is huge), vscode much faster but still delays 2-3 seconds before comletions show up.
I dunno - maybe it's too much for deoplete-jedi and deoplete itself? Because my neovim even freeze for few seconds when im trying to get this completions with jedi-vim. And even when i dont complete with jedi-vim and just type something like np.cos() for the first time per session neovim freezes(i guess because of g:jedi#show_call_signatures = 2). Will test it later.
Some screenshots
deoplete-jedi
jedi-vim
atom
Atom an VScode after they actually detect this candidates, then completion is fast(i suppose because of cache). Jedi-vim too. Deoplete-jedi still cant detect them even when you already have them in your file(deoplete for sure completes them as simple keyword).
As you can see from jedi-vim screenshot actual path for sin is numpy.umath.sin. And as expected deoplete-jedi completes it without a problem
So i dont really know should we try to fix this. Because it's laggy. Just posted for the record.
Seems like completions don't popup in python.django
filetypes autocmd BufNewFile,BufRead *.py setlocal filetype=python.django
let g:loaded_deoplete_jedi returns 1, just doesn't complete.
Need confirmation. And don't know is this deoplete itself or deoplete-jedi.
Competions should work in combined filetypes
" Your minimal init.vim
set runtimepath+=~/path/to/deoplete.nvim/
set runtimepath+=~/path/to/deoplete-jedi/
let g:deoplete#enable_at_startup = 1
autocmd BufNewFile,BufRead *.py setlocal filetype=python.django
I am using NeoVim 1.5 and use this when i do python programming. The python process invoked for deoplete-jedi get defunct, Deoplete continue to work but i don't get any suggestion for python autocomplete almost all the times for several seconds.
The python autocomplete must continue normally.
" Your minimal init.vim
set runtimepath+=~/tmp/deoplete.nvim/
set runtimepath+=~/tmp/deoplete-jedi/
let g:deoplete#enable_at_startup = 1
set completeopt=menu,preview
set completeopt=menu,preview
If I would type
from some
it will be replaced with
from some import
and then I can type what I want to import.
So the problem is that in large projects and large files if jedi doesn't have cache yet after I would type space after the word some
neovim would be blocked and I would experience noticeable delay before neovim can response again to my typing.
I understand that parsing can be slow etc etc, but there's no reason to force me to wait for autocompletion.
From my observation I guess that deoplete-jedi doesn't let me type until it have completions for module that I'm trying to import, but at the same time without cache If I would type
from functools
deoplete-jedi allows me to type even if it doesn't have completions yet and they starting to appear later. So I guess that kind of a bug.
As in #58, nvim.current.buffer
sometimes will freezing remote plugin if current buffer is large.
So need change to use deoplete.util.getlines
.
I don't know vim.call('getline', ...)
side effect for performance, but there is no way if fix Neovim core API or python-client module.
deoplete-go already dealt this problem.
But note that have own Buffer
class for not need change the large fix such as nvim.current.buffer.name
or etc. Just copied and some fix python-client buffer code.
And, I don't know that is a correct way and correct code. but now it works.
Also, cache
is proof-concept, not used.
https://github.com/zchee/deoplete-go/blob/master/rplugin/python3/deoplete/sources/deoplete_go/buffer.py
I would like to enable completion on modules in rplugins.
https://github.com/lambdalisue/vim-ledi/blob/master/pythonx/ledi/util.py#L49
False issue
Sometimes self.mark
is duplicate.
In https://github.com/zchee/deoplete-jedi/blob/master/tests/test.py.
Maybe, buffer cached module will be duplicate.
If set
let g:deoplete#sources#jedi#enable_cache = 0
does not occur.
I will debug later.
/cc @tweekmonster
def on_init(self, context):
vars = context['vars']
…
self.debug_enabled = vars.get(
'deoplete#sources#jedi#debug_enabled', False
)
In Deoplete.load_sources context
has 'custom': {'_': {}, 'jedi': {'debug_enabled': 1}}
here, but not in context['vars']
.
So it turns out that you need to actually set deoplete#sources#jedi#debug_enabled = 1
, and deoplete's help is wrong / does not apply to this plugin?!
" Enable jedi source debug messages call deoplete#custom#set('jedi', 'debug_enabled', 1)
This also means the new / current issue template is wrong, and @ysolis figured this out to get the debug log for #56 (comment)?!
call deoplete#custom#set('jedi', 'debug_enabled', 1)
FWIW, code seems to have been changed recently in Shougo/deoplete.nvim@5939bfb - is this relevant?! /cc @tweekmonster
Is deoplete-jedi "just" not behaving according to deoplete's interface / help here?
I sometimes get the following error when typing in a python file.
[deoplete] An error has occurred. Please execute :messages command.
[deoplete] Traceback (most recent call last):
[deoplete] File "/Users/alokbeniwal/.config/nvim/bundle/deoplete.nvim/rplugin/python3/deoplete/deoplete.py", line 47, in completion_begin
[deoplete] complete_position, candidates = self.gather_candidates(context)
[deoplete] File "/Users/alokbeniwal/.config/nvim/bundle/deoplete.nvim/rplugin/python3/deoplete/deoplete.py", line 85, in gather_candidates
[deoplete] results = self.gather_results(context)
[deoplete] File "/Users/alokbeniwal/.config/nvim/bundle/deoplete.nvim/rplugin/python3/deoplete/deoplete.py", line 150, in gather_results
[deoplete] context['candidates'] = source.gather_candidates(context)
[deoplete] File "/Users/alokbeniwal/.config/nvim/bundle/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 321, in gather_candidates
[deoplete] name, type_, desc, abbr = self.parse_completion(c, tmp_filecache)
[deoplete] File "/Users/alokbeniwal/.config/nvim/bundle/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 202, in parse_completion
[deoplete] line = lines[i].lstrip()
[deoplete] IndexError: list index out of range
If I try to use deoplete-jedi in a python project with or without a virtualenv activated I get the following error:
[deoplete] Error when loading source jedi: Failed to start server (/home/arjen/Projects/snippets/.venv/bin/python -u /home/arjen/.config/nvim/bundle/jedi/rplugin/python3/deoplete/sources/deoplete_jedi/server.py --desc-length 0 --debug --
debug-level 10): Server exited with b'Traceback (most recent call last):\n File "/home/arjen/.config/nvim/bundle/jedi/rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 565, in \n s = Server(args.desc_length, args
.short_types, args.docstrings)\n File "/home/arjen/.config/nvim/bundle/jedi/rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 149, in init\n from jedi import settings\nImportError: No module named jedi\n': error: 1.
Ignoring.
If I install deoplete-jedi in the projects virtualenv it works as expected
It works without installing it to the projects virtualenv
" Pathogen - Allows us to organize our vim plugins
" Load pathogen with docs for all plugins
filetype off
" call pathogen#incubate()
call pathogen#infect('bundle/{}')
call pathogen#helptags()
" pathogen#incubate() to pathogen#infect('bundle/{}')
" Basic Settings {{{
syntax on " syntax highlighting
filetype on " try to detect filetypes
" So neovim will work in a VirtualEnv
let g:python_host_prog='/home/arjen/config/dotfiles/_neovim/ENV2/bin/python'
let g:python3_host_prog='/home/arjen/config/dotfiles/_neovim/ENV/bin/python'
set runtimepath+=~/config/dotfiles/_neovim/bundle/deoplete/
set runtimepath+=~/config/dotfiles/_neovim/bundle/deoplete-jedi/
call deoplete#custom#set('jedi', 'debug_enabled', 1)
call deoplete#enable_logging('DEBUG', '/tmp/deoplete.log')
let g:deoplete#enable_at_startup = 1
Then look at and attach the files /tmp/nvim-log_{PID}
and
/tmp/deoplete.log
here.
There is a way to integrate with https://github.com/jmcantrell/vim-virtualenv so when autocomplete also do from there?
I've noticed that deoplete-jedi will use Neovim's cwd
when loading the server, which means that this depends on :lcd
and when the server gets started (when doing it lazily, e.g. when entering insert mode).
When using pyenv
, this might result in different python
interpreters being used.
While this can be powerful in the context of restarting deoplete-jedi with another interpreter, it is rather confusing in its current state.
A first step here might be to allow for configuration of the python
prog (https://github.com/zchee/deoplete-jedi/blob/cdbe0902d646c37e68d0b2967b445c993b78cd32/rplugin/python3/deoplete/sources/deoplete_jedi/server.py#L464).
This should be looked at when restarting then, too - allowing to change it without restarting Neovim (https://github.com/zchee/deoplete-jedi/blob/cdbe0902d646c37e68d0b2967b445c993b78cd32/rplugin/python3/deoplete/sources/deoplete_jedi/server.py#L500).
Is there a way to get Neovim's startup directory later? This could be used then to change into before running the python
prog. This would make the automatic detection (in the case of pyenv
or other tools using the current working directory) more deterministic.
Completion adds a (
or .
at the end of the word. This has been more annoying than useful in Python.
For example:
from module import BaseClass
class Subclass(
If I want to add BaseClass
as a subclass, the completion will add this:
class Subclass(BaseClass.
I use the following to assist with completions:
inoremap <expr> ( pumvisible() ? "\<c-y>()\<c-\>\<c-o>h" : "("
inoremap <expr> ) pumvisible() ? "\<c-y>)" : ")"
inoremap <expr> . pumvisible() ? "\<c-y>." : "."
When I accept the completion using )
, in the example above I end up with:
class Subclass(BaseClass.)
The other problem is Python properties. Jedi shows them as functions, which causes an open parenthesis to be incorrectly added to the completion.
I think this should be removed completely to let the user decide on what to do.
Consider the following minimal init.vim
:
let $DOTVIM = expand('$HOME/.vim')
execute 'set runtimepath+=' . expand(
\ '$DOTVIM/bundle/repos/github.com/Shougo/dein.vim')
call dein#begin(expand('$DOTVIM/bundle/'))
call dein#add('Shougo/deoplete.nvim')
call dein#add('zchee/deoplete-jedi')
call dein#add('Shougo/echodoc.vim')
call dein#end()
filetype plugin indent on
set completeopt=menuone,preview,noinsert
set noshowmode
set laststatus=2
set shortmess+=c
let g:deoplete#enable_at_startup = 1
let g:deoplete#sources#jedi#python_path = '/usr/local/bin/python3'
let deoplete#sources#jedi#show_docstring = 1
let g:echodoc_enable_at_startup = 1
au CompleteDone * pclose!
Now (as in the GIF and screenshot) open an empty python file and start typing pri
. You wil see that deoplete correctly shows completion and signatures for print
function. However the popup menu for the end
argument is shown as \x0a
instead of \n
. This in turns makes echodoc
fail (see the command line for this). I expect the popup menu (and echodoc) to show \n
. Thanks in advance.
...and not $HOME/.cache/
This results in the creation of a directory with the name '~' in the current working directory.
Here's a simple fix:
diff --git a/rplugin/python3/deoplete/sources/jedi.py b/rplugin/python3/deoplete/sources/jedi.py
index 71ee53c..faa449f 100644
--- a/rplugin/python3/deoplete/sources/jedi.py
+++ b/rplugin/python3/deoplete/sources/jedi.py
@@ -95,7 +95,7 @@ class Source(Base):
cache_home = os.getenv('XDG_CACHE_HOME')
if cache_home is None:
- cache_home = '~/.cache'
+ cache_home = os.path.expanduser('~/.cache')
jedi.settings.cache_directory = os.path.join(cache_home, 'jedi')
row = self.vim.current.window.cursor[0]
not yet
I've noticed that deoplete-jedi is running 8 processes and consuming CPU even if I opened and editing a non-python related file.
deoplete-jedi processes running only when there is work to do.
if &compatible
set nocompatible
endif
" Set configuration paths
let s:cfg_dir = $HOME.'/.config/nvim'
let s:venv_dir = $HOME.'/.cache/nvim/venv'
let s:bundle_dir = s:cfg_dir.'/bundle'
let s:dein_dir = s:bundle_dir.'/repos/github.com/Shougo/dein.vim'
let g:python_host_prog = s:venv_dir.'/neovim2/bin/python'
let g:python3_host_prog = s:venv_dir.'/neovim3/bin/python'
" Install dein.vim
if ! isdirectory(s:dein_dir)
execute '!git clone https://github.com/Shougo/dein.vim' s:dein_dir
endif
execute 'set runtimepath+='.substitute(
\ fnamemodify(s:dein_dir, ':p') , '/$', '', '')
" Add plugins to bundle
call dein#begin(s:bundle_dir, [ expand('<sfile>') ])
call dein#add('Shougo/dein.vim')
call dein#add('Shougo/deoplete.nvim')
call dein#add('zchee/deoplete-jedi')
call dein#end()
" Install any missing plugins
if dein#check_install()
call dein#install()
endif
" Enable highlight syntax
filetype plugin indent on
syntax enable
let g:deoplete#enable_at_startup = 1
Run nvim ~/.bashrc
Enter 'insert' mode
On different terminal, run ps -ef | grep deoplete
or pstree -pl -s deoplete
Repeat steps 1-3 in a different terminal and see processes doubling.
N/A
N/A
Hey! I was trying to make my own jedi
package for Deoplete when I came across yours. I replaced the regular jedi-vim
package with this and am trying it out. I noticed that completions seem to be working, and as I'm typing I'm getting suggestions based on what Jedi should suggest, but the menu only appears for a second and then flickers away. Do you think this has something to do with this package in particular? Or is it probably a Deoplete bug?
Edit: I made a .gif
to show you what I'm seeing.
If I turn off this plugin, then I don't get any issues with Deoplete.
When Jedi throws an exception while generating completions, this is not properly reported.
Given the following code:
import requests
r = requests.get('www.github.com')
r.
Nothing happens when calling deoplete#manual_complete
or when deoplete completes automatically (at the end).
An error shows up when enabling logging (:call deoplete#enable_logging(100, '/tmp/deo.log')
):
2016-07-12 11:27:52,246 DEBUG (deoplete.jedi.cache) Starting reaper thread
2016-07-12 11:27:52,248 DEBUG (deoplete.jedi.cache) Input: "r."
2016-07-12 11:27:52,256 DEBUG (deoplete.jedi.Thread-1) Got work
2016-07-12 11:27:52,302 DEBUG (deoplete.jedi.Thread-1) Completed work
2016-07-12 11:27:52,303 DEBUG (deoplete.jedi.Thread-1) Got work
2016-07-12 11:27:52,303 DEBUG (deoplete.jedi.cache) Processed: ('boilerplate~',)
2016-07-12 11:27:52,609 DEBUG (deoplete.jedi.Thread-1) Worker error
Traceback (most recent call last):
File "/home/user/.vim/neobundles/deoplete-jedi//rplugin/python3/deoplete/sources/deoplete_jedi/worker.py", line 67, in run
self.out_queue.put(self.completion_work(*work), block=False)
File "/home/user/.vim/neobundles/deoplete-jedi//rplugin/python3/deoplete/sources/deoplete_jedi/worker.py", line 34, in completion_work
filename)
File "/home/user/.vim/neobundles/deoplete-jedi//rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 533, in completions
return stream_read(self._server.stdout)
File "/home/user/.vim/neobundles/deoplete-jedi//rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 83, in stream_read
raise StreamEmpty
deoplete_jedi.server.StreamEmpty
When enabling --debug
for the server, the StreamEmpty exception is not logged anywhere anymore (?!), but this shows up in /tmp/jedi-server.log:
Input closed. Shutting down.
Starting server. sys.path = ['…/vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi', '/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi', '/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/sources', '…/pyenv/tmp-system-2YTclz/lib/python35.zip', '…/pyenv/tmp-system-2YTclz/lib/python3.5', '…/pyenv/tmp-system-2YTclz/lib/python3.5/plat-linux', '…/pyenv/tmp-system-2YTclz/lib/python3.5/lib-dynload', '/usr/lib64/python3.5', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-linux', '…/pyenv/tmp-system-2YTclz/lib/python3.5/site-packages']
Line: 1, Col: 0, Filename: ''
Line: 3, Col: 2, Filename: '…/Vcs/vim/t.py'
Failed completion 'script_completion'
When using log.exception
there this traceback shows up - apparently an error with Jedi:
Traceback (most recent call last):
File "/home/user/.vim/neobundles/deoplete-jedi//rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 122, in wrapper
return func(self, source, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi//rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 283, in script_completion
completions = jedi.Script(source, line, col, filename).completions()
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/api/__init__.py", line 192, in completions
completion_names = get_completions(user_stmt, b)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/api/__init__.py", line 178, in get_completions
completion_names += self._simple_complete(path, dot, like)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/api/__init__.py", line 254, in _simple_complete
scopes = list(self._prepare_goto(path, True))
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/api/__init__.py", line 298, in _prepare_goto
scopes = self._evaluator.eval_element(eval_stmt)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/_compatibility.py", line 124, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/_compatibility.py", line 124, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 267, in eval_trailer
new_types += get(self, node)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/iterable.py", line 229, in get_index_types
types += self.get_exact_index_types(index.obj)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/iterable.py", line 255, in get_exact_index_types
return self._evaluator.eval_element(self._items()[mixed_index])
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 269, in _name_to_types
for_types = iterable.get_iterator_types(for_types)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/iterable.py", line 418, in get_iterator_types
result += it.iter_content()
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/iterable.py", line 575, in iter_content
module = self.var_args.get_parent_until()
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/param.py", line 56, in get_parent_until
return element.get_parent_until(*args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/_compatibility.py", line 124, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/parser/tree.py", line 123, in get_parent_until
while scope.parent is not None:
AttributeError: 'ListComprehension' object has no attribute 'parent'
retry_completion
.The completion works using <C-X><C-O>
, but that uses another version of Jedi
(through jedi-vim). So apparently the Jedi submodule should probably get
updated to fix this bug.
After import django.
deoplete-jedi completes generic modules.
django
is not installed in the server's sys.path (['…/vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi', '/usr/lib/python3.5/site-packages/_pdbpp_path_hack', '/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/jedi', '/home/user/.vim/neobundles/deoplete-jedi/rplugin/python3/deoplete/sources', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-linux', '/usr/lib/python3.5/lib-dynload', '/home/user/.local/lib/python3.5/site-packages', '…/Vcs/pg_activity', '…/Vcs/vint', '…/Vcs/neovim-python-client', '/usr/lib/python3.5/site-packages']
).
Output from the log (on #79):
2016-10-20 23:16:07,590 DEBUG (deoplete.jedi.cache) Input: "import django."
2016-10-20 23:16:07,592 DEBUG (deoplete.jedi) Key: ('import~',), Refresh: True, Wait: False
2016-10-20 23:16:07,594 INFO (deoplete.jedi) gather_candidates t = 5.143311ms, µ = 4.503736ms, σ = 1.170783ms)
2016-10-20 23:16:07,594 DEBUG (deoplete.jedi.worker.Thread-1) Got work
2016-10-20 23:16:07,597 DEBUG (deoplete.jedi.server) Line: 11, Col: 14, Filename: '…/vim/neobundles/deoplete-jedi/t.py'
2016-10-20 23:16:07,599 DEBUG (deoplete.jedi.worker.Thread-1) Completed work
2016-10-20 23:16:07,600 DEBUG (deoplete.jedi.cache) Processed: ('import~',)
Triggering jedi-vim's completion completes Django's modules, since it's in Vim's path (via ~/.vim/plugin/pythonx/django
).
When editing python files, deoplete_jedi raises StreamEmpty error
I installed neovim through Homebrew
python neovim plugins were installed successuflly through pip2 and pip3
let g:python_host_prog = '/usr/local/bin/python'
let g:python3_host_prog = '/usr/local/bin/python3'
let g:deoplete#enable_at_startup = 1
deoplete_jedi\server.py
reports No module named 'deoplete_jedi'
.
This error can be fixed by inserting the appropriate relative paths in server.py
, but this seems like the wrong solution.
No error when loading "server.py"
execute pathogen#infect()
syntax on
filetype plugin indent on
set runtimepath+=~/Documents/GitHub/dotfiles/neovim/bundle/deoplete/
set runtimepath+=~/Documents/GitHub/dotfiles/neovim/bundle/deoplete-jedi/
let g:deoplete#enable_at_startup = 1
call deoplete#custom#set('jedi', 'debug_enabled', 1)
call deoplete#enable_logging('DEBUG', '/tmp/deoplete.log')
Need to load pathogen.
Then look at and attach the files /tmp/nvim-log_{PID}
and
/tmp/deoplete.log
here.
2017-02-16 16:19:25,274 INFO (deoplete.logging) --- Deoplete Log Start ---
2017-02-16 16:19:25,321 INFO (deoplete.logging) NVIM v0.2.0-625-gbeb2ef46, Python 3.6.0, neovim client 0.1.13
[deoplete] Logging to /tmp/deoplete.log
Warning: Font "Fira Code" reports bad fixed pitch metrics
"~\Desktop\calc_elo.py" 35L, 1143C
[deoplete] Error when loading source jedi: Failed to start server (python -u C:\Users\akottke\AppData\Local\nvim\bundle\deoplete-jedi\rplugin/python3/deoplete\sources\deoplete_jedi\server.py --desc-length 0 --debug --debug-level 10): Server exited with b'Traceback (most recent call last):\r\n File "C:\\Users\\akottke\\AppData\\Local\\nvim\\bundle\\deoplete-jedi\\rplugin/python3/deoplete\\sources\\deoplete_jedi\\server.py", line 26, in <module>\r\n from deoplete_jedi import utils\r\nModuleNotFoundError: No module named \'deoplete_jedi\'\r\n': error: 1. Ignoring.
[deoplete] Error when loading source jedi: Failed to start server (python -u C:\Users\akottke\AppData\Local\nvim\bundle\deoplete-jedi\rplugin/python3/deoplete\sources\deoplete_jedi\server.py --desc-length 0 --debug --debug-level 10): Server exited with b'Traceback (most recent call last):\r\n File "C:\\Users\\akottke\\AppData\\Local\\nvim\\bundle\\deoplete-jedi\\rplugin/python3/deoplete\\sources\\deoplete_jedi\\server.py", line 26, in <module>\r\n from deoplete_jedi import utils\r\nModuleNotFoundError: No module named \'deoplete_jedi\'\r\n': error: 1. Ignoring.
[deoplete] Traceback (most recent call last):
[deoplete] File "C:\Users\akottke\AppData\Local\nvim\bundle\deoplete-jedi\rplugin/python3/deoplete\sources\deoplete_jedi\server.py", line 518, in restart
[deoplete] self.version = stream_read(self._server.stdout)
[deoplete] File "C:\Users\akottke\AppData\Local\nvim\bundle\deoplete-jedi\rplugin/python3/deoplete\sources\deoplete_jedi\server.py", line 87, in stream_read
[deoplete] raise StreamEmpty
[deoplete] deoplete_jedi.server.StreamEmpty
[deoplete]
[deoplete] During handling of the above exception, another exception occurred:
[deoplete]
[deoplete] Traceback (most recent call last):
[deoplete] File "C:\Users\akottke\AppData\Local\nvim\bundle\deoplete-jedi\rplugin/python3/deoplete\sources\deoplete_jedi\server.py", line 493, in __init__
[deoplete] self.restart()
[deoplete] File "C:\Users\akottke\AppData\Local\nvim\bundle\deoplete-jedi\rplugin/python3/deoplete\sources\deoplete_jedi\server.py", line 522, in restart
[deoplete] err, self._server.returncode))
[deoplete] Exception: Server exited with b'Traceback (most recent call last):\r\n File "C:\\Users\\akottke\\AppData\\Local\\nvim\\bundle\\deoplete-jedi\\rplugin/python3/deoplete\\sources\\deoplete_jedi\\server.py", line 26, in <module>\r\n from deoplete_jedi import utils\r\nModuleNotFoundError: No module named \'deoplete_jedi\'\r\n': error: 1
[deoplete]
[deoplete] During handling of the above exception, another exception occurred:
[deoplete]
[deoplete] Traceback (most recent call last):
[deoplete] File "C:/Users/akottke/AppData/Local/nvim/bundle/deoplete/rplugin/python3\deoplete\deoplete.py", line 206, in itersource
[deoplete] source.on_init(context)
[deoplete] File "C:\Users\akottke/Documents/GitHub/dotfiles/neovim/bundle/deoplete-jedi/rplugin/python3/deoplete\sources\deoplete_jedi.py", line 80, in on_init
We want to easily maintenance to the source.
I think mypy
type check is a very good feature and approach.
When some users have old cache, it seems to deoplete-jedi's server using old cache even if update jeid submodule or changed cache behavior, such as #93 (comment).
So, that users using old cache, and get wrong completion candidates.
I saw json cache file have the time
and version
variable, but deoplete-jedi's server does not uses it?
Sorry, I'll check the server implements later, but /cc @tweekmonster
When editing a file that contains from decimal import Decimal
at the top, AttributeError is thrown every time autocompletion is triggered.
[deoplete] Traceback (most recent call last):
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete.nvim/rplugin/python3/deoplete/deoplete.py", line 47, in completion_begin
[deoplete] complete_position, candidates = self.gather_candidates(context)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete.nvim/rplugin/python3/deoplete/deoplete.py", line 85, in gather_candidates
[deoplete] results = self.gather_results(context)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete.nvim/rplugin/python3/deoplete/deoplete.py", line 150, in gather_results
[deoplete] context['candidates'] = source.gather_candidates(context)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 342, in gather_candidates
[deoplete] name, type_, desc, abbr = self.parse_completion(c, tmp_filecache)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 184, in parse_completion
[deoplete] type_, desc = [x.strip() for x in comp.description.split(':', 1)]
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/api/classes.py", line 425, in description
[deoplete] t = self.type
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/api/classes.py", line 470, in type
[deoplete] followed = self.follow_definition()
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
[deoplete] rv = function(obj, *args, **kwargs)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/api/classes.py", line 498, in follow_definition
[deoplete] defs = self._follow_statements_imports()
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
[deoplete] rv = function(obj, *args, **kwargs)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/api/classes.py", line 485, in _follow_statements_imports
[deoplete] return i.follow()
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/cache.py", line 41, in wrapper
[deoplete] rv = function(obj, *args, **kwargs)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/imports.py", line 103, in follow
[deoplete] for t in types))
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/imports.py", line 103, in <genexpr>
[deoplete] for t in types))
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/__init__.py", line 120, in find_types
[deoplete] return f.find(scopes, search_global)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/debug.py", line 52, in wrapper
[deoplete] result = func(*args, **kwargs)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 86, in find
[deoplete] names = self.filter_name(scopes)
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 176, in filter_name
[deoplete] for names_dict, position in names_dicts:
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/finder.py", line 109, in <genexpr>
[deoplete] return ((n, None) for n in self.scope.names_dicts(search_global))
[deoplete] File "/home/brad/.config/nvim/plugged/deoplete-jedi/rplugin/python3/deoplete/jedi/jedi/evaluate/representation.py", line 720, in names_dicts
[deoplete] yield star_module.names_dict
[deoplete] AttributeError: 'NoneType' object has no attribute 'names_dict'
[deoplete] An error has occurred. Please execute :messages command.
Auto-completion should function correctly and not throw exceptions.
call plug#begin('~/.config/nvim/plugged')
Plug 'Shougo/deoplete.nvim'
Plug 'zchee/deoplete-jedi'
call plug#end()
let g:deoplete#enable_at_startup=1
from decimal import Decimal
.:messages
.If using the deoplete-jedi and Shougo/neco-syntax or Shougo/neoinclude.vim, will be insert with characters before current cursor when CompleteDone
.
In case of Shougo/neco-syntax
import jedi
jedi.
instert se
,
import jedi
jedi.se
and, hit Enter
in settings
import jedi
jedi.di.settings
In case of Shougo/neoinclude.vim
import jedi
instert im
, select import
import jedi
import
and, hit Enter
in os
import jedi
import port os.
This issue needs a confirmation. Because i'm not sure is it something with my config or deoplete-jedi problem itself.
There is no candidates for something like django's admin.site. ....
or deoplete-jedi doesn't show candidates for statements inside django's classes, etc.
class BookAdmin(admin.ModelAdmin):
list_display
I'm trying to get jedi completion to work but the only completions i get are strings in the current buffer.
like here: https://imgur.com/a/oy62s
similiar behavior like in other autocompletions that i already have running with deoplete.
like ruby: http://imgur.com/a/INJKl
as you can see it also suggests words that are not in the current buffer
set runtimepath+=~/.vim/plugged/deoplete.nvim/plugin/deoplete.vim/
set runtimepath+=~/.vim/plugged/deoplete-jedi/
call plug#begin('~/.vim/plugged')
Plug 'Shougo/deoplete.nvim'
Plug 'zchee/deoplete-jedi'
call plug#end()
let g:deoplete#enable_at_startup=1
let g:deoplete#auto_completion_start_length = 0
call deoplete#custom#set('jedi', 'debug_enabled', 1)
call deoplete#enable_logging('DEBUG', '/tmp/deoplete.log')
There is also no difference if i don't set a runtime path for deoplete and deoplete-jedi
also no difference if using my complete init.vim
just adding
Plug 'fishbullet/deoplete-ruby'
would activate ruby completion without problems, but python stays the same
nvim generated a logfile called nvim-log_py3_rplugin even though i called it differently.
it's too big for pastebin and i don't see any error messages, however the format at quite bad:
https://ufile.io/eb67e
:CheckHealth does not report any errors
:echo has("python") returns 1
:echo has("python3") returns 1
:UpdateRemotePlugins makes no difference
reinstalled everything multiple times (neovim, neovim-python, python2-jedi, python3-jedi)
switched from jedi from the Arch repos to pip
i also removed all vim Plugins, i thought maybe YCM jedi in vim would somehow break deoplete-jedi in neovim but no difference
i never had any error messages in logs or in vim, nothing that hinted that something is not working.
ONLY THING that seems strange to me:
When reinstalling only deoplete-jedi with Plug, it shows a git message in the command window of vim:
https://imgur.com/a/AVWKw
The git message is at the bottom of the screenshot. No other Plugin does that. Is this normal?
I would really appreciate any help on this. At this point i don't know what else to try so i'm opening this issue.
This is my first issue ever created on Github so please tell me if i did something wrong, also let me know if you need more information. I know the infos i gave probably won't let you solve this problem instantly but i don't know what else to give you. Also please let me know if i missed something obvious.
Many Thanks in advance
Unable to activate neovim on pyenv
When running the code to activate neovim on pyenv, "virtualenv" and "activate" are not recognized as valid pyenv commands.
" Use the following as a template.
set runtimepath+=~/path/to/deoplete.nvim/
set runtimepath+=~/path/to/deoplete-jedi/
let g:deoplete#enable_at_startup = 1
call deoplete#custom#set('jedi', 'debug_enabled', 1)
call deoplete#enable_logging('DEBUG', '/tmp/deoplete.log')
Then look at and attach the files /tmp/nvim-log_{PID}
and
/tmp/deoplete.log
here.
Instead of using /tmp/jedi-server.log
, deoplete's logfile (from call deoplete#enable_logging('DEBUG', '/tmp/deoplete.log')
) should be used also for the server. /tmp/jedi-server.log
would be the fallback then.
Maybe deoplete has to set some global var in Vim for the logfile location for this?!
" Your minimal init.vim
set runtimepath+=~/path/to/deoplete.nvim/
set runtimepath+=~/path/to/deoplete-jedi/
let g:deoplete#enable_at_startup = 1
Hi,
I'm using the plugin with echodoc.vim to print function arguments (like in jedi-vim, where the variables of a function and statement are displayed in-line, which is a handy feature). It seems that echodoc uses jedi to access the docstring. This works fine for functions, but not for presumable instances or statements like numpy.arange(). Is there any way to fix this?
Given a file like the following and let deoplete#sources#jedi#show_docstring = 1
it would be nice if the completion for bar
would not open the preview window with the docstring, since there is nothing to display.
def foo():
"""foo"""
def bar():
pass
fo
ba
When starting to edit the first python file. deoplete-jedi fails to start its server with the message:
2017-01-18 11:04:24,709 [DEBUG @ msgpack_stream.py:send:33] 29070 - sent [0, 4, 'nvim_err_write', ('[deoplete] Error when loading source jedi: Failed to start server (python -u /home/languitar/.local/share/nvim/bundle/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi/server.py --desc-length 0 --debug --debug-level 0): Server exited with b\'Traceback (most recent call last):\\n File "/home/languitar/.local/share/nvim/bundle/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 24, in <module>\\n from deoplete.deoplete import SourceInitError\\nModuleNotFoundError: No module named \\\'deoplete\\\'\\n\': error: 1. Ignoring.\n',)]
It works ;-)
NVIM 0.1.7
Build type: Release
Compilation: /usr/bin/cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -Wconversion -O2 -DNDEBUG -DDISABLE_LOG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -DHAVE_CONFIG_H -D_GNU_SOURCE -I/build/neovim/src/build/config -I/build/neovim/src/neovim-0.1.7/src -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/build/neovim/src/build/src/nvim/auto -I/build/neovim/src/build/include
Compiled by builduser
Optional features included (+) or not (-): +acl +iconv +jemalloc +tui
For differences from Vim, see :help vim-differences
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/share/nvim"
neovim-python installation are up to date and :UpdateRemotePlugins
has been called.
set runtimepath+=~/path/to/deoplete.nvim/
set runtimepath+=~/path/to/deoplete-jedi/
let g:deoplete#enable_at_startup = 1
call deoplete#custom#set('jedi', 'debug_enabled', 1)
call deoplete#enable_logging('DEBUG', '/tmp/deoplete.log')
:e
test.pyi
logfile_py2_script.txt
logfile_py3_rplugin.txt
logfile_py3_script.txt
deoplete.log.txt
example:
import re
re.match('$1
re.match('xxxx')$2
re.match('xxxx') $3
the autocomplete menu appears when the cursor on the $1, $2 and $3 position , even if I just enter space char as the $3 position
mini init.vim
" vim-plug {
call plug#begin('~/dotfiles/nvim/plugged')
" deoplete and sources about {
Plug 'Shougo/deoplete.nvim'
Plug 'zchee/deoplete-jedi', { 'for': 'python' }
" }
call plug#end()
" }
" deoplete.nvim {
let g:deoplete#enable_at_startup = 1
let g:deoplete#max_list = 15
inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>
function! s:my_cr_function()
return (pumvisible() ? "\<C-y>" : "" ) . "\<CR>"
endfunction
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
colorscheme evening
" }
Starting deoplete with deoplete-jedi causes a lot of thread I/O.
This causes constant CPU usage (of up to ~2%) for Neovim processes, where deoplete-jedi is loaded/used.
I've noticed this with long running Neovim instances before
(Shougo/deoplete.nvim#336), but have just noticed
that it is easily reproducible currently.
set rtp+=~/.vim/neobundles/deoplete
set rtp+=~/.vim/neobundles/deoplete-jedi
call deoplete#enable()
call deoplete#custom#set('jedi', 'debug_enabled', 1)
call deoplete#enable_logging('DEBUG', '/tmp/deoplete.log')
The deoplete.log is very terse:
2016-09-21 09:26:01,741 INFO (deoplete.logging) --- Deoplete Log Start ---
2016-09-21 09:26:01,746 INFO (deoplete.logging) NVIM v0.1.6-122-gefe8311, Python 3.5.2, neovim client 0.1.9
2016-09-21 09:26:24,961 DEBUG (deoplete.jedi.cache) Starting reaper thread
The strace output. At ~ 09:26:25 I've called :call deoplete#enable()
.
You can see that the last thing before the timeouts is the answer about the tag file (see Neovim log below).
I've waited until 09:26:40 and then quit Neovim - it was constantly spamming the same messages to the strace log then.
11746 09:25:59.409572 execve("/usr/local/bin/vi", ["vi", "-u", "vimrc.minimal"], [/* 72 vars */]) = 0
…
11746 09:25:59.415874 getcwd("/home/user/.dotfiles/vim/neobundles/deoplete", 4096) = 47
11746 09:25:59.415909 chdir("/home/user/.dotfiles/vim/neobundles/deoplete") = 0
…
11746 09:26:25.042966 write(17, "\224\1\r\300\222\244tags\273/home/user/.dotfile"..., 38) = 38
11791 09:26:25.042984 <... epoll_wait resumed> [{EPOLLIN, {u32=0, u64=18045263999896911872}}], 3, -1000) = 1
11746 09:26:25.042999 epoll_wait(10, [], 1024, 0) = 0
11746 09:26:25.043043 write(22, "\1\0\0\0\0\0\0\0", 8) = 8
11842 09:26:25.043063 <... epoll_wait resumed> [{EPOLLIN, {u32=22, u64=22}}], 1024, -1) = 1
11746 09:26:25.043072 epoll_wait(10, <unfinished ...>
11842 09:26:25.043078 read(22, <unfinished ...>
11746 09:26:25.043084 <... epoll_wait resumed> [], 1024, 0) = 0
11842 09:26:25.043090 <... read resumed> "\1\0\0\0\0\0\0\0", 1024) = 8
11746 09:26:25.043097 epoll_wait(10, <unfinished ...>
11791 09:26:25.043104 read(0, <unfinished ...>
11842 09:26:25.043110 write(28, "\33[?25l\33[1;1H\33[?12l\33[?25h", 24 <unfinished ...>
11791 09:26:25.043117 <... read resumed> "\224\1\r\300\222\244tags\273/home/user/.dotfile"..., 262144) = 38
11842 09:26:25.043162 <... write resumed> ) = 24
11842 09:26:25.043185 epoll_wait(24, [], 1024, 0) = 0
11842 09:26:25.043206 write(28, "\33[?25l\33[1;1H\33[?12l\33[?25h", 24) = 24
11791 09:26:25.043274 stat("/etc/localtime", <unfinished ...>
11842 09:26:25.043285 epoll_wait(24, [], 1024, 0) = 0
11791 09:26:25.043300 <... stat resumed> {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11842 09:26:25.043309 epoll_wait(16, <unfinished ...>
11791 09:26:25.043377 write(4, "2016-09-21 09:26:25,043 [DEBUG @"..., 95) = 95
11791 09:26:25.043497 stat("/etc/localtime", <unfinished ...>
11873 09:26:25.043513 <... select resumed> ) = 0 (Timeout)
11791 09:26:25.043529 <... stat resumed> {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11873 09:26:25.043546 futex(0x7fc92fd13764, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 33, {1474442785, 48529000}, ffffffff <unfinished ...>
11791 09:26:25.043586 futex(0x7fc92fd13764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc92fd13760, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
11873 09:26:25.043643 <... futex resumed> ) = 0
11791 09:26:25.043655 <... futex resumed> ) = 1
11873 09:26:25.043696 futex(0x7fc92fd13720, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
11791 09:26:25.043734 futex(0x7fc92fd13720, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
11873 09:26:25.043772 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
11791 09:26:25.043858 <... futex resumed> ) = 0
11873 09:26:25.044015 futex(0x7fc92fd13720, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
11791 09:26:25.044090 write(4, "2016-09-21 09:26:25,043 [DEBUG @"..., 147 <unfinished ...>
11873 09:26:25.044168 <... futex resumed> ) = 0
11791 09:26:25.044221 <... write resumed> ) = 147
11873 09:26:25.044366 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.044770 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11791 09:26:25.044839 stat("/etc/localtime", <unfinished ...>
11874 09:26:25.044960 futex(0x7fc92fd13764, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 35, {1474442785, 49844000}, ffffffff <unfinished ...>
11791 09:26:25.045051 <... stat resumed> {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.045538 futex(0x7fc92fd13764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc92fd13760, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
11874 09:26:25.045636 <... futex resumed> ) = 0
11874 09:26:25.045681 futex(0x7fc92fd13720, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
11791 09:26:25.045708 write(4, "2016-09-21 09:26:25,044 [DEBUG @"..., 142 <unfinished ...>
11874 09:26:25.045743 <... futex resumed> ) = 0
11791 09:26:25.045775 <... write resumed> ) = 142
11791 09:26:25.045847 futex(0x7fc92fd13764, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 37, {1474442785, 50825000}, ffffffff <unfinished ...>
11874 09:26:25.046060 futex(0x7fc92fd13764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc92fd13760, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
11791 09:26:25.046155 <... futex resumed> ) = 0
11874 09:26:25.046183 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 56148000}, ffffffff <unfinished ...>
11791 09:26:25.046455 futex(0x7fc92fd13720, FUTEX_WAKE_PRIVATE, 1) = 0
11791 09:26:25.047050 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.047530 write(4, "2016-09-21 09:26:25,046 [DEBUG @"..., 165) = 165
11791 09:26:25.048475 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.048766 write(4, "2016-09-21 09:26:25,048 [DEBUG @"..., 182) = 182
11791 09:26:25.049153 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.049414 write(4, "2016-09-21 09:26:25,048 [DEBUG @"..., 192) = 192
11791 09:26:25.049675 write(1, "\224\0\16\261vim_call_function\222\243map\222\222\244tag"..., 86 <unfinished ...>
11746 09:26:25.049864 <... epoll_wait resumed> [{EPOLLIN, {u32=19, u64=19}}], 1024, 4000) = 1
11746 09:26:25.050019 read(19, "\224\0\16\261vim_call_function\222\243map\222\222\244tag"..., 64900) = 86
11746 09:26:25.050435 getcwd("/home/user/.dotfiles/vim/neobundles/deoplete", 4096) = 47
11746 09:26:25.050708 stat("/home/user/.dotfiles/vim/neobundles/deoplete/tags", <unfinished ...>
11791 09:26:25.050769 <... write resumed> ) = 86
11746 09:26:25.050802 <... stat resumed> {st_mode=S_IFREG|0644, st_size=28278, ...}) = 0
11746 09:26:25.050909 stat("/home/user/.dotfiles/tags", {st_mode=S_IFREG|0644, st_size=19038365, ...}) = 0
11746 09:26:25.051047 write(17, "\224\1\16\300\222\3313/home/user/.dotfiles/vi"..., 86) = 86
11746 09:26:25.051211 write(22, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
11791 09:26:25.051254 stat("/etc/localtime", <unfinished ...>
11746 09:26:25.051309 <... write resumed> ) = 8
11842 09:26:25.051361 <... epoll_wait resumed> [{EPOLLIN, {u32=22, u64=22}}], 1024, -1) = 1
11746 09:26:25.051412 epoll_wait(10, <unfinished ...>
11842 09:26:25.051450 read(22, <unfinished ...>
11746 09:26:25.051478 <... epoll_wait resumed> [], 1024, 0) = 0
11842 09:26:25.051501 <... read resumed> "\1\0\0\0\0\0\0\0", 1024) = 8
11746 09:26:25.051550 epoll_wait(10, <unfinished ...>
11791 09:26:25.051588 <... stat resumed> {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11842 09:26:25.051640 write(28, "\33[?25l\33[1;1H\33[?12l\33[?25h", 24) = 24
11842 09:26:25.051853 epoll_wait(24, [], 1024, 0) = 0
11842 09:26:25.051943 write(28, "\33[?25l\33[1;1H\33[?12l\33[?25h", 24 <unfinished ...>
11791 09:26:25.051991 write(4, "2016-09-21 09:26:25,050 [DEBUG @"..., 164 <unfinished ...>
11842 09:26:25.052064 <... write resumed> ) = 24
11842 09:26:25.052332 epoll_wait(24, <unfinished ...>
11791 09:26:25.052384 <... write resumed> ) = 164
11842 09:26:25.052413 <... epoll_wait resumed> [], 1024, 0) = 0
11842 09:26:25.052484 epoll_wait(16, <unfinished ...>
11791 09:26:25.053980 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.054389 write(4, "2016-09-21 09:26:25,052 [DEBUG @"..., 95) = 95
11873 09:26:25.054510 <... select resumed> ) = 0 (Timeout)
11791 09:26:25.054520 stat("/etc/localtime", <unfinished ...>
11873 09:26:25.054532 futex(0x7fc92fd13764, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 39, {1474442785, 59520000}, ffffffff <unfinished ...>
11791 09:26:25.054545 <... stat resumed> {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.054596 futex(0x7fc92fd13764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc92fd13760, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
11873 09:26:25.054625 <... futex resumed> ) = 0
11791 09:26:25.054632 <... futex resumed> ) = 1
11873 09:26:25.054641 futex(0x7fc92fd13720, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
11791 09:26:25.054659 futex(0x7fc92fd13720, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
11873 09:26:25.054690 <... futex resumed> ) = 0
11791 09:26:25.054698 <... futex resumed> ) = 1
11873 09:26:25.054710 futex(0x7fc92fd13720, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
11791 09:26:25.054723 write(4, "2016-09-21 09:26:25,054 [DEBUG @"..., 100 <unfinished ...>
11873 09:26:25.054740 <... futex resumed> ) = 0
11791 09:26:25.054751 <... write resumed> ) = 100
11873 09:26:25.054793 futex(0x7fc92fd13764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc92fd13760, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
11791 09:26:25.054803 futex(0x7fc92fd13764, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 41, {1474442785, 59760000}, ffffffff <unfinished ...>
11873 09:26:25.054814 <... futex resumed> ) = 0
11873 09:26:25.054829 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11791 09:26:25.054838 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
11791 09:26:25.054859 futex(0x7fc92fd13720, FUTEX_WAKE_PRIVATE, 1) = 0
11791 09:26:25.054915 epoll_wait(5, [{EPOLLIN, {u32=0, u64=18045263999896911872}}], 3, -1000) = 1
11791 09:26:25.054989 read(0, "\224\1\16\300\222\3313/home/user/.dotfiles/vi"..., 262144) = 86
11791 09:26:25.055086 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.055148 write(4, "2016-09-21 09:26:25,055 [DEBUG @"..., 95) = 95
11791 09:26:25.055260 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.055327 write(4, "2016-09-21 09:26:25,055 [DEBUG @"..., 194) = 194
11791 09:26:25.055424 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.055481 write(4, "2016-09-21 09:26:25,055 [DEBUG @"..., 189) = 189
11791 09:26:25.055568 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.055622 write(4, "2016-09-21 09:26:25,055 [DEBUG @"..., 165) = 165
11791 09:26:25.055705 stat("/home/user/.dotfiles/vim/neobundles/deoplete/tags", {st_mode=S_IFREG|0644, st_size=28278, ...}) = 0
11791 09:26:25.055747 stat("/home/user/.dotfiles/vim/neobundles/deoplete/tags", {st_mode=S_IFREG|0644, st_size=28278, ...}) = 0
11791 09:26:25.055795 stat("/home/user/.dotfiles/tags", {st_mode=S_IFREG|0644, st_size=19038365, ...}) = 0
11791 09:26:25.055833 stat("/home/user/.dotfiles/tags", {st_mode=S_IFREG|0644, st_size=19038365, ...}) = 0
11791 09:26:25.055875 stat("/home/user/.dotfiles/vim/neobundles/deoplete/tags", {st_mode=S_IFREG|0644, st_size=28278, ...}) = 0
11791 09:26:25.055922 open("/home/user/.dotfiles/vim/neobundles/deoplete/tags", O_RDONLY|O_CLOEXEC) = 9
11791 09:26:25.055967 fstat(9, {st_mode=S_IFREG|0644, st_size=28278, ...}) = 0
11791 09:26:25.055998 ioctl(9, TCGETS, 0x7fff893e1310) = -1 ENOTTY (Inappropriate ioctl for device)
11791 09:26:25.056043 lseek(9, 0, SEEK_CUR) = 0
11791 09:26:25.056085 ioctl(9, TCGETS, 0x7fff893e12c0) = -1 ENOTTY (Inappropriate ioctl for device)
11874 09:26:25.056560 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11791 09:26:25.056642 lseek(9, 0, SEEK_CUR) = 0
11791 09:26:25.056834 futex(0x7fc92fd13764, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 43, {1474442785, 61794000}, ffffffff <unfinished ...>
11874 09:26:25.057026 futex(0x7fc92fd13764, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc92fd13760, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
11791 09:26:25.057144 <... futex resumed> ) = 0
11874 09:26:25.057190 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 67140000}, ffffffff <unfinished ...>
11791 09:26:25.057315 futex(0x7fc92fd13720, FUTEX_WAKE_PRIVATE, 1) = 0
11791 09:26:25.057512 read(9, "!_TAG_FILE_FORMAT\t2\t/extended fo"..., 8192) = 8192
11791 09:26:25.057705 read(9, "n\tclass:LoggingMixin\ndebug\trplug"..., 8192) = 8192
11791 09:26:25.057913 read(9, "ython3/deoplete/filter/matcher_f"..., 8192) = 8192
11791 09:26:25.058112 read(9, "d/deoplete/handler.vim\t/^functio"..., 8192) = 3702
11791 09:26:25.058214 read(9, "", 8192) = 0
11791 09:26:25.058293 close(9) = 0
11791 09:26:25.058384 stat("", 0x7fff893e0fd0) = -1 ENOENT (No such file or directory)
11791 09:26:25.058529 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.058605 write(4, "2016-09-21 09:26:25,058 [DEBUG @"..., 138) = 138
11791 09:26:25.058703 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.058766 write(4, "2016-09-21 09:26:25,058 [DEBUG @"..., 135) = 135
11791 09:26:25.058862 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.058920 write(4, "2016-09-21 09:26:25,058 [DEBUG @"..., 95) = 95
11791 09:26:25.058999 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
11791 09:26:25.059055 write(4, "2016-09-21 09:26:25,058 [DEBUG @"..., 100) = 100
11791 09:26:25.059111 epoll_wait(5, <unfinished ...>
11873 09:26:25.065009 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.065344 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.067310 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.067651 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 77612000}, ffffffff <unfinished ...>
11873 09:26:25.075523 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.075590 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.077726 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.078072 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 88034000}, ffffffff <unfinished ...>
11873 09:26:25.085791 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.086118 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.088118 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.088178 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 98168000}, ffffffff <unfinished ...>
11873 09:26:25.096375 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.096830 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.098376 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.098840 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 108780000}, ffffffff <unfinished ...>
11873 09:26:25.107257 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.107323 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.108876 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.108943 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 118933000}, ffffffff <unfinished ...>
11873 09:26:25.117522 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.117863 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.119073 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.119395 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 129344000}, ffffffff <unfinished ...>
11873 09:26:25.128156 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.128545 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.129436 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.129878 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 139821000}, ffffffff <unfinished ...>
11873 09:26:25.138726 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.138792 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.139892 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.140027 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 150009000}, ffffffff <unfinished ...>
11873 09:26:25.148944 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.149223 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.150185 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.150555 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 160502000}, ffffffff <unfinished ...>
11873 09:26:25.159417 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.159482 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.160630 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.160969 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 170943000}, ffffffff <unfinished ...>
11873 09:26:25.169661 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.170108 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.171037 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.171168 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 181150000}, ffffffff <unfinished ...>
11873 09:26:25.180556 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.181010 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.181286 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.181619 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 191574000}, ffffffff <unfinished ...>
11873 09:26:25.191240 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.191346 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.191663 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.191781 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 201763000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.201941 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 211934000}, ffffffff <unfinished ...>
11873 09:26:25.201981 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.202068 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.212097 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.212584 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 222526000}, ffffffff <unfinished ...>
11873 09:26:25.216316 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.216416 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.222614 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.222831 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 232819000}, ffffffff <unfinished ...>
11873 09:26:25.228184 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.228746 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.234083 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.234926 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 244843000}, ffffffff <unfinished ...>
11873 09:26:25.239262 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.239345 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.245020 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.245511 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 255469000}, ffffffff <unfinished ...>
11873 09:26:25.249547 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.250123 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.255590 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.255714 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 265697000}, ffffffff <unfinished ...>
11873 09:26:25.260440 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.260958 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.265827 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.266288 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 276248000}, ffffffff <unfinished ...>
11873 09:26:25.271177 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.271245 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.276336 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.276465 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 286445000}, ffffffff <unfinished ...>
11873 09:26:25.281453 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.281770 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.286622 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.287044 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 296960000}, ffffffff <unfinished ...>
11873 09:26:25.292010 <... select resumed> ) = 0 (Timeout)
11873 09:26:25.292109 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:25.297051 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:25.297165 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442785, 307155000}, ffffffff <unfinished ...>
…
11873 09:26:41.654383 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11874 09:26:41.663552 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out)
11874 09:26:41.663647 futex(0x7fc91c000b10, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {1474442801, 673635000}, ffffffff <unfinished ...>
11873 09:26:41.664544 <... select resumed> ) = 0 (Timeout)
11873 09:26:41.664634 select(0, NULL, NULL, NULL, {0, 10000} <unfinished ...>
11842 09:26:41.667433 <... epoll_wait resumed> [{EPOLLIN, {u32=0, u64=0}}], 1024, -1) = 1
11842 09:26:41.667462 read(0, "\r", 4095) = 1
11842 09:26:41.667507 write(13, "\1\0\0\0\0\0\0\0", 8) = 8
11746 09:26:41.667543 <... epoll_wait resumed> [{EPOLLIN, {u32=13, u64=13}}], 1024, 4000) = 1
11842 09:26:41.667568 futex(0x7f2d9822371c, FUTEX_WAIT_PRIVATE, 55, NULL <unfinished ...>
11746 09:26:41.667580 read(13, "\1\0\0\0\0\0\0\0", 1024) = 8
11746 09:26:41.667616 futex(0x7f2d9822371c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7f2d98223718, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
11842 09:26:41.667644 <... futex resumed> ) = 0
11746 09:26:41.667654 epoll_wait(10, <unfinished ...>
11842 09:26:41.667668 futex(0x7f2d982236f0, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
11746 09:26:41.667679 <... epoll_wait resumed> [], 1024, 0) = 0
11842 09:26:41.667686 <... futex resumed> ) = 0
11746 09:26:41.667692 write(22, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
11842 09:26:41.667702 epoll_wait(16, <unfinished ...>
11746 09:26:41.667708 <... write resumed> ) = 8
11842 09:26:41.667716 <... epoll_wait resumed> [{EPOLLIN, {u32=22, u64=22}}], 1024, -1) = 1
11746 09:26:41.667727 epoll_wait(10, <unfinished ...>
11842 09:26:41.667736 read(22, <unfinished ...>
11746 09:26:41.667742 <... epoll_wait resumed> [], 1024, 0) = 0
11746 09:26:41.667777 open("/home/user/.local/share/nvim/shada/main.shada", O_RDONLY|O_CLOEXEC <unfinished ...>
11842 09:26:41.667792 <... read resumed> "\1\0\0\0\0\0\0\0", 1024) = 8
11746 09:26:41.667805 <... open resumed> ) = 30
11842 09:26:41.667822 write(28, "\33[?25l\33[52;3H\33[?12l\33[?25h", 25 <unfinished ...>
11746 09:26:41.667835 stat("/home/user/.local/share/nvim/shada/main.shada", <unfinished ...>
…
11866 09:26:42.035647 exit_group(0) = ?
11866 09:26:42.036820 +++ exited with 0 +++
nvim-log_11791
:
016-09-21 09:26:25,052 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,054 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:25,055 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,055 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 14, None, [b'/home/user/.dotfiles/vim/neobundles/deoplete/tags', b'/home/user/.dotfiles/tag
2016-09-21 09:26:25,055 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, [b'/home/user/.dotfiles/vim/neobundles/deoplete/tags', b'/home/user/.dotfiles/tags']
2016-09-21 09:26:25,055 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:25,058 [DEBUG @ session.py:handler:208] 11791 - greenlet <greenlet.greenlet object at 0x7fc929b6b470> finished executing
2016-09-21 09:26:25,058 [DEBUG @ session.py:handler:213] 11791 - greenlet <greenlet.greenlet object at 0x7fc929b6b470> is now dying...
2016-09-21 09:26:25,058 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,058 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:41,865 [DEBUG @ base.py:_on_error:166] 11791 - EOF
2016-09-21 09:26:41,866 [DEBUG @ base.py:stop:149] 11791 - Stopped event loop
2016-09-21 09:26:41,870 [DEBUG @ base.py:run:140] 11791 - Exited event loop
Full nvim-log:
2016-09-21 09:26:00,925 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 1, b'vim_get_api_info', ()]
2016-09-21 09:26:00,925 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x01\xb0vim_get_api_info\x90''
2016-09-21 09:26:00,926 [DEBUG @ base.py:run:138] 11791 - Entering event loop
2016-09-21 09:26:00,926 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:00,927 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [0, 1, b'poll', []]
2016-09-21 09:26:00,928 [DEBUG @ async_session.py:_on_request:86] 11791 - received request: b'poll', []
2016-09-21 09:26:00,928 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:00,928 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:00,929 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:00,932 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 1, None, [1, {b'functions': [{b'name': b'nvim_buf_line_count', b'parameters': [[b'Buffer', b'buffer']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'buffer_get_line', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'return_type': b'String', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'buffer_set_line', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index'], [b'String', b'line']], b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'buffer_del_line', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'buffer_get_line_slice', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'include_start'], [b'Boolean', b'include_end']], b'return_type': b'ArrayOf(String)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_buf_get_lines', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'receives_channel_id': True, b'return_type': b'ArrayOf(String)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'buffer_set_line_slice', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'include_start'], [b'Boolean', b'include_end'], [b'ArrayOf(String)', b'replacement']], b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_buf_set_lines', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing'], [b'ArrayOf(String)', b'replacement']], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_get_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_set_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_del_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'buffer_set_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'buffer_del_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_buf_get_option', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_set_option', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_get_number', b'parameters': [[b'Buffer', b'buffer']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_get_name', b'parameters': [[b'Buffer', b'buffer']], b'return_type': b'String', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_set_name', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'return_type': b'Boolean', b'name': b'nvim_buf_is_valid', b'parameters': [[b'Buffer', b'buffer']], b'async': False, b'method': True}, {b'name': b'buffer_insert', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'lnum'], [b'ArrayOf(String)', b'lines']], b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_buf_get_mark', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'ArrayOf(Integer, 2)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_add_highlight', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'String', b'hl_group'], [b'Integer', b'line'], [b'Integer', b'col_start'], [b'Integer', b'col_end']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_clear_highlight', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_tabpage_list_wins', b'parameters': [[b'Tabpage', b'tabpage']], b'return_type': b'ArrayOf(Window)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_tabpage_get_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_tabpage_set_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_tabpage_del_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'tabpage_set_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'tabpage_del_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_tabpage_get_win', b'parameters': [[b'Tabpage', b'tabpage']], b'return_type': b'Window', b'can_fail': True, b'async': False, b'method': True}, {b'return_type': b'Boolean', b'name': b'nvim_tabpage_is_valid', b'parameters': [[b'Tabpage', b'tabpage']], b'async': False, b'method': True}, {b'name': b'nvim_ui_attach', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Dictionary', b'options']], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'ui_attach', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Boolean', b'enable_rgb']], b'receives_channel_id': True, b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_ui_detach', b'parameters': [], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_ui_try_resize', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_ui_set_option', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_command', b'parameters': [[b'String', b'str']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'void', b'name': b'nvim_feedkeys', b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'async': False, b'method': False}, {b'return_type': b'Integer', b'name': b'nvim_input', b'parameters': [[b'String', b'keys']], b'async': True, b'method': False}, {b'return_type': b'String', b'name': b'nvim_replace_termcodes', b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'async': False, b'method': False}, {b'name': b'nvim_command_output', b'parameters': [[b'String', b'str']], b'return_type': b'String', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_eval', b'parameters': [[b'String', b'str']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_call_function', b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_strwidth', b'parameters': [[b'String', b'str']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'ArrayOf(String)', b'name': b'nvim_list_runtime_paths', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_set_current_dir', b'parameters': [[b'String', b'dir']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_get_current_line', b'parameters': [], b'return_type': b'String', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_set_current_line', b'parameters': [[b'String', b'line']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_del_current_line', b'parameters': [], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_get_var', b'parameters': [[b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_set_var', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_del_var', b'parameters': [[b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'vim_set_var', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_del_var', b'parameters': [[b'String', b'name']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_get_vvar', b'parameters': [[b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_get_option', b'parameters': [[b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_set_option', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'void', b'name': b'nvim_out_write', b'parameters': [[b'String', b'str']], b'async': False, b'method': False}, {b'return_type': b'void', b'name': b'nvim_err_write', b'parameters': [[b'String', b'str']], b'async': False, b'method': False}, {b'return_type': b'void', b'name': b'nvim_err_writeln', b'parameters': [[b'String', b'str']], b'async': False, b'method': False}, {b'return_type': b'ArrayOf(Buffer)', b'name': b'nvim_list_bufs', b'parameters': [], b'async': False, b'method': False}, {b'return_type': b'Buffer', b'name': b'nvim_get_current_buf', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_set_current_buf', b'parameters': [[b'Buffer', b'buffer']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'ArrayOf(Window)', b'name': b'nvim_list_wins', b'parameters': [], b'async': False, b'method': False}, {b'return_type': b'Window', b'name': b'nvim_get_current_win', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_set_current_win', b'parameters': [[b'Window', b'window']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'ArrayOf(Tabpage)', b'name': b'nvim_list_tabpages', b'parameters': [], b'async': False, b'method': False}, {b'return_type': b'Tabpage', b'name': b'nvim_get_current_tabpage', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_set_current_tabpage', b'parameters': [[b'Tabpage', b'tabpage']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_subscribe', b'parameters': [[b'String', b'event']], b'receives_channel_id': True, b'return_type': b'void', b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_unsubscribe', b'parameters': [[b'String', b'event']], b'receives_channel_id': True, b'return_type': b'void', b'async': False, b'method': False, b'noeval': True}, {b'return_type': b'Integer', b'name': b'nvim_get_color_by_name', b'parameters': [[b'String', b'name']], b'async': False, b'method': False}, {b'return_type': b'Dictionary', b'name': b'nvim_get_color_map', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_get_api_info', b'parameters': [], b'receives_channel_id': True, b'return_type': b'Array', b'async': True, b'method': False, b'noeval': True}, {b'name': b'nvim_win_get_buf', b'parameters': [[b'Window', b'window']], b'return_type': b'Buffer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_cursor', b'parameters': [[b'Window', b'window']], b'return_type': b'ArrayOf(Integer, 2)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_cursor', b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_height', b'parameters': [[b'Window', b'window']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_height', b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_width', b'parameters': [[b'Window', b'window']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_width', b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_var', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_var', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_del_var', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'window_set_var', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'window_del_var', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_win_get_option', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_option', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_position', b'parameters': [[b'Window', b'window']], b'return_type': b'ArrayOf(Integer, 2)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_tabpage', b'parameters': [[b'Window', b'window']], b'return_type': b'Tabpage', b'can_fail': True, b'async': False, b'method': True}, {b'return_type': b'Boolean', b'name': b'nvim_win_is_valid', b'parameters': [[b'Window', b'window']], b'async': False, b'method': True}, {b'name': b'buffer_line_count', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_buf_line_count', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_lines', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'receives_channel_id': True, b'impl_name': b'nvim_buf_get_lines', b'return_type': b'ArrayOf(String)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_set_lines', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing'], [b'ArrayOf(String)', b'replacement']], b'receives_channel_id': True, b'impl_name': b'nvim_buf_set_lines', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'impl_name': b'nvim_buf_get_var', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_option', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'impl_name': b'nvim_buf_get_option', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_set_option', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'impl_name': b'nvim_buf_set_option', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_number', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_buf_get_number', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_name', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_buf_get_name', b'return_type': b'String', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_set_name', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'impl_name': b'nvim_buf_set_name', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_is_valid', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_buf_is_valid', b'return_type': b'Boolean', b'deprecated_since': 1, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_mark', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'impl_name': b'nvim_buf_get_mark', b'return_type': b'ArrayOf(Integer, 2)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_add_highlight', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'String', b'hl_group'], [b'Integer', b'line'], [b'Integer', b'col_start'], [b'Integer', b'col_end']], b'impl_name': b'nvim_buf_add_highlight', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_clear_highlight', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'impl_name': b'nvim_buf_clear_highlight', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'tabpage_get_windows', b'parameters': [[b'Tabpage', b'tabpage']], b'impl_name': b'nvim_tabpage_list_wins', b'return_type': b'ArrayOf(Window)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'tabpage_get_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'impl_name': b'nvim_tabpage_get_var', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'tabpage_get_window', b'parameters': [[b'Tabpage', b'tabpage']], b'impl_name': b'nvim_tabpage_get_win', b'return_type': b'Window', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'tabpage_is_valid', b'parameters': [[b'Tabpage', b'tabpage']], b'impl_name': b'nvim_tabpage_is_valid', b'return_type': b'Boolean', b'deprecated_since': 1, b'async': False, b'method': True, b'noeval': True}, {b'name': b'ui_detach', b'parameters': [], b'receives_channel_id': True, b'impl_name': b'nvim_ui_detach', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'ui_try_resize', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'receives_channel_id': True, b'impl_name': b'nvim_ui_try_resize', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_command', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_command', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_feedkeys', b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'impl_name': b'nvim_feedkeys', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_input', b'parameters': [[b'String', b'keys']], b'impl_name': b'nvim_input', b'return_type': b'Integer', b'deprecated_since': 1, b'async': True, b'method': False, b'noeval': True}, {b'name': b'vim_replace_termcodes', b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'impl_name': b'nvim_replace_termcodes', b'return_type': b'String', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_command_output', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_command_output', b'return_type': b'String', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_eval', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_eval', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_call_function', b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'impl_name': b'nvim_call_function', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_strwidth', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_strwidth', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_list_runtime_paths', b'parameters': [], b'impl_name': b'nvim_list_runtime_paths', b'return_type': b'ArrayOf(String)', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_change_directory', b'parameters': [[b'String', b'dir']], b'impl_name': b'nvim_set_current_dir', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_current_line', b'parameters': [], b'impl_name': b'nvim_get_current_line', b'return_type': b'String', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_current_line', b'parameters': [[b'String', b'line']], b'impl_name': b'nvim_set_current_line', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_del_current_line', b'parameters': [], b'impl_name': b'nvim_del_current_line', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_var', b'parameters': [[b'String', b'name']], b'impl_name': b'nvim_get_var', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_vvar', b'parameters': [[b'String', b'name']], b'impl_name': b'nvim_get_vvar', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_option', b'parameters': [[b'String', b'name']], b'impl_name': b'nvim_get_option', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_option', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'impl_name': b'nvim_set_option', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_out_write', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_out_write', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_err_write', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_err_write', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_report_error', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_err_writeln', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_buffers', b'parameters': [], b'impl_name': b'nvim_list_bufs', b'return_type': b'ArrayOf(Buffer)', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_current_buffer', b'parameters': [], b'impl_name': b'nvim_get_current_buf', b'return_type': b'Buffer', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_current_buffer', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_set_current_buf', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_windows', b'parameters': [], b'impl_name': b'nvim_list_wins', b'return_type': b'ArrayOf(Window)', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_current_window', b'parameters': [], b'impl_name': b'nvim_get_current_win', b'return_type': b'Window', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_current_window', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_set_current_win', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_tabpages', b'parameters': [], b'impl_name': b'nvim_list_tabpages', b'return_type': b'ArrayOf(Tabpage)', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_current_tabpage', b'parameters': [], b'impl_name': b'nvim_get_current_tabpage', b'return_type': b'Tabpage', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_current_tabpage', b'parameters': [[b'Tabpage', b'tabpage']], b'impl_name': b'nvim_set_current_tabpage', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_subscribe', b'parameters': [[b'String', b'event']], b'receives_channel_id': True, b'impl_name': b'nvim_subscribe', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_unsubscribe', b'parameters': [[b'String', b'event']], b'receives_channel_id': True, b'impl_name': b'nvim_unsubscribe', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_name_to_color', b'parameters': [[b'String', b'name']], b'impl_name': b'nvim_get_color_by_name', b'return_type': b'Integer', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_color_map', b'parameters': [], b'impl_name': b'nvim_get_color_map', b'return_type': b'Dictionary', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_api_info', b'parameters': [], b'receives_channel_id': True, b'impl_name': b'nvim_get_api_info', b'return_type': b'Array', b'deprecated_since': 1, b'async': True, b'method': False, b'noeval': True}, {b'name': b'window_get_buffer', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_buf', b'return_type': b'Buffer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_cursor', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_cursor', b'return_type': b'ArrayOf(Integer, 2)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_set_cursor', b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'impl_name': b'nvim_win_set_cursor', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_height', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_height', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_set_height', b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'impl_name': b'nvim_win_set_height', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_width', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_width', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_set_width', b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'impl_name': b'nvim_win_set_width', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_var', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'impl_name': b'nvim_win_get_var', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_option', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'impl_name': b'nvim_win_get_option', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_set_option', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'impl_name': b'nvim_win_set_option', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_position', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_position', b'return_type': b'ArrayOf(Integer, 2)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_tabpage', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_tabpage', b'return_type': b'Tabpage', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_is_valid', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_is_valid', b'return_type': b'Boolean', b'deprecated_since': 1, b'async': False, b'method': True, b'noeval': True}], b'error_types': {b'Validation': {b'id': 1}, b'Exception': {b'id': 0}}, b'types': {b'Tabpage': {b'id': 2, b'prefix': b'nvim_tabpage_'}, b'Buffer': {b'id': 0, b'prefix': b'nvim_buf_'}, b'Window': {b'id': 1, b'prefix': b'nvim_win_'}}}]]
2016-09-21 09:26:00,934 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, [1, {b'functions': [{b'name': b'nvim_buf_line_count', b'parameters': [[b'Buffer', b'buffer']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'buffer_get_line', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'return_type': b'String', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'buffer_set_line', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index'], [b'String', b'line']], b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'buffer_del_line', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'buffer_get_line_slice', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'include_start'], [b'Boolean', b'include_end']], b'return_type': b'ArrayOf(String)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_buf_get_lines', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'receives_channel_id': True, b'return_type': b'ArrayOf(String)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'buffer_set_line_slice', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'include_start'], [b'Boolean', b'include_end'], [b'ArrayOf(String)', b'replacement']], b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_buf_set_lines', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing'], [b'ArrayOf(String)', b'replacement']], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_get_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_set_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_del_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'buffer_set_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'buffer_del_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_buf_get_option', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_set_option', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_get_number', b'parameters': [[b'Buffer', b'buffer']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_get_name', b'parameters': [[b'Buffer', b'buffer']], b'return_type': b'String', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_set_name', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'return_type': b'Boolean', b'name': b'nvim_buf_is_valid', b'parameters': [[b'Buffer', b'buffer']], b'async': False, b'method': True}, {b'name': b'buffer_insert', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'lnum'], [b'ArrayOf(String)', b'lines']], b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_buf_get_mark', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'return_type': b'ArrayOf(Integer, 2)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_add_highlight', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'String', b'hl_group'], [b'Integer', b'line'], [b'Integer', b'col_start'], [b'Integer', b'col_end']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_buf_clear_highlight', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_tabpage_list_wins', b'parameters': [[b'Tabpage', b'tabpage']], b'return_type': b'ArrayOf(Window)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_tabpage_get_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_tabpage_set_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_tabpage_del_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'tabpage_set_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'tabpage_del_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_tabpage_get_win', b'parameters': [[b'Tabpage', b'tabpage']], b'return_type': b'Window', b'can_fail': True, b'async': False, b'method': True}, {b'return_type': b'Boolean', b'name': b'nvim_tabpage_is_valid', b'parameters': [[b'Tabpage', b'tabpage']], b'async': False, b'method': True}, {b'name': b'nvim_ui_attach', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Dictionary', b'options']], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'ui_attach', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Boolean', b'enable_rgb']], b'receives_channel_id': True, b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_ui_detach', b'parameters': [], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_ui_try_resize', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_ui_set_option', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'receives_channel_id': True, b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_command', b'parameters': [[b'String', b'str']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'void', b'name': b'nvim_feedkeys', b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'async': False, b'method': False}, {b'return_type': b'Integer', b'name': b'nvim_input', b'parameters': [[b'String', b'keys']], b'async': True, b'method': False}, {b'return_type': b'String', b'name': b'nvim_replace_termcodes', b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'async': False, b'method': False}, {b'name': b'nvim_command_output', b'parameters': [[b'String', b'str']], b'return_type': b'String', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_eval', b'parameters': [[b'String', b'str']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_call_function', b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_strwidth', b'parameters': [[b'String', b'str']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'ArrayOf(String)', b'name': b'nvim_list_runtime_paths', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_set_current_dir', b'parameters': [[b'String', b'dir']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_get_current_line', b'parameters': [], b'return_type': b'String', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_set_current_line', b'parameters': [[b'String', b'line']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_del_current_line', b'parameters': [], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_get_var', b'parameters': [[b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_set_var', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_del_var', b'parameters': [[b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'vim_set_var', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_del_var', b'parameters': [[b'String', b'name']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_get_vvar', b'parameters': [[b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_get_option', b'parameters': [[b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_set_option', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'void', b'name': b'nvim_out_write', b'parameters': [[b'String', b'str']], b'async': False, b'method': False}, {b'return_type': b'void', b'name': b'nvim_err_write', b'parameters': [[b'String', b'str']], b'async': False, b'method': False}, {b'return_type': b'void', b'name': b'nvim_err_writeln', b'parameters': [[b'String', b'str']], b'async': False, b'method': False}, {b'return_type': b'ArrayOf(Buffer)', b'name': b'nvim_list_bufs', b'parameters': [], b'async': False, b'method': False}, {b'return_type': b'Buffer', b'name': b'nvim_get_current_buf', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_set_current_buf', b'parameters': [[b'Buffer', b'buffer']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'ArrayOf(Window)', b'name': b'nvim_list_wins', b'parameters': [], b'async': False, b'method': False}, {b'return_type': b'Window', b'name': b'nvim_get_current_win', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_set_current_win', b'parameters': [[b'Window', b'window']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'return_type': b'ArrayOf(Tabpage)', b'name': b'nvim_list_tabpages', b'parameters': [], b'async': False, b'method': False}, {b'return_type': b'Tabpage', b'name': b'nvim_get_current_tabpage', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_set_current_tabpage', b'parameters': [[b'Tabpage', b'tabpage']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': False}, {b'name': b'nvim_subscribe', b'parameters': [[b'String', b'event']], b'receives_channel_id': True, b'return_type': b'void', b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_unsubscribe', b'parameters': [[b'String', b'event']], b'receives_channel_id': True, b'return_type': b'void', b'async': False, b'method': False, b'noeval': True}, {b'return_type': b'Integer', b'name': b'nvim_get_color_by_name', b'parameters': [[b'String', b'name']], b'async': False, b'method': False}, {b'return_type': b'Dictionary', b'name': b'nvim_get_color_map', b'parameters': [], b'async': False, b'method': False}, {b'name': b'nvim_get_api_info', b'parameters': [], b'receives_channel_id': True, b'return_type': b'Array', b'async': True, b'method': False, b'noeval': True}, {b'name': b'nvim_win_get_buf', b'parameters': [[b'Window', b'window']], b'return_type': b'Buffer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_cursor', b'parameters': [[b'Window', b'window']], b'return_type': b'ArrayOf(Integer, 2)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_cursor', b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_height', b'parameters': [[b'Window', b'window']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_height', b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_width', b'parameters': [[b'Window', b'window']], b'return_type': b'Integer', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_width', b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_var', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_var', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_del_var', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'window_set_var', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'window_del_var', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'nvim_win_get_option', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'return_type': b'Object', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_set_option', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'return_type': b'void', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_position', b'parameters': [[b'Window', b'window']], b'return_type': b'ArrayOf(Integer, 2)', b'can_fail': True, b'async': False, b'method': True}, {b'name': b'nvim_win_get_tabpage', b'parameters': [[b'Window', b'window']], b'return_type': b'Tabpage', b'can_fail': True, b'async': False, b'method': True}, {b'return_type': b'Boolean', b'name': b'nvim_win_is_valid', b'parameters': [[b'Window', b'window']], b'async': False, b'method': True}, {b'name': b'buffer_line_count', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_buf_line_count', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_lines', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'receives_channel_id': True, b'impl_name': b'nvim_buf_get_lines', b'return_type': b'ArrayOf(String)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_set_lines', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing'], [b'ArrayOf(String)', b'replacement']], b'receives_channel_id': True, b'impl_name': b'nvim_buf_set_lines', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_var', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'impl_name': b'nvim_buf_get_var', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_option', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'impl_name': b'nvim_buf_get_option', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_set_option', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'impl_name': b'nvim_buf_set_option', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_number', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_buf_get_number', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_name', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_buf_get_name', b'return_type': b'String', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_set_name', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'impl_name': b'nvim_buf_set_name', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_is_valid', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_buf_is_valid', b'return_type': b'Boolean', b'deprecated_since': 1, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_get_mark', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'impl_name': b'nvim_buf_get_mark', b'return_type': b'ArrayOf(Integer, 2)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_add_highlight', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'String', b'hl_group'], [b'Integer', b'line'], [b'Integer', b'col_start'], [b'Integer', b'col_end']], b'impl_name': b'nvim_buf_add_highlight', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'buffer_clear_highlight', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'impl_name': b'nvim_buf_clear_highlight', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'tabpage_get_windows', b'parameters': [[b'Tabpage', b'tabpage']], b'impl_name': b'nvim_tabpage_list_wins', b'return_type': b'ArrayOf(Window)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'tabpage_get_var', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'impl_name': b'nvim_tabpage_get_var', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'tabpage_get_window', b'parameters': [[b'Tabpage', b'tabpage']], b'impl_name': b'nvim_tabpage_get_win', b'return_type': b'Window', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'tabpage_is_valid', b'parameters': [[b'Tabpage', b'tabpage']], b'impl_name': b'nvim_tabpage_is_valid', b'return_type': b'Boolean', b'deprecated_since': 1, b'async': False, b'method': True, b'noeval': True}, {b'name': b'ui_detach', b'parameters': [], b'receives_channel_id': True, b'impl_name': b'nvim_ui_detach', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'ui_try_resize', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'receives_channel_id': True, b'impl_name': b'nvim_ui_try_resize', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_command', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_command', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_feedkeys', b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'impl_name': b'nvim_feedkeys', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_input', b'parameters': [[b'String', b'keys']], b'impl_name': b'nvim_input', b'return_type': b'Integer', b'deprecated_since': 1, b'async': True, b'method': False, b'noeval': True}, {b'name': b'vim_replace_termcodes', b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'impl_name': b'nvim_replace_termcodes', b'return_type': b'String', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_command_output', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_command_output', b'return_type': b'String', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_eval', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_eval', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_call_function', b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'impl_name': b'nvim_call_function', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_strwidth', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_strwidth', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_list_runtime_paths', b'parameters': [], b'impl_name': b'nvim_list_runtime_paths', b'return_type': b'ArrayOf(String)', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_change_directory', b'parameters': [[b'String', b'dir']], b'impl_name': b'nvim_set_current_dir', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_current_line', b'parameters': [], b'impl_name': b'nvim_get_current_line', b'return_type': b'String', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_current_line', b'parameters': [[b'String', b'line']], b'impl_name': b'nvim_set_current_line', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_del_current_line', b'parameters': [], b'impl_name': b'nvim_del_current_line', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_var', b'parameters': [[b'String', b'name']], b'impl_name': b'nvim_get_var', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_vvar', b'parameters': [[b'String', b'name']], b'impl_name': b'nvim_get_vvar', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_option', b'parameters': [[b'String', b'name']], b'impl_name': b'nvim_get_option', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_option', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'impl_name': b'nvim_set_option', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_out_write', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_out_write', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_err_write', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_err_write', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_report_error', b'parameters': [[b'String', b'str']], b'impl_name': b'nvim_err_writeln', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_buffers', b'parameters': [], b'impl_name': b'nvim_list_bufs', b'return_type': b'ArrayOf(Buffer)', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_current_buffer', b'parameters': [], b'impl_name': b'nvim_get_current_buf', b'return_type': b'Buffer', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_current_buffer', b'parameters': [[b'Buffer', b'buffer']], b'impl_name': b'nvim_set_current_buf', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_windows', b'parameters': [], b'impl_name': b'nvim_list_wins', b'return_type': b'ArrayOf(Window)', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_current_window', b'parameters': [], b'impl_name': b'nvim_get_current_win', b'return_type': b'Window', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_current_window', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_set_current_win', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_tabpages', b'parameters': [], b'impl_name': b'nvim_list_tabpages', b'return_type': b'ArrayOf(Tabpage)', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_current_tabpage', b'parameters': [], b'impl_name': b'nvim_get_current_tabpage', b'return_type': b'Tabpage', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_set_current_tabpage', b'parameters': [[b'Tabpage', b'tabpage']], b'impl_name': b'nvim_set_current_tabpage', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_subscribe', b'parameters': [[b'String', b'event']], b'receives_channel_id': True, b'impl_name': b'nvim_subscribe', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_unsubscribe', b'parameters': [[b'String', b'event']], b'receives_channel_id': True, b'impl_name': b'nvim_unsubscribe', b'return_type': b'void', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_name_to_color', b'parameters': [[b'String', b'name']], b'impl_name': b'nvim_get_color_by_name', b'return_type': b'Integer', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_color_map', b'parameters': [], b'impl_name': b'nvim_get_color_map', b'return_type': b'Dictionary', b'deprecated_since': 1, b'async': False, b'method': False, b'noeval': True}, {b'name': b'vim_get_api_info', b'parameters': [], b'receives_channel_id': True, b'impl_name': b'nvim_get_api_info', b'return_type': b'Array', b'deprecated_since': 1, b'async': True, b'method': False, b'noeval': True}, {b'name': b'window_get_buffer', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_buf', b'return_type': b'Buffer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_cursor', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_cursor', b'return_type': b'ArrayOf(Integer, 2)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_set_cursor', b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'impl_name': b'nvim_win_set_cursor', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_height', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_height', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_set_height', b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'impl_name': b'nvim_win_set_height', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_width', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_width', b'return_type': b'Integer', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_set_width', b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'impl_name': b'nvim_win_set_width', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_var', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'impl_name': b'nvim_win_get_var', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_option', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'impl_name': b'nvim_win_get_option', b'return_type': b'Object', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_set_option', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'impl_name': b'nvim_win_set_option', b'return_type': b'void', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_position', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_position', b'return_type': b'ArrayOf(Integer, 2)', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_get_tabpage', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_get_tabpage', b'return_type': b'Tabpage', b'deprecated_since': 1, b'can_fail': True, b'async': False, b'method': True, b'noeval': True}, {b'name': b'window_is_valid', b'parameters': [[b'Window', b'window']], b'impl_name': b'nvim_win_is_valid', b'return_type': b'Boolean', b'deprecated_since': 1, b'async': False, b'method': True, b'noeval': True}], b'error_types': {b'Validation': {b'id': 1}, b'Exception': {b'id': 0}}, b'types': {b'Tabpage': {b'id': 2, b'prefix': b'nvim_tabpage_'}, b'Buffer': {b'id': 0, b'prefix': b'nvim_buf_'}, b'Window': {b'id': 1, b'prefix': b'nvim_win_'}}}]
2016-09-21 09:26:00,936 [DEBUG @ base.py:stop:149] 11791 - Stopped event loop
2016-09-21 09:26:00,937 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:00,938 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:00,939 [DEBUG @ base.py:run:140] 11791 - Exited event loop
2016-09-21 09:26:00,974 [DEBUG @ session.py:_on_request:201] 11791 - received rpc request, greenlet <greenlet.greenlet object at 0x7fc92b0462a8> will handle it
2016-09-21 09:26:00,974 [DEBUG @ host.py:_on_request:93] 11791 - calling request handler for "poll", args: "[]"
2016-09-21 09:26:00,975 [DEBUG @ host.py:_on_request:95] 11791 - request handler for 'poll []' returns: ok
2016-09-21 09:26:00,975 [DEBUG @ session.py:handler:187] 11791 - greenlet <greenlet.greenlet object at 0x7fc92b0462a8> finished executing, sending ok as response
2016-09-21 09:26:00,975 [DEBUG @ async_session.py:send:133] 11791 - sending response to request 1: [1, 1, None, 'ok']
2016-09-21 09:26:00,975 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [1, 1, None, 'ok']
2016-09-21 09:26:00,976 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x01\x01\xc0\xa2ok''
2016-09-21 09:26:00,976 [DEBUG @ session.py:handler:197] 11791 - greenlet <greenlet.greenlet object at 0x7fc92b0462a8> is now dying...
2016-09-21 09:26:00,976 [DEBUG @ base.py:run:138] 11791 - Entering event loop
2016-09-21 09:26:00,977 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:00,977 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [0, 2, b'/home/user/.vim/neobundles/deoplete/rplugin/python3/deoplete:function:_deoplete', [[]]]
2016-09-21 09:26:00,977 [DEBUG @ async_session.py:_on_request:86] 11791 - received request: b'/home/user/.vim/neobundles/deoplete/rplugin/python3/deoplete:function:_deoplete', [[]]
2016-09-21 09:26:00,977 [DEBUG @ session.py:_on_request:201] 11791 - received rpc request, greenlet <greenlet.greenlet object at 0x7fc92b0462a8> will handle it
2016-09-21 09:26:00,977 [DEBUG @ host.py:_on_request:93] 11791 - calling request handler for "/home/user/.vim/neobundles/deoplete/rplugin/python3/deoplete:function:_deoplete", args: "[[]]"
2016-09-21 09:26:00,977 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 2, 'vim_set_var', ('deoplete#_channel_id', 1)]
2016-09-21 09:26:00,978 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x02\xabvim_set_var\x92\xb4deoplete#_channel_id\x01''
2016-09-21 09:26:00,978 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc92b0462a8> to wait for response
2016-09-21 09:26:00,978 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:00,978 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:00,979 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:00,979 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 2, None, None]
2016-09-21 09:26:00,980 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, None
2016-09-21 09:26:00,981 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc92b0462a8>, switching back
2016-09-21 09:26:01,728 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 3, 'vim_set_var', ('deoplete#_neovim_python_version', ['0.1.9'])]
2016-09-21 09:26:01,730 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x03\xabvim_set_var\x92\xbfdeoplete#_neovim_python_version\x91\xa50.1.9''
2016-09-21 09:26:01,733 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc92b0462a8> to wait for response
2016-09-21 09:26:01,734 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:01,734 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:01,736 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:01,737 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 3, None, None]
2016-09-21 09:26:01,737 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, None
2016-09-21 09:26:01,738 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc92b0462a8>, switching back
2016-09-21 09:26:01,739 [DEBUG @ host.py:_on_request:95] 11791 - request handler for '/home/user/.vim/neobundles/deoplete/rplugin/python3/deoplete:function:_deoplete [[]]' returns: None
2016-09-21 09:26:01,739 [DEBUG @ session.py:handler:187] 11791 - greenlet <greenlet.greenlet object at 0x7fc92b0462a8> finished executing, sending None as response
2016-09-21 09:26:01,739 [DEBUG @ async_session.py:send:133] 11791 - sending response to request 2: [1, 2, None, None]
2016-09-21 09:26:01,739 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [1, 2, None, None]
2016-09-21 09:26:01,739 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x01\x02\xc0\xc0''
2016-09-21 09:26:01,739 [DEBUG @ session.py:handler:197] 11791 - greenlet <greenlet.greenlet object at 0x7fc92b0462a8> is now dying...
2016-09-21 09:26:01,740 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:01,740 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:01,740 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:01,740 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [0, 3, b'deoplete_enable_logging', [b'DEBUG', b'/tmp/deoplete.log']]
2016-09-21 09:26:01,740 [DEBUG @ async_session.py:_on_request:86] 11791 - received request: b'deoplete_enable_logging', [b'DEBUG', b'/tmp/deoplete.log']
2016-09-21 09:26:01,740 [DEBUG @ session.py:_on_request:201] 11791 - received rpc request, greenlet <greenlet.greenlet object at 0x7fc929b6b470> will handle it
2016-09-21 09:26:01,740 [DEBUG @ host.py:_on_request:93] 11791 - calling request handler for "deoplete_enable_logging", args: "[b'DEBUG', b'/tmp/deoplete.log']"
2016-09-21 09:26:01,742 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 4, 'vim_call_function', ('deoplete#util#neovim_version', [])]
2016-09-21 09:26:01,742 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x04\xb1vim_call_function\x92\xbcdeoplete#util#neovim_version\x90''
2016-09-21 09:26:01,743 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:01,743 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:01,743 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:01,744 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:01,745 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 4, None, b'NVIM v0.1.6-122-gefe8311']
2016-09-21 09:26:01,745 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, b'NVIM v0.1.6-122-gefe8311'
2016-09-21 09:26:01,745 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:01,748 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 5, 'vim_call_function', ('deoplete#util#print_warning', ['Logging to /tmp/deoplete.log'])]
2016-09-21 09:26:01,749 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x05\xb1vim_call_function\x92\xbbdeoplete#util#print_warning\x91\xbcLogging to /tmp/deoplete.log''
2016-09-21 09:26:01,751 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:01,753 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:01,755 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:01,757 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:01,757 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 5, None, 0]
2016-09-21 09:26:01,757 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, 0
2016-09-21 09:26:01,757 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:01,758 [DEBUG @ host.py:_on_request:95] 11791 - request handler for 'deoplete_enable_logging [b'DEBUG', b'/tmp/deoplete.log']' returns: None
2016-09-21 09:26:01,758 [DEBUG @ session.py:handler:187] 11791 - greenlet <greenlet.greenlet object at 0x7fc929b6b470> finished executing, sending None as response
2016-09-21 09:26:01,758 [DEBUG @ async_session.py:send:133] 11791 - sending response to request 3: [1, 3, None, None]
2016-09-21 09:26:01,758 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [1, 3, None, None]
2016-09-21 09:26:01,758 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x01\x03\xc0\xc0''
2016-09-21 09:26:01,760 [DEBUG @ session.py:handler:197] 11791 - greenlet <greenlet.greenlet object at 0x7fc929b6b470> is now dying...
2016-09-21 09:26:01,765 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:01,767 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:23,194 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:23,195 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [0, 4, b'/home/user/.vim/neobundles/deoplete/rplugin/python3/deoplete:function:_deoplete', [[]]]
2016-09-21 09:26:23,195 [DEBUG @ async_session.py:_on_request:86] 11791 - received request: b'/home/user/.vim/neobundles/deoplete/rplugin/python3/deoplete:function:_deoplete', [[]]
2016-09-21 09:26:23,195 [DEBUG @ session.py:_on_request:201] 11791 - received rpc request, greenlet <greenlet.greenlet object at 0x7fc929b6b470> will handle it
2016-09-21 09:26:23,195 [DEBUG @ host.py:_on_request:93] 11791 - calling request handler for "/home/user/.vim/neobundles/deoplete/rplugin/python3/deoplete:function:_deoplete", args: "[[]]"
2016-09-21 09:26:23,195 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 6, 'vim_set_var', ('deoplete#_channel_id', 1)]
2016-09-21 09:26:23,195 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x06\xabvim_set_var\x92\xb4deoplete#_channel_id\x01''
2016-09-21 09:26:23,195 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:23,196 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:23,196 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:23,196 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:23,196 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 6, None, 1]
2016-09-21 09:26:23,196 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, 1
2016-09-21 09:26:23,196 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:23,197 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 7, 'vim_set_var', ('deoplete#_neovim_python_version', ['0.1.9'])]
2016-09-21 09:26:23,197 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x07\xabvim_set_var\x92\xbfdeoplete#_neovim_python_version\x91\xa50.1.9''
2016-09-21 09:26:23,197 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:23,198 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:23,198 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:23,198 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:23,198 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 7, None, [b'0.1.9']]
2016-09-21 09:26:23,198 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, [b'0.1.9']
2016-09-21 09:26:23,198 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:23,198 [DEBUG @ host.py:_on_request:95] 11791 - request handler for '/home/user/.vim/neobundles/deoplete/rplugin/python3/deoplete:function:_deoplete [[]]' returns: None
2016-09-21 09:26:23,198 [DEBUG @ session.py:handler:187] 11791 - greenlet <greenlet.greenlet object at 0x7fc929b6b470> finished executing, sending None as response
2016-09-21 09:26:23,199 [DEBUG @ async_session.py:send:133] 11791 - sending response to request 4: [1, 4, None, None]
2016-09-21 09:26:23,199 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [1, 4, None, None]
2016-09-21 09:26:23,199 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x01\x04\xc0\xc0''
2016-09-21 09:26:23,199 [DEBUG @ session.py:handler:197] 11791 - greenlet <greenlet.greenlet object at 0x7fc929b6b470> is now dying...
2016-09-21 09:26:23,199 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:23,199 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:23,202 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:23,203 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [2, b'deoplete_on_event', [{b'filetype': b'nothing', b'bufvars': {}, b'event': b'', b'complete_str': b'', b'camelcase': 0, b'smartcase': 0, b'changedtick': 2, b'start_complete': b'\x80\xfdR(deoplete_start_complete)', b'position': [0, 1, 1, 0], b'max_menu_width': 62, b'bufname': b'', b'omni__omnifunc': b'', b'sources': [], b'input': b'', b'delay': 100, b'runtimepath': b'/home/user/.config/nvim,/etc/xdg/nvim,/home/user/.local/share/nvim/site,/usr/local/share/nvim/site,/usr/share/nvim/site,/usr/share/nvim/runtime,/usr/share/nvim/site/after,/usr/local/share/nvim/site/after,/home/user/.local/share/nvim/site/after,/etc/xdg/nvim/after,/home/user/.config/nvim/after,/home/user/.vim/neobundles/deoplete,/home/user/.vim/neobundles/deoplete-jedi', b'next_input': b'', b'ignorecase': 0, b'custom': {b'jedi': {b'debug_enabled': 1}, b'_': {}}, b'vars': {b'deoplete#max_abbr_width': 80, b'deoplete#keyword_patterns': {}, b'deoplete#enable_smart_case': 0, b'deoplete#enable_at_startup': 0, b'deoplete#auto_refresh_delay': 50, b'deoplete#omni_patterns': {}, b'deoplete#member#prefix_patterns': {}, b'deoplete#auto_complete_delay': 100, b'deoplete#_context': {}, b'deoplete#disable_auto_complete': 0, b'deoplete#max_menu_width': 40, b'deoplete#_rank': {}, b'deoplete#_omni_patterns': {b'mkd': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'html': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'xhtml': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'xml': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'markdown': [b'<', b'<[^>]*\\s[[:alnum:]-]*']}, b'deoplete#_neovim_python_version': [b'0.1.9'], b'deoplete#enable_camel_case': 0, b'deoplete#ignore_sources': {}, b'deoplete#enable_refresh_always': 0, b'deoplete#omni#functions': {}, b'deoplete#enable_profile': 0, b'deoplete#omni#input_patterns': {}, b'deoplete#delimiters': [b'/', b'.', b'::', b':', b'#'], b'deoplete#_channel_id': 1, b'deoplete#auto_complete_start_length': 2, b'deoplete#max_list': 100, b'deoplete#enable_ignore_case': 0, b'deoplete#_keyword_patterns': {b'_': b'[a-zA-Z_]\\k*'}, b'deoplete#sources': {}}, b'max_abbr_width': 62, b'cwd': b'/home/user/.dotfiles/vim/neobundles/deoplete', b'bufnr': 1, b'keyword_patterns': b'[a-zA-Z_][a-zA-Z@0-9_\xc3\x80-\xc3\xbf]*', b'filetypes': [b'nothing'], b'dict__dictionary': b'', b'encoding': b'utf-8'}]]
2016-09-21 09:26:23,203 [DEBUG @ async_session.py:_on_notification:102] 11791 - received notification: b'deoplete_on_event', [{b'filetype': b'nothing', b'bufvars': {}, b'event': b'', b'complete_str': b'', b'camelcase': 0, b'smartcase': 0, b'changedtick': 2, b'start_complete': b'\x80\xfdR(deoplete_start_complete)', b'position': [0, 1, 1, 0], b'max_menu_width': 62, b'bufname': b'', b'omni__omnifunc': b'', b'sources': [], b'input': b'', b'delay': 100, b'runtimepath': b'/home/user/.config/nvim,/etc/xdg/nvim,/home/user/.local/share/nvim/site,/usr/local/share/nvim/site,/usr/share/nvim/site,/usr/share/nvim/runtime,/usr/share/nvim/site/after,/usr/local/share/nvim/site/after,/home/user/.local/share/nvim/site/after,/etc/xdg/nvim/after,/home/user/.config/nvim/after,/home/user/.vim/neobundles/deoplete,/home/user/.vim/neobundles/deoplete-jedi', b'next_input': b'', b'ignorecase': 0, b'custom': {b'jedi': {b'debug_enabled': 1}, b'_': {}}, b'vars': {b'deoplete#max_abbr_width': 80, b'deoplete#keyword_patterns': {}, b'deoplete#enable_smart_case': 0, b'deoplete#enable_at_startup': 0, b'deoplete#auto_refresh_delay': 50, b'deoplete#omni_patterns': {}, b'deoplete#member#prefix_patterns': {}, b'deoplete#auto_complete_delay': 100, b'deoplete#_context': {}, b'deoplete#disable_auto_complete': 0, b'deoplete#max_menu_width': 40, b'deoplete#_rank': {}, b'deoplete#_omni_patterns': {b'mkd': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'html': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'xhtml': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'xml': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'markdown': [b'<', b'<[^>]*\\s[[:alnum:]-]*']}, b'deoplete#_neovim_python_version': [b'0.1.9'], b'deoplete#enable_camel_case': 0, b'deoplete#ignore_sources': {}, b'deoplete#enable_refresh_always': 0, b'deoplete#omni#functions': {}, b'deoplete#enable_profile': 0, b'deoplete#omni#input_patterns': {}, b'deoplete#delimiters': [b'/', b'.', b'::', b':', b'#'], b'deoplete#_channel_id': 1, b'deoplete#auto_complete_start_length': 2, b'deoplete#max_list': 100, b'deoplete#enable_ignore_case': 0, b'deoplete#_keyword_patterns': {b'_': b'[a-zA-Z_]\\k*'}, b'deoplete#sources': {}}, b'max_abbr_width': 62, b'cwd': b'/home/user/.dotfiles/vim/neobundles/deoplete', b'bufnr': 1, b'keyword_patterns': b'[a-zA-Z_][a-zA-Z@0-9_\xc3\x80-\xc3\xbf]*', b'filetypes': [b'nothing'], b'dict__dictionary': b'', b'encoding': b'utf-8'}]
2016-09-21 09:26:23,203 [DEBUG @ session.py:_on_notification:216] 11791 - received rpc notification, greenlet <greenlet.greenlet object at 0x7fc929b6b470> will handle it
2016-09-21 09:26:23,204 [DEBUG @ host.py:_on_notification:109] 11791 - calling notification handler for "deoplete_on_event", args: "[{b'filetype': b'nothing', b'bufvars': {}, b'event': b'', b'complete_str': b'', b'camelcase': 0, b'smartcase': 0, b'changedtick': 2, b'start_complete': b'\x80\xfdR(deoplete_start_complete)', b'position': [0, 1, 1, 0], b'max_menu_width': 62, b'bufname': b'', b'runtimepath': b'/home/user/.config/nvim,/etc/xdg/nvim,/home/user/.local/share/nvim/site,/usr/local/share/nvim/site,/usr/share/nvim/site,/usr/share/nvim/runtime,/usr/share/nvim/site/after,/usr/local/share/nvim/site/after,/home/user/.local/share/nvim/site/after,/etc/xdg/nvim/after,/home/user/.config/nvim/after,/home/user/.vim/neobundles/deoplete,/home/user/.vim/neobundles/deoplete-jedi', b'sources': [], b'input': b'', b'delay': 100, b'next_input': b'', b'ignorecase': 0, b'custom': {b'jedi': {b'debug_enabled': 1}, b'_': {}}, b'vars': {b'deoplete#auto_refresh_delay': 50, b'deoplete#keyword_patterns': {}, b'deoplete#enable_smart_case': 0, b'deoplete#enable_at_startup': 0, b'deoplete#max_abbr_width': 80, b'deoplete#omni_patterns': {}, b'deoplete#member#prefix_patterns': {}, b'deoplete#auto_complete_delay': 100, b'deoplete#_keyword_patterns': {b'_': b'[a-zA-Z_]\\k*'}, b'deoplete#delimiters': [b'/', b'.', b'::', b':', b'#'], b'deoplete#max_menu_width': 40, b'deoplete#_rank': {}, b'deoplete#_omni_patterns': {b'mkd': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'html': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'xhtml': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'xml': [b'<', b'<[^>]*\\s[[:alnum:]-]*'], b'markdown': [b'<', b'<[^>]*\\s[[:alnum:]-]*']}, b'deoplete#_neovim_python_version': [b'0.1.9'], b'deoplete#enable_camel_case': 0, b'deoplete#ignore_sources': {}, b'deoplete#enable_refresh_always': 0, b'deoplete#omni#functions': {}, b'deoplete#enable_profile': 0, b'deoplete#omni#input_patterns': {}, b'deoplete#disable_auto_complete': 0, b'deoplete#_channel_id': 1, b'deoplete#auto_complete_start_length': 2, b'deoplete#max_list': 100, b'deoplete#enable_ignore_case': 0, b'deoplete#_context': {}, b'deoplete#sources': {}}, b'omni__omnifunc': b'', b'max_abbr_width': 62, b'cwd': b'/home/user/.dotfiles/vim/neobundles/deoplete', b'bufnr': 1, b'keyword_patterns': b'[a-zA-Z_][a-zA-Z@0-9_\xc3\x80-\xc3\xbf]*', b'filetypes': [b'nothing'], b'dict__dictionary': b'', b'encoding': b'utf-8'}]"
2016-09-21 09:26:24,995 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 8, 'vim_get_option', ('isfname',)]
2016-09-21 09:26:24,995 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x08\xaevim_get_option\x91\xa7isfname''
2016-09-21 09:26:24,995 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:24,996 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:24,996 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:24,996 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:24,997 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 8, None, b'@,48-57,/,.,-,_,+,,,#,$,%,~,=']
2016-09-21 09:26:24,997 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, b'@,48-57,/,.,-,_,+,,,#,$,%,~,='
2016-09-21 09:26:24,997 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:24,998 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 9, 'vim_call_function', ('deoplete#util#vimoption2python_not', ['@,48-57,/,.,-,_,+,,,#,$,%,~,='])]
2016-09-21 09:26:24,998 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\t\xb1vim_call_function\x92\xda\x00"deoplete#util#vimoption2python_not\x91\xbd@,48-57,/,.,-,_,+,,,#,$,%,~,=''
2016-09-21 09:26:24,999 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:25,003 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,005 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:25,007 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,007 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 9, None, b'[^a-zA-Z@0-9/._+,#$%~=-]']
2016-09-21 09:26:25,009 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, b'[^a-zA-Z@0-9/._+,#$%~=-]'
2016-09-21 09:26:25,010 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:25,011 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 10, 'vim_get_current_buffer', ()]
2016-09-21 09:26:25,011 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\n\xb6vim_get_current_buffer\x90''
2016-09-21 09:26:25,011 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:25,012 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,012 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:25,012 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,012 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 10, None, ExtType(code=0, data=b'\x01')]
2016-09-21 09:26:25,012 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, ExtType(code=0, data=b'\x01')
2016-09-21 09:26:25,013 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:25,013 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 11, 'buffer_get_line_slice', (ExtType(code=0, data=b'\x01'), 0, -1, True, True)]
2016-09-21 09:26:25,020 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x0b\xb5buffer_get_line_slice\x95\xd4\x00\x01\x00\xff\xc3\xc3''
2016-09-21 09:26:25,024 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:25,025 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,025 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:25,026 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,026 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 11, None, [b'']]
2016-09-21 09:26:25,027 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, [b'']
2016-09-21 09:26:25,028 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:25,030 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 12, 'vim_call_function', ('exists', ['*neoinclude#include#get_tag_files'])]
2016-09-21 09:26:25,033 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x0c\xb1vim_call_function\x92\xa6exists\x91\xda\x00!*neoinclude#include#get_tag_files''
2016-09-21 09:26:25,035 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:25,037 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,038 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:25,039 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,039 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 12, None, 0]
2016-09-21 09:26:25,039 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, 0
2016-09-21 09:26:25,039 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:25,039 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 13, 'vim_call_function', ('tagfiles', [])]
2016-09-21 09:26:25,039 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\r\xb1vim_call_function\x92\xa8tagfiles\x90''
2016-09-21 09:26:25,040 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:25,041 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,041 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:25,043 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,043 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 13, None, [b'tags', b'/home/user/.dotfiles/tags']]
2016-09-21 09:26:25,044 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, [b'tags', b'/home/user/.dotfiles/tags']
2016-09-21 09:26:25,046 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:25,048 [DEBUG @ msgpack_stream.py:send:33] 11791 - sent [0, 14, 'vim_call_function', ('map', [['tags', '/home/user/.dotfiles/tags'], 'fnamemodify(v:val, ":p")'])]
2016-09-21 09:26:25,048 [DEBUG @ base.py:send:113] 11791 - Sending 'b'\x94\x00\x0e\xb1vim_call_function\x92\xa3map\x92\x92\xa4tags\xbb/home/user/.dotfiles/tags\xb8fnamemodify(v:val, ":p")''
2016-09-21 09:26:25,050 [DEBUG @ session.py:_yielding_request:153] 11791 - yielding from greenlet <greenlet.greenlet object at 0x7fc929b6b470> to wait for response
2016-09-21 09:26:25,052 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,054 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:25,055 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,055 [DEBUG @ msgpack_stream.py:_on_data:56] 11791 - received message: [1, 14, None, [b'/home/user/.dotfiles/vim/neobundles/deoplete/tags', b'/home/user/.dotfiles/tags']]
2016-09-21 09:26:25,055 [DEBUG @ async_session.py:_on_response:95] 11791 - received response: None, [b'/home/user/.dotfiles/vim/neobundles/deoplete/tags', b'/home/user/.dotfiles/tags']
2016-09-21 09:26:25,055 [DEBUG @ session.py:response_cb:149] 11791 - response is available for greenlet <greenlet.greenlet object at 0x7fc929b6b470>, switching back
2016-09-21 09:26:25,058 [DEBUG @ session.py:handler:208] 11791 - greenlet <greenlet.greenlet object at 0x7fc929b6b470> finished executing
2016-09-21 09:26:25,058 [DEBUG @ session.py:handler:213] 11791 - greenlet <greenlet.greenlet object at 0x7fc929b6b470> is now dying...
2016-09-21 09:26:25,058 [DEBUG @ msgpack_stream.py:_on_data:54] 11791 - waiting for message...
2016-09-21 09:26:25,058 [DEBUG @ msgpack_stream.py:_on_data:59] 11791 - unpacker needs more data...
2016-09-21 09:26:41,865 [DEBUG @ base.py:_on_error:166] 11791 - EOF
2016-09-21 09:26:41,866 [DEBUG @ base.py:stop:149] 11791 - Stopped event loop
2016-09-21 09:26:41,870 [DEBUG @ base.py:run:140] 11791 - Exited event loop
Should virtualenv work out of the box?
It would be really useful if there was an option to jump to the definition of a class or function, as you can already do this in vim-jedi
I've noticed that my function results in Deoplete seem to be inserting themselves when I don't want them to.
For example, if I start typing and Deoplete suggests a list of items, and the first one is a function from Jedi, as soon as I hit <C-n>
to start navigating through the list, the item gets inserted. I think this is due to the fact that the (
is added automatically. If I cycle through the list backwards, it correctly passes over other Deoplete options, and variables from Jedi, but as soon as it hits a function and the (
is inserted, the behavior breaks.
I can't get the behavior to break all the time, but can upload a file and describe what I'm doing that triggers the undesired behavior.
The follow Python file shows the error:
// error.py
def test_model(test_file_name):
pass
If you place the cursor at the end of the file and write test
I get a completion that looks like this:
After pressing <C-n>
I would expect the first item in the list to be highlighted, but not actually entered. However, pressing <C-n>
only once brings me to the following instead:
Completion candidates from the pymongo package throw errors.
I've tried with this suggested minimal init.vim and the problem occurs
" Your minimal init.vim
set runtimepath+=~/path/to/deoplete.nvim/
set runtimepath+=~/path/to/deoplete-jedi/
let g:deoplete#enable_at_startup = 1
import pymongo
pymongo.MongoClient()
While pymongo
is being entered in point 3 a completion is available as expected:
But there is no completion when typing MongoClient
:
When I look at the :messages
, there is a string of errors:
The full error message repeats as the completion is requested, the complete stack trace is:
[deoplete] An error has occurred. Please execute :messages command.
[deoplete] Traceback (most recent call last):
[deoplete] File "/home/mcnamara/.config/nvim/dein/repos/github.com/Shougo/deoplete.nvim/rplugin/python3/deoplete/deoplete.py", line 47, in completion_begin
[deoplete] complete_position, candidates = self.gather_candidates(context)
[deoplete] File "/home/mcnamara/.config/nvim/dein/repos/github.com/Shougo/deoplete.nvim/rplugin/python3/deoplete/deoplete.py", line 81, in gather_candidates
[deoplete] results = self.gather_results(context)
[deoplete] File "/home/mcnamara/.config/nvim/dein/repos/github.com/Shougo/deoplete.nvim/rplugin/python3/deoplete/deoplete.py", line 132, in gather_results
[deoplete] context['candidates'] = source.gather_candidates(context)
[deoplete] File "/home/mcnamara/.config/nvim/dein/repos/github.com/zchee/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi/profiler.py", line 37, in wrapper
[deoplete] return func(self, *args, **kwargs)
[deoplete] File "/home/mcnamara/.config/nvim/dein/repos/github.com/zchee/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 113, in gather_candidates
[deoplete] for filename, mtime in modules.items()]):
[deoplete] File "/home/mcnamara/.config/nvim/dein/repos/github.com/zchee/deoplete-jedi/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 113, in <listcomp>
[deoplete] for filename, mtime in modules.items()]):
[deoplete] File "/home/mcnamara/anaconda3/lib/python3.5/genericpath.py", line 55, in getmtime
[deoplete] return os.stat(filename).st_mtime
[deoplete] FileNotFoundError: [Errno 2] No such file or directory: '/home/<user>/.hugh/test.py'
[deoplete] An error has occurred. Please execute :messages command.
Is there a way to get the Docsting of a class (or rather its init method) similar to the way functions are handled?
In vim-jedi, while typing variables in function a one-line pop-up with the function's variable appears, which I find very helpful. Is it possible to reimplement this feature? Unfortunately using both plugins and setting jedi#completions_enabled = 0 does not revoke this feature.
Great work otherwise!
Config for deoplete-jedi
:
Plug 'zchee/deoplete-jedi', {'for': 'python'}
Problem: can't find methods, modules, etc. + delay for showing any deoplete popup > 5 seconds. If I disabled deoplete-jedi
– everything works fine with deoplete, except that I can't use jedi features for deoplete.
For every package I have installed in my app virtualenv I am required to also install in my nvim3 virtualenv.
the nvim3 virtualenv should only be required to run the neovim python client and support importing of current virtualenv modules.
I've just ran neovim in conda env (virtualenv) and there was no jedi pip package installed. I had this in my :messages:
[deoplete] Traceback (most recent call last):
[deoplete] Traceback (most recent call last):
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/deoplete.py", line 272, in load_sources
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/deoplete.py", line 272, in load_sources
[deoplete] source.on_init(context)
[deoplete] source.on_init(context)
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 66, in on_init
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi.py", line 66, in on_init
[deoplete] self.debug_enabled, self.python_path)
[deoplete] self.debug_enabled, self.python_path)
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/worker.py", line 81, in start
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/worker.py", line 81, in start
[deoplete] show_docstring, debug, python_path)
[deoplete] show_docstring, debug, python_path)
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/worker.py", line 24, in __init__
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/worker.py", line 24, in __init__
[deoplete] python_path)
[deoplete] python_path)
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 502, in __init__
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 502, in __init__
[deoplete] self.restart()
[deoplete] self.restart()
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 518, in restart
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 518, in restart
[deoplete] self.version = stream_read(self._server.stdout)
[deoplete] self.version = stream_read(self._server.stdout)
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 83, in stream_read
[deoplete] File "/home/ybochkarev/.vim/bundle/.dein/rplugin/python3/deoplete/sources/deoplete_jedi/server.py", line 83, in stream_read
[deoplete] raise StreamEmpty
[deoplete] raise StreamEmpty
[deoplete] deoplete_jedi.server.StreamEmpty
[deoplete] deoplete_jedi.server.StreamEmpty
[deoplete] Could not load source: deoplete_jedi. Use :messages for error details.
[deoplete] Could not load source: deoplete_jedi. Use :messages for error details.
Press ENTER or type command to continue
I'm not sure whether it's a deoplete_jedi or deoplete issue, but besides of messages being printed twice, the error message could be friendlier, say: "Could not import jedi python package. Install it using pip install jedi" or something along these lines.
After I had ran pip install jedi
, the messages gone.
Thank you!
Continued from Shougo/deoplete.nvim#197
python-client
is neovim-0.1.3
.
# freebsd-version -ku; uname -apKU
11.0-CURRENT
11.0-CURRENT
FreeBSD z600 11.0-CURRENT FreeBSD 11.0-CURRENT #56: Tue Mar 1 18:52:01 CST 2016 root@z600:/usr/obj/usr/src/sys/MYKERNEL amd64 amd64 1100100 1100099
# nvim --version
NVIM 0.1.2
Build type: Release
Compilation: /usr/bin/cc -O2 -pipe -fstack-protector -fno-strict-aliasing -Wconversion -O2 -pipe -fstack-protector -fno-strict-aliasing -DDISABLE_LOG -Wall -We
xtra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -DHAVE_CONFIG_H -I/wrkdirs/usr/ports/editors/neovim/work/neovim-b33c777/config -I/wrkdirs/usr/ports/editors/neovim/work/neovim-b33c777/src -I/usr/local/include -I/usr/local/include -I/usr/local/include/luajit-2.0 -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/include -I/wrkdirs/usr/ports/editors/neovim/work/neovim-b33c777/src/nvim/auto -I/wrkdirs/usr/ports/editors/neovim/work/neovim-b33c777/include Compiled by root@head-amd64-default-job-19
Optional features included (+) or not (-): +acl +iconv -jemalloc
For differences from Vim, see :help vim-differences
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/local/share/nvim"
minimal vim config:
" Your minimal init.vim
set runtimepath+=~/.vim/bundle/deoplete.nvim/
set runtimepath+=~/.vim/bundle/deoplete-jedi/
" deoplete.vim
" credit: https://gist.github.com/zchee/c314e63ae8b6bea50bb4
let g:deoplete#enable_at_startup = 1
set completeopt+=noinsert
set completeopt-=preview
let g:deoplete#enable_ignore_case = 'ignorecase'
let g:deoplete#auto_completion_start_length = 0
let g:min_pattern_length = 0
" https://github.com/Shougo/deoplete.nvim/issues/117
let g:deoplete#ignore_sources = {}
let g:deoplete#ignore_sources._ = ['buffer', 'vim', 'member']
let g:deoplete#sources#go = 'vim-go'
inoremap <expr><C-n> deoplete#mappings#manual_complete()
if exists(':DeopleteEnable')
let g:jedi#completions_enabled = 0
let g:jedi#auto_vim_configuration = 0
let g:jedi#smart_auto_mappings = 0
let g:jedi#show_call_signatures = 0
endif
Thanks for the great plugin.
The preview split window doesn't disappear after function is already written.
The preview should disappear.
The only fields I have set up in my init.vim are the following
let g:deoplete#enable_at_startup = 1
let g:deoplete#sources#jedi#show_docstring = 1
The Preview window still shows cProfile.run()
function docstring.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.