roxma / nvim-yarp

Yet Another Remote Plugin Framework for Neovim
MIT License
230 stars 14 forks source link

I want to launch GDB with Vim8. #9

Closed callmekohei closed 6 years ago

callmekohei commented 6 years ago

Hello! I'm callmekohei!

Thank you your nvim-yarp! (^_^)/

Problems summary

Can not launch GDB with Vim8

Expected

Launch GDB with Vim8

Environment Information

$ uname -a Darwin callmekoheis-MacBook-Air.local 17.2.0 Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017 ; root:xnu-4570.20.62~3/RELEASE_X86_64 x86_64


 * Neovim version:

$ nvim --version NVIM v0.2.2 Build type: Release LuaJIT 2.0.5 Compilation: /usr/local/Homebrew/Library/Homebrew/shims/super/clang -Wconversion -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DNDEBUG -DMIN_LOG_LEVEL=3 -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -I/tmp/neovim-20171118-94210-1gi9ez6/neovim-0.2.2/build/config -I/tmp/neovim-20171118-94210-1gi9ez6/neovim-0.2.2/src -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/opt/gettext/include -I/usr/include -I/tmp/neovim-20171118-94210-1gi9ez6/neovim-0.2.2/build/src/nvim/auto -I/tmp/neovim-20171118-94210-1gi9ez6/neovim-0.2.2/build/include Compiled by brew@HighSierra-2.local

Features: +acl +iconv +jemalloc +tui See ":help feature-compile"

  システム vimrc: "$VIM/sysinit.vim"
   省略時の $VIM: "/usr/local/Cellar/neovim/0.2.2/share/nvim"

Run :checkhealth for more info

 * `:checkhealth` or `:CheckHealth` result(neovim only):

health#deoplete#check

deoplete.nvim

health#nvim#check

Configuration

Performance

Remote Plugins

terminal

health#provider#check

Clipboard (optional)

Python 2 provider (optional)

Python 3 provider (optional)

Ruby provider (optional)

Node provider (optional)

"----------------------------------------------------------
" Plugin manager ( Shougo/dein.vim )
"----------------------------------------------------------

let s:dein_dir = $HOME . '/.config/nvim/dein'
let s:toml     = $HOME . '/.config/nvim/dein.toml'

let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'

if !isdirectory(s:dein_repo_dir)
    execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir
endif

execute 'set runtimepath+=' . s:dein_repo_dir

if dein#load_state(s:dein_dir)
    call dein#begin(s:dein_dir)
    call dein#load_toml(s:toml, {'lazy': 0})
    call dein#end()
    call dein#save_state()
endif

if dein#check_install()
    call dein#install()
endif

"----------------------------------------------------------
" manual plugin
"----------------------------------------------------------
set runtimepath+=/Users/callmekohei/.config/nvim/testYarp
set runtimepath+=/Users/callmekohei/.config/nvim/deoplete-fsharp

"----------------------------------------------------------
" neovim's python provider
"----------------------------------------------------------
if has('nvim')
    let g:python_host_prog = '/usr/local/bin/python2.7'
    let g:python3_host_prog = '/usr/local/bin/python3.6'
endif

"----------------------------------------------------------
" basic
"----------------------------------------------------------
set nocompatible
syntax enable
filetype plugin indent on

The reproduce ways from neovim/Vim starting (Required!)

  1. create 3 files
    
    testYarp [master]$ tree
    .
    ├── plugin
    │   └── foo.vim
    ├── pythonx
    │   └── foo_wrap.py
    └── rplugin
    └── python3
        └── foo.py

4 directories, 3 files

`./rplugin/python3/foo.py`
```python
import subprocess
import neovim

@ neovim.plugin
class Foo(object):

    def __init__(self,vim):
        self.vim = vim

    @ neovim.function("Bar", sync = True)
    def bar(self,arg):
        command      = ['gdb']
        opts         = { 'stdin': subprocess.PIPE, 'stdout': subprocess.PIPE, 'stderr': subprocess.PIPE, 'universal_newlines': True }
        self.process = subprocess.Popen( command , **opts )

./plugin/foo.vim

" ./plugin/foo.vim
if has('nvim')
    finish
endif

let s:foo = yarp#py3('foo_wrap')

func! Bar()
    return s:foo.call('bar')
endfunc

./pythonx/foo_wrap.py

# ./pythonx/foo_wrap.py
from foo import Foo as _Foo
import vim

_obj = _Foo(vim)

def bar(*args):
    return _obj.bar(args)
  1. launch Vim8 and call Bar() funcition
    
    $ vim

: call Bar()

 3. I can not look GDB

$ ps PID TTY TIME CMD 37975 ttys000 0:00.01 -bash 37985 ttys000 0:00.23 vim 37991 ttys001 0:00.01 -bash

4 launch Neovim and call Bar() funcition

$ nvim

: call Bar()

5 I can look GDB

$ ps PID TTY TIME CMD 37975 ttys000 0:00.01 -bash 38024 ttys000 0:00.11 nvim 38025 ttys000 0:00.15 /usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/R 38026 ttys000 0:00.04 gdb 38029 ttys001 0:00.01 -bash


## Generate a logfile if appropriate
 1. export NVIM_PYTHON_LOG_FILE=/tmp/log
 2. export NVIM_PYTHON_LOG_LEVEL=DEBUG
 3. nvim -u minimal.vimrc
 4. some works
 5. cat /tmp/log_{PID}

### launch vim

`/tmp/log_py3_foo_wrap`

2017-12-11 01:53:30,094 [DEBUG @ msgpack_stream.py:send:33] 38179 - sent [0, 1, b'vim_get_api_info', ()] 2017-12-11 01:53:30,094 [DEBUG @ base.py:send:113] 38179 - Sending 'b'\x94\x00\x01\xb0vim_get_api_info\x90'' 2017-12-11 01:53:30,095 [DEBUG @ base.py:run:138] 38179 - Entering event loop 2017-12-11 01:53:30,128 [DEBUG @ msgpack_stream.py:_on_data:54] 38179 - waiting for message... 2017-12-11 01:53:30,129 [DEBUG @ msgpack_stream.py:_on_data:56] 38179 - received message: [1, 1, None, [2, {b'version': {b'major': 0, b'api_level': 1, b'api_prerelease': False, b'patch': 7, b'api_compatible': 0, b'minor': 1}, b'types': {b'Window': {b'id': 1, b'prefix': b'nvimwin'}, b'Tabpage': {b'id': 2, b'prefix': b'nvimtabpage'}, b'Buffer': {b'id': 0, b'prefix': b'nvimbuf'}}, b'functions': [{b'method': True, b'name': b'nvim_buf_line_count', b'return_type': b'Integer', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_get_line', b'return_type': b'String', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_set_line', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index'], [b'String', b'line']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_del_line', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_get_line_slice', b'return_type': b'ArrayOf(String)', 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'since': 0}, {b'method': True, b'name': b'nvim_buf_get_lines', b'return_type': b'ArrayOf(String)', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_set_line_slice', b'return_type': b'void', 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'since': 0}, {b'method': True, b'name': b'nvim_buf_set_lines', b'return_type': b'void', 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'since': 1}, {b'method': True, b'name': b'nvim_buf_get_var', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_set_var', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_del_var', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_set_var', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_del_var', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'name': b'nvim_buf_get_option', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_set_option', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_get_number', b'return_type': b'Integer', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_get_name', b'return_type': b'String', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_set_name', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_insert', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'lnum'], [b'ArrayOf(String)', b'lines']], b'since': 0}, {b'method': True, b'name': b'nvim_buf_get_mark', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_add_highlight', b'return_type': b'Integer', 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'since': 1}, {b'method': True, b'name': b'nvim_buf_clear_highlight', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_list_wins', b'return_type': b'ArrayOf(Window)', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_get_var', b'return_type': b'Object', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_set_var', b'return_type': b'void', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_del_var', b'return_type': b'void', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'tabpage_set_var', b'return_type': b'Object', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'tabpage_del_var', b'return_type': b'Object', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'since': 0}, {b'method': True, b'name': b'nvim_tabpage_get_win', b'return_type': b'Window', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_get_number', b'return_type': b'Integer', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': False, b'name': b'nvim_ui_attach', b'return_type': b'void', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Dictionary', b'options']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'ui_attach', b'return_type': b'void', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Boolean', b'enable_rgb']], b'since': 0}, {b'method': False, b'name': b'nvim_ui_detach', b'return_type': b'void', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_ui_try_resize', b'return_type': b'void', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'since': 1}, {b'method': False, b'name': b'nvim_ui_set_option', b'return_type': b'void', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': False, b'name': b'nvim_command', b'return_type': b'void', b'parameters': [[b'String', b'command']], b'since': 1}, {b'method': False, b'name': b'nvim_feedkeys', b'return_type': b'void', b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'since': 1}, {b'method': False, b'name': b'nvim_input', b'return_type': b'Integer', b'parameters': [[b'String', b'keys']], b'since': 1}, {b'method': False, b'name': b'nvim_replace_termcodes', b'return_type': b'String', b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'since': 1}, {b'method': False, b'name': b'nvim_command_output', b'return_type': b'String', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_eval', b'return_type': b'Object', b'parameters': [[b'String', b'expr']], b'since': 1}, {b'method': False, b'name': b'nvim_call_function', b'return_type': b'Object', b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'since': 1}, {b'method': False, b'name': b'nvim_strwidth', b'return_type': b'Integer', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_list_runtime_paths', b'return_type': b'ArrayOf(String)', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_dir', b'return_type': b'void', b'parameters': [[b'String', b'dir']], b'since': 1}, {b'method': False, b'name': b'nvim_get_current_line', b'return_type': b'String', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_line', b'return_type': b'void', b'parameters': [[b'String', b'line']], b'since': 1}, {b'method': False, b'name': b'nvim_del_current_line', b'return_type': b'void', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_var', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'name': b'nvim_set_var', b'return_type': b'void', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': False, b'name': b'nvim_del_var', b'return_type': b'void', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_var', b'return_type': b'Object', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_del_var', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'name': b'nvim_get_vvar', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'name': b'nvim_get_option', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'name': b'nvim_set_option', b'return_type': b'void', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': False, b'name': b'nvim_out_write', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_err_write', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_err_writeln', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_list_bufs', b'return_type': b'ArrayOf(Buffer)', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_current_buf', b'return_type': b'Buffer', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_buf', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': False, b'name': b'nvim_list_wins', b'return_type': b'ArrayOf(Window)', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_current_win', b'return_type': b'Window', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_win', b'return_type': b'void', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': False, b'name': b'nvim_list_tabpages', b'return_type': b'ArrayOf(Tabpage)', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_current_tabpage', b'return_type': b'Tabpage', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_tabpage', b'return_type': b'void', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': False, b'name': b'nvim_subscribe', b'return_type': b'void', b'parameters': [[b'String', b'event']], b'since': 1}, {b'method': False, b'name': b'nvim_unsubscribe', b'return_type': b'void', b'parameters': [[b'String', b'event']], b'since': 1}, {b'method': False, b'name': b'nvim_get_color_by_name', b'return_type': b'Integer', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'name': b'nvim_get_color_map', b'return_type': b'Dictionary', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_api_info', b'return_type': b'Array', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_call_atomic', b'return_type': b'Array', b'parameters': [[b'Array', b'calls']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_buf', b'return_type': b'Buffer', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_cursor', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_cursor', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_height', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_height', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_width', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_width', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_var', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_var', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_win_del_var', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'window_set_var', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'window_del_var', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 0}, {b'method': True, b'name': b'nvim_win_get_option', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_option', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_position', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_tabpage', b'return_type': b'Tabpage', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_number', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_line_count', b'return_type': b'Integer', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_lines', b'return_type': b'ArrayOf(String)', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_set_lines', b'return_type': b'void', 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'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_var', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_option', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_set_option', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_number', b'return_type': b'Integer', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_name', b'return_type': b'String', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_set_name', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_mark', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_add_highlight', b'return_type': b'Integer', 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'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_clear_highlight', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'tabpage_get_windows', b'return_type': b'ArrayOf(Window)', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'tabpage_get_var', b'return_type': b'Object', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'tabpage_get_window', b'return_type': b'Window', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'tabpage_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'ui_detach', b'return_type': b'void', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'ui_try_resize', b'return_type': b'Object', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_command', b'return_type': b'void', b'parameters': [[b'String', b'command']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_feedkeys', b'return_type': b'void', b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_input', b'return_type': b'Integer', b'parameters': [[b'String', b'keys']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_replace_termcodes', b'return_type': b'String', b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_command_output', b'return_type': b'String', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_eval', b'return_type': b'Object', b'parameters': [[b'String', b'expr']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_call_function', b'return_type': b'Object', b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_strwidth', b'return_type': b'Integer', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_list_runtime_paths', b'return_type': b'ArrayOf(String)', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_change_directory', b'return_type': b'void', b'parameters': [[b'String', b'dir']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_current_line', b'return_type': b'String', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_current_line', b'return_type': b'void', b'parameters': [[b'String', b'line']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_del_current_line', b'return_type': b'void', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_var', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_vvar', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_option', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_option', b'return_type': b'void', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_out_write', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_err_write', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_report_error', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_buffers', b'return_type': b'ArrayOf(Buffer)', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_current_buffer', b'return_type': b'Buffer', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_current_buffer', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_windows', b'return_type': b'ArrayOf(Window)', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_current_window', b'return_type': b'Window', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_current_window', b'return_type': b'void', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_tabpages', b'return_type': b'ArrayOf(Tabpage)', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_current_tabpage', b'return_type': b'Tabpage', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_current_tabpage', b'return_type': b'void', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_subscribe', b'return_type': b'void', b'parameters': [[b'String', b'event']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_unsubscribe', b'return_type': b'void', b'parameters': [[b'String', b'event']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_name_to_color', b'return_type': b'Integer', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_color_map', b'return_type': b'Dictionary', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_api_info', b'return_type': b'Array', b'parameters': [], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_buffer', b'return_type': b'Buffer', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_cursor', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_set_cursor', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_height', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_set_height', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_width', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_set_width', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_var', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_option', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_set_option', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_position', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_tabpage', b'return_type': b'Tabpage', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Window', b'window']], b'since': 0}], b'error_types': {b'Validation': {b'id': 1}, b'Exception': {b'id': 0}}}]] 2017-12-11 01:53:30,129 [DEBUG @ async_session.py:_on_response:95] 38179 - received response: None, [2, {b'version': {b'major': 0, b'api_level': 1, b'api_prerelease': False, b'patch': 7, b'api_compatible': 0, b'minor': 1}, b'types': {b'Window': {b'id': 1, b'prefix': b'nvimwin'}, b'Tabpage': {b'id': 2, b'prefix': b'nvimtabpage'}, b'Buffer': {b'id': 0, b'prefix': b'nvimbuf'}}, b'functions': [{b'method': True, b'name': b'nvim_buf_line_count', b'return_type': b'Integer', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_get_line', b'return_type': b'String', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_set_line', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index'], [b'String', b'line']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_del_line', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_get_line_slice', b'return_type': b'ArrayOf(String)', 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'since': 0}, {b'method': True, b'name': b'nvim_buf_get_lines', b'return_type': b'ArrayOf(String)', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_set_line_slice', b'return_type': b'void', 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'since': 0}, {b'method': True, b'name': b'nvim_buf_set_lines', b'return_type': b'void', 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'since': 1}, {b'method': True, b'name': b'nvim_buf_get_var', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_set_var', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_del_var', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_set_var', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_del_var', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'name': b'nvim_buf_get_option', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_set_option', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_get_number', b'return_type': b'Integer', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_get_name', b'return_type': b'String', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_set_name', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'buffer_insert', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'lnum'], [b'ArrayOf(String)', b'lines']], b'since': 0}, {b'method': True, b'name': b'nvim_buf_get_mark', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_buf_add_highlight', b'return_type': b'Integer', 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'since': 1}, {b'method': True, b'name': b'nvim_buf_clear_highlight', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_list_wins', b'return_type': b'ArrayOf(Window)', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_get_var', b'return_type': b'Object', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_set_var', b'return_type': b'void', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_del_var', b'return_type': b'void', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'tabpage_set_var', b'return_type': b'Object', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'tabpage_del_var', b'return_type': b'Object', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'since': 0}, {b'method': True, b'name': b'nvim_tabpage_get_win', b'return_type': b'Window', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_get_number', b'return_type': b'Integer', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': True, b'name': b'nvim_tabpage_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': False, b'name': b'nvim_ui_attach', b'return_type': b'void', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Dictionary', b'options']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'ui_attach', b'return_type': b'void', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Boolean', b'enable_rgb']], b'since': 0}, {b'method': False, b'name': b'nvim_ui_detach', b'return_type': b'void', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_ui_try_resize', b'return_type': b'void', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'since': 1}, {b'method': False, b'name': b'nvim_ui_set_option', b'return_type': b'void', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': False, b'name': b'nvim_command', b'return_type': b'void', b'parameters': [[b'String', b'command']], b'since': 1}, {b'method': False, b'name': b'nvim_feedkeys', b'return_type': b'void', b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'since': 1}, {b'method': False, b'name': b'nvim_input', b'return_type': b'Integer', b'parameters': [[b'String', b'keys']], b'since': 1}, {b'method': False, b'name': b'nvim_replace_termcodes', b'return_type': b'String', b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'since': 1}, {b'method': False, b'name': b'nvim_command_output', b'return_type': b'String', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_eval', b'return_type': b'Object', b'parameters': [[b'String', b'expr']], b'since': 1}, {b'method': False, b'name': b'nvim_call_function', b'return_type': b'Object', b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'since': 1}, {b'method': False, b'name': b'nvim_strwidth', b'return_type': b'Integer', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_list_runtime_paths', b'return_type': b'ArrayOf(String)', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_dir', b'return_type': b'void', b'parameters': [[b'String', b'dir']], b'since': 1}, {b'method': False, b'name': b'nvim_get_current_line', b'return_type': b'String', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_line', b'return_type': b'void', b'parameters': [[b'String', b'line']], b'since': 1}, {b'method': False, b'name': b'nvim_del_current_line', b'return_type': b'void', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_var', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'name': b'nvim_set_var', b'return_type': b'void', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': False, b'name': b'nvim_del_var', b'return_type': b'void', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_var', b'return_type': b'Object', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_del_var', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'name': b'nvim_get_vvar', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'name': b'nvim_get_option', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'name': b'nvim_set_option', b'return_type': b'void', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': False, b'name': b'nvim_out_write', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_err_write', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_err_writeln', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 1}, {b'method': False, b'name': b'nvim_list_bufs', b'return_type': b'ArrayOf(Buffer)', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_current_buf', b'return_type': b'Buffer', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_buf', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer']], b'since': 1}, {b'method': False, b'name': b'nvim_list_wins', b'return_type': b'ArrayOf(Window)', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_current_win', b'return_type': b'Window', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_win', b'return_type': b'void', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': False, b'name': b'nvim_list_tabpages', b'return_type': b'ArrayOf(Tabpage)', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_current_tabpage', b'return_type': b'Tabpage', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_set_current_tabpage', b'return_type': b'void', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 1}, {b'method': False, b'name': b'nvim_subscribe', b'return_type': b'void', b'parameters': [[b'String', b'event']], b'since': 1}, {b'method': False, b'name': b'nvim_unsubscribe', b'return_type': b'void', b'parameters': [[b'String', b'event']], b'since': 1}, {b'method': False, b'name': b'nvim_get_color_by_name', b'return_type': b'Integer', b'parameters': [[b'String', b'name']], b'since': 1}, {b'method': False, b'name': b'nvim_get_color_map', b'return_type': b'Dictionary', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_get_api_info', b'return_type': b'Array', b'parameters': [], b'since': 1}, {b'method': False, b'name': b'nvim_call_atomic', b'return_type': b'Array', b'parameters': [[b'Array', b'calls']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_buf', b'return_type': b'Buffer', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_cursor', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_cursor', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_height', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_height', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_width', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_width', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_var', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_var', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_win_del_var', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 1}, {b'method': False, b'deprecated_since': 1, b'name': b'window_set_var', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'window_del_var', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 0}, {b'method': True, b'name': b'nvim_win_get_option', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 1}, {b'method': True, b'name': b'nvim_win_set_option', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_position', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_tabpage', b'return_type': b'Tabpage', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_get_number', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'name': b'nvim_win_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Window', b'window']], b'since': 1}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_line_count', b'return_type': b'Integer', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_lines', b'return_type': b'ArrayOf(String)', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_set_lines', b'return_type': b'void', 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'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_var', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_option', b'return_type': b'Object', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_set_option', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_number', b'return_type': b'Integer', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_name', b'return_type': b'String', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_set_name', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_get_mark', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_add_highlight', b'return_type': b'Integer', 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'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'buffer_clear_highlight', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'tabpage_get_windows', b'return_type': b'ArrayOf(Window)', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'tabpage_get_var', b'return_type': b'Object', b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'tabpage_get_window', b'return_type': b'Window', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'tabpage_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'ui_detach', b'return_type': b'void', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'ui_try_resize', b'return_type': b'Object', b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_command', b'return_type': b'void', b'parameters': [[b'String', b'command']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_feedkeys', b'return_type': b'void', b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_input', b'return_type': b'Integer', b'parameters': [[b'String', b'keys']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_replace_termcodes', b'return_type': b'String', b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_command_output', b'return_type': b'String', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_eval', b'return_type': b'Object', b'parameters': [[b'String', b'expr']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_call_function', b'return_type': b'Object', b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_strwidth', b'return_type': b'Integer', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_list_runtime_paths', b'return_type': b'ArrayOf(String)', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_change_directory', b'return_type': b'void', b'parameters': [[b'String', b'dir']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_current_line', b'return_type': b'String', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_current_line', b'return_type': b'void', b'parameters': [[b'String', b'line']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_del_current_line', b'return_type': b'void', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_var', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_vvar', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_option', b'return_type': b'Object', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_option', b'return_type': b'void', b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_out_write', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_err_write', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_report_error', b'return_type': b'void', b'parameters': [[b'String', b'str']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_buffers', b'return_type': b'ArrayOf(Buffer)', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_current_buffer', b'return_type': b'Buffer', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_current_buffer', b'return_type': b'void', b'parameters': [[b'Buffer', b'buffer']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_windows', b'return_type': b'ArrayOf(Window)', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_current_window', b'return_type': b'Window', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_current_window', b'return_type': b'void', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_tabpages', b'return_type': b'ArrayOf(Tabpage)', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_current_tabpage', b'return_type': b'Tabpage', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_set_current_tabpage', b'return_type': b'void', b'parameters': [[b'Tabpage', b'tabpage']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_subscribe', b'return_type': b'void', b'parameters': [[b'String', b'event']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_unsubscribe', b'return_type': b'void', b'parameters': [[b'String', b'event']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_name_to_color', b'return_type': b'Integer', b'parameters': [[b'String', b'name']], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_color_map', b'return_type': b'Dictionary', b'parameters': [], b'since': 0}, {b'method': False, b'deprecated_since': 1, b'name': b'vim_get_api_info', b'return_type': b'Array', b'parameters': [], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_buffer', b'return_type': b'Buffer', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_cursor', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_set_cursor', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_height', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_set_height', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_width', b'return_type': b'Integer', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_set_width', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_var', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_option', b'return_type': b'Object', b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_set_option', b'return_type': b'void', b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_position', b'return_type': b'ArrayOf(Integer, 2)', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_get_tabpage', b'return_type': b'Tabpage', b'parameters': [[b'Window', b'window']], b'since': 0}, {b'method': True, b'deprecated_since': 1, b'name': b'window_is_valid', b'return_type': b'Boolean', b'parameters': [[b'Window', b'window']], b'since': 0}], b'error_types': {b'Validation': {b'id': 1}, b'Exception': {b'id': 0}}}] 2017-12-11 01:53:30,130 [DEBUG @ base.py:stop:149] 38179 - Stopped event loop 2017-12-11 01:53:30,130 [DEBUG @ msgpack_stream.py:_on_data:54] 38179 - waiting for message... 2017-12-11 01:53:30,130 [DEBUG @ msgpack_stream.py:_on_data:59] 38179 - unpacker needs more data... 2017-12-11 01:53:30,130 [DEBUG @ base.py:run:140] 38179 - Exited event loop 2017-12-11 01:53:30,135 [DEBUG @ msgpack_stream.py:send:33] 38179 - sent [0, 2, 'nvim_eval', ('globpath(&rtp,"pythonx",1) . "\n" . globpath(&rtp,"rplugin/python3",1)',)] 2017-12-11 01:53:30,135 [DEBUG @ base.py:send:113] 38179 - Sending 'b'\x94\x00\x02\xa9nvim_eval\x91\xda\x00Fglobpath(&rtp,"pythonx",1) . "\n" . globpath(&rtp,"rplugin/python3",1)'' 2017-12-11 01:53:30,135 [DEBUG @ base.py:run:138] 38179 - Entering event loop 2017-12-11 01:53:30,154 [DEBUG @ msgpack_stream.py:_on_data:54] 38179 - waiting for message... 2017-12-11 01:53:30,154 [DEBUG @ msgpack_stream.py:_on_data:56] 38179 - received message: [1, 2, None, b'/Users/callmekohei/.config/nvim/dein/.cache/.vimrc/.dein/pythonx\n/Users/callmekohei/.config/nvim/testYarp/pythonx\n/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/dein.vim/rplugin/python3\n/Users/callmekohei/.config/nvim/dein/.cache/.vimrc/.dein/rplugin/python3\n/Users/callmekohei/.config/nvim/testYarp/rplugin/python3\n/Users/callmekohei/.config/nvim/deoplete-fsharp/rplugin/python3'] 2017-12-11 01:53:30,154 [DEBUG @ async_session.py:_on_response:95] 38179 - received response: None, b'/Users/callmekohei/.config/nvim/dein/.cache/.vimrc/.dein/pythonx\n/Users/callmekohei/.config/nvim/testYarp/pythonx\n/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/dein.vim/rplugin/python3\n/Users/callmekohei/.config/nvim/dein/.cache/.vimrc/.dein/rplugin/python3\n/Users/callmekohei/.config/nvim/testYarp/rplugin/python3\n/Users/callmekohei/.config/nvim/deoplete-fsharp/rplugin/python3' 2017-12-11 01:53:30,154 [DEBUG @ base.py:stop:149] 38179 - Stopped event loop 2017-12-11 01:53:30,155 [DEBUG @ msgpack_stream.py:_on_data:54] 38179 - waiting for message... 2017-12-11 01:53:30,155 [DEBUG @ msgpack_stream.py:_on_data:59] 38179 - unpacker needs more data... 2017-12-11 01:53:30,155 [DEBUG @ base.py:run:140] 38179 - Exited event loop 2017-12-11 01:53:30,155 [DEBUG @ msgpack_stream.py:send:33] 38179 - sent [0, 3, 'nvim_call_function', ('yarp#core#channel_started', [2, 2])] 2017-12-11 01:53:30,155 [DEBUG @ base.py:send:113] 38179 - Sending 'b'\x94\x00\x03\xb2nvim_call_function\x92\xb9yarp#core#channel_started\x92\x02\x02'' 2017-12-11 01:53:30,155 [DEBUG @ base.py:run:138] 38179 - Entering event loop 2017-12-11 01:53:30,180 [DEBUG @ msgpack_stream.py:_on_data:54] 38179 - waiting for message... 2017-12-11 01:53:30,181 [DEBUG @ msgpack_stream.py:_on_data:56] 38179 - received message: [1, 3, None, 0] 2017-12-11 01:53:30,181 [DEBUG @ async_session.py:_on_response:95] 38179 - received response: None, 0 2017-12-11 01:53:30,181 [DEBUG @ base.py:stop:149] 38179 - Stopped event loop 2017-12-11 01:53:30,181 [DEBUG @ msgpack_stream.py:_on_data:54] 38179 - waiting for message... 2017-12-11 01:53:30,181 [DEBUG @ msgpack_stream.py:_on_data:59] 38179 - unpacker needs more data... 2017-12-11 01:53:30,181 [DEBUG @ base.py:run:140] 38179 - Exited event loop 2017-12-11 01:53:30,183 [DEBUG @ base.py:run:138] 38179 - Entering event loop 2017-12-11 01:53:30,183 [DEBUG @ msgpack_stream.py:_on_data:54] 38179 - waiting for message... 2017-12-11 01:53:30,184 [DEBUG @ msgpack_stream.py:_on_data:56] 38179 - received message: [0, 2, b'bar', []] 2017-12-11 01:53:30,184 [DEBUG @ async_session.py:_on_request:86] 38179 - received request: b'bar', [] 2017-12-11 01:53:30,184 [DEBUG @ session.py:_on_request:200] 38179 - received rpc request, greenlet <greenlet.greenlet object at 0x1028f6768> will handle it 2017-12-11 01:53:30,187 [DEBUG @ session.py:handler:186] 38179 - greenlet <greenlet.greenlet object at 0x1028f6768> finished executing, sending None as response 2017-12-11 01:53:30,188 [DEBUG @ async_session.py:send:133] 38179 - sending response to request 2: [1, 2, None, None] 2017-12-11 01:53:30,188 [DEBUG @ msgpack_stream.py:send:33] 38179 - sent [1, 2, None, None] 2017-12-11 01:53:30,188 [DEBUG @ base.py:send:113] 38179 - Sending 'b'\x94\x01\x02\xc0\xc0'' 2017-12-11 01:53:30,188 [DEBUG @ session.py:handler:196] 38179 - greenlet <greenlet.greenlet object at 0x1028f6768> is now dying... 2017-12-11 01:53:30,188 [DEBUG @ msgpack_stream.py:_on_data:54] 38179 - waiting for message... 2017-12-11 01:53:30,188 [DEBUG @ msgpack_stream.py:_on_data:59] 38179 - unpacker needs more data... 2017-12-11 01:53:32,774 [DEBUG @ base.py:_on_signal:153] 38179 - Received SIGTERM 2017-12-11 01:53:32,775 [DEBUG @ base.py:stop:149] 38179 - Stopped event loop 2017-12-11 01:53:32,775 [DEBUG @ base.py:run:140] 38179 - Exited event loop

`log_py3_neovim_rpc_server`

2017-12-11 01:54:14,177 [INFO @ neovim_rpc_server.py:handle:88] 38194 - === socket opened === 2017-12-11 01:54:14,179 [INFO @ neovim_rpc_server.py:handle:107] 38194 - received: b'[1,"neovim_rpc_setup"]\n' 2017-12-11 01:54:14,181 [INFO @ neovim_rpc_server.py:handle:123] 38194 - sending ["ex", "scall neovim_rpc#_callback()"] 2017-12-11 01:54:14,293 [INFO @ neovim_rpc_server.py:handle:161] 38194 - === socket opened for client === 2017-12-11 01:54:14,295 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 1, b'vim_get_api_info', []] 2017-12-11 01:54:14,296 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,298 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,298 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 1, 'vim_get_api_info', []] 2017-12-11 01:54:14,298 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 1, None, [1, {'version': {'major': 0, 'api_level': 1, 'api_prerelease': False, 'patch': 7, 'api_compatible': 0, 'minor': 1}, 'types': {'Window': {'id': 1, 'prefix': 'nvimwin'}, 'Tabpage': {'id': 2, 'prefix': 'nvimtabpage'}, 'Buffer': {'id': 0, 'prefix': 'nvimbuf'}}, 'functions': [{'method': True, 'name': 'nvim_buf_line_count', 'return_type': 'Integer', 'parameters': [['Buffer', 'buffer']], 'since': 1}, {'method': False, 'deprecated_since': 1, 'name': 'buffer_get_line', 'return_type': 'String', 'parameters': [['Buffer', 'buffer'], ['Integer', 'index']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'buffer_set_line', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['Integer', 'index'], ['String', 'line']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'buffer_del_line', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['Integer', 'index']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'buffer_get_line_slice', 'return_type': 'ArrayOf(String)', 'parameters': [['Buffer', 'buffer'], ['Integer', 'start'], ['Integer', 'end'], ['Boolean', 'include_start'], ['Boolean', 'include_end']], 'since': 0}, {'method': True, 'name': 'nvim_buf_get_lines', 'return_type': 'ArrayOf(String)', 'parameters': [['Buffer', 'buffer'], ['Integer', 'start'], ['Integer', 'end'], ['Boolean', 'strict_indexing']], 'since': 1}, {'method': False, 'deprecated_since': 1, 'name': 'buffer_set_line_slice', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['Integer', 'start'], ['Integer', 'end'], ['Boolean', 'include_start'], ['Boolean', 'include_end'], ['ArrayOf(String)', 'replacement']], 'since': 0}, {'method': True, 'name': 'nvim_buf_set_lines', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['Integer', 'start'], ['Integer', 'end'], ['Boolean', 'strict_indexing'], ['ArrayOf(String)', 'replacement']], 'since': 1}, {'method': True, 'name': 'nvim_buf_get_var', 'return_type': 'Object', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 1}, {'method': True, 'name': 'nvim_buf_set_var', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['String', 'name'], ['Object', 'value']], 'since': 1}, {'method': True, 'name': 'nvim_buf_del_var', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 1}, {'method': False, 'deprecated_since': 1, 'name': 'buffer_set_var', 'return_type': 'Object', 'parameters': [['Buffer', 'buffer'], ['String', 'name'], ['Object', 'value']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'buffer_del_var', 'return_type': 'Object', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 0}, {'method': True, 'name': 'nvim_buf_get_option', 'return_type': 'Object', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 1}, {'method': True, 'name': 'nvim_buf_set_option', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['String', 'name'], ['Object', 'value']], 'since': 1}, {'method': True, 'name': 'nvim_buf_get_number', 'return_type': 'Integer', 'parameters': [['Buffer', 'buffer']], 'since': 1}, {'method': True, 'name': 'nvim_buf_get_name', 'return_type': 'String', 'parameters': [['Buffer', 'buffer']], 'since': 1}, {'method': True, 'name': 'nvim_buf_set_name', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 1}, {'method': True, 'name': 'nvim_buf_is_valid', 'return_type': 'Boolean', 'parameters': [['Buffer', 'buffer']], 'since': 1}, {'method': False, 'deprecated_since': 1, 'name': 'buffer_insert', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['Integer', 'lnum'], ['ArrayOf(String)', 'lines']], 'since': 0}, {'method': True, 'name': 'nvim_buf_get_mark', 'return_type': 'ArrayOf(Integer, 2)', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 1}, {'method': True, 'name': 'nvim_buf_add_highlight', 'return_type': 'Integer', 'parameters': [['Buffer', 'buffer'], ['Integer', 'src_id'], ['String', 'hl_group'], ['Integer', 'line'], ['Integer', 'col_start'], ['Integer', 'col_end']], 'since': 1}, {'method': True, 'name': 'nvim_buf_clear_highlight', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['Integer', 'src_id'], ['Integer', 'line_start'], ['Integer', 'line_end']], 'since': 1}, {'method': True, 'name': 'nvim_tabpage_list_wins', 'return_type': 'ArrayOf(Window)', 'parameters': [['Tabpage', 'tabpage']], 'since': 1}, {'method': True, 'name': 'nvim_tabpage_get_var', 'return_type': 'Object', 'parameters': [['Tabpage', 'tabpage'], ['String', 'name']], 'since': 1}, {'method': True, 'name': 'nvim_tabpage_set_var', 'return_type': 'void', 'parameters': [['Tabpage', 'tabpage'], ['String', 'name'], ['Object', 'value']], 'since': 1}, {'method': True, 'name': 'nvim_tabpage_del_var', 'return_type': 'void', 'parameters': [['Tabpage', 'tabpage'], ['String', 'name']], 'since': 1}, {'method': False, 'deprecated_since': 1, 'name': 'tabpage_set_var', 'return_type': 'Object', 'parameters': [['Tabpage', 'tabpage'], ['String', 'name'], ['Object', 'value']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'tabpage_del_var', 'return_type': 'Object', 'parameters': [['Tabpage', 'tabpage'], ['String', 'name']], 'since': 0}, {'method': True, 'name': 'nvim_tabpage_get_win', 'return_type': 'Window', 'parameters': [['Tabpage', 'tabpage']], 'since': 1}, {'method': True, 'name': 'nvim_tabpage_get_number', 'return_type': 'Integer', 'parameters': [['Tabpage', 'tabpage']], 'since': 1}, {'method': True, 'name': 'nvim_tabpage_is_valid', 'return_type': 'Boolean', 'parameters': [['Tabpage', 'tabpage']], 'since': 1}, {'method': False, 'name': 'nvim_ui_attach', 'return_type': 'void', 'parameters': [['Integer', 'width'], ['Integer', 'height'], ['Dictionary', 'options']], 'since': 1}, {'method': False, 'deprecated_since': 1, 'name': 'ui_attach', 'return_type': 'void', 'parameters': [['Integer', 'width'], ['Integer', 'height'], ['Boolean', 'enable_rgb']], 'since': 0}, {'method': False, 'name': 'nvim_ui_detach', 'return_type': 'void', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_ui_try_resize', 'return_type': 'void', 'parameters': [['Integer', 'width'], ['Integer', 'height']], 'since': 1}, {'method': False, 'name': 'nvim_ui_set_option', 'return_type': 'void', 'parameters': [['String', 'name'], ['Object', 'value']], 'since': 1}, {'method': False, 'name': 'nvim_command', 'return_type': 'void', 'parameters': [['String', 'command']], 'since': 1}, {'method': False, 'name': 'nvim_feedkeys', 'return_type': 'void', 'parameters': [['String', 'keys'], ['String', 'mode'], ['Boolean', 'escape_csi']], 'since': 1}, {'method': False, 'name': 'nvim_input', 'return_type': 'Integer', 'parameters': [['String', 'keys']], 'since': 1}, {'method': False, 'name': 'nvim_replace_termcodes', 'return_type': 'String', 'parameters': [['String', 'str'], ['Boolean', 'from_part'], ['Boolean', 'do_lt'], ['Boolean', 'special']], 'since': 1}, {'method': False, 'name': 'nvim_command_output', 'return_type': 'String', 'parameters': [['String', 'str']], 'since': 1}, {'method': False, 'name': 'nvim_eval', 'return_type': 'Object', 'parameters': [['String', 'expr']], 'since': 1}, {'method': False, 'name': 'nvim_call_function', 'return_type': 'Object', 'parameters': [['String', 'fname'], ['Array', 'args']], 'since': 1}, {'method': False, 'name': 'nvim_strwidth', 'return_type': 'Integer', 'parameters': [['String', 'str']], 'since': 1}, {'method': False, 'name': 'nvim_list_runtime_paths', 'return_type': 'ArrayOf(String)', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_set_current_dir', 'return_type': 'void', 'parameters': [['String', 'dir']], 'since': 1}, {'method': False, 'name': 'nvim_get_current_line', 'return_type': 'String', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_set_current_line', 'return_type': 'void', 'parameters': [['String', 'line']], 'since': 1}, {'method': False, 'name': 'nvim_del_current_line', 'return_type': 'void', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_get_var', 'return_type': 'Object', 'parameters': [['String', 'name']], 'since': 1}, {'method': False, 'name': 'nvim_set_var', 'return_type': 'void', 'parameters': [['String', 'name'], ['Object', 'value']], 'since': 1}, {'method': False, 'name': 'nvim_del_var', 'return_type': 'void', 'parameters': [['String', 'name']], 'since': 1}, {'method': False, 'deprecated_since': 1, 'name': 'vim_set_var', 'return_type': 'Object', 'parameters': [['String', 'name'], ['Object', 'value']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_del_var', 'return_type': 'Object', 'parameters': [['String', 'name']], 'since': 0}, {'method': False, 'name': 'nvim_get_vvar', 'return_type': 'Object', 'parameters': [['String', 'name']], 'since': 1}, {'method': False, 'name': 'nvim_get_option', 'return_type': 'Object', 'parameters': [['String', 'name']], 'since': 1}, {'method': False, 'name': 'nvim_set_option', 'return_type': 'void', 'parameters': [['String', 'name'], ['Object', 'value']], 'since': 1}, {'method': False, 'name': 'nvim_out_write', 'return_type': 'void', 'parameters': [['String', 'str']], 'since': 1}, {'method': False, 'name': 'nvim_err_write', 'return_type': 'void', 'parameters': [['String', 'str']], 'since': 1}, {'method': False, 'name': 'nvim_err_writeln', 'return_type': 'void', 'parameters': [['String', 'str']], 'since': 1}, {'method': False, 'name': 'nvim_list_bufs', 'return_type': 'ArrayOf(Buffer)', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_get_current_buf', 'return_type': 'Buffer', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_set_current_buf', 'return_type': 'void', 'parameters': [['Buffer', 'buffer']], 'since': 1}, {'method': False, 'name': 'nvim_list_wins', 'return_type': 'ArrayOf(Window)', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_get_current_win', 'return_type': 'Window', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_set_current_win', 'return_type': 'void', 'parameters': [['Window', 'window']], 'since': 1}, {'method': False, 'name': 'nvim_list_tabpages', 'return_type': 'ArrayOf(Tabpage)', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_get_current_tabpage', 'return_type': 'Tabpage', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_set_current_tabpage', 'return_type': 'void', 'parameters': [['Tabpage', 'tabpage']], 'since': 1}, {'method': False, 'name': 'nvim_subscribe', 'return_type': 'void', 'parameters': [['String', 'event']], 'since': 1}, {'method': False, 'name': 'nvim_unsubscribe', 'return_type': 'void', 'parameters': [['String', 'event']], 'since': 1}, {'method': False, 'name': 'nvim_get_color_by_name', 'return_type': 'Integer', 'parameters': [['String', 'name']], 'since': 1}, {'method': False, 'name': 'nvim_get_color_map', 'return_type': 'Dictionary', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_get_api_info', 'return_type': 'Array', 'parameters': [], 'since': 1}, {'method': False, 'name': 'nvim_call_atomic', 'return_type': 'Array', 'parameters': [['Array', 'calls']], 'since': 1}, {'method': True, 'name': 'nvim_win_get_buf', 'return_type': 'Buffer', 'parameters': [['Window', 'window']], 'since': 1}, {'method': True, 'name': 'nvim_win_get_cursor', 'return_type': 'ArrayOf(Integer, 2)', 'parameters': [['Window', 'window']], 'since': 1}, {'method': True, 'name': 'nvim_win_set_cursor', 'return_type': 'void', 'parameters': [['Window', 'window'], ['ArrayOf(Integer, 2)', 'pos']], 'since': 1}, {'method': True, 'name': 'nvim_win_get_height', 'return_type': 'Integer', 'parameters': [['Window', 'window']], 'since': 1}, {'method': True, 'name': 'nvim_win_set_height', 'return_type': 'void', 'parameters': [['Window', 'window'], ['Integer', 'height']], 'since': 1}, {'method': True, 'name': 'nvim_win_get_width', 'return_type': 'Integer', 'parameters': [['Window', 'window']], 'since': 1}, {'method': True, 'name': 'nvim_win_set_width', 'return_type': 'void', 'parameters': [['Window', 'window'], ['Integer', 'width']], 'since': 1}, {'method': True, 'name': 'nvim_win_get_var', 'return_type': 'Object', 'parameters': [['Window', 'window'], ['String', 'name']], 'since': 1}, {'method': True, 'name': 'nvim_win_set_var', 'return_type': 'void', 'parameters': [['Window', 'window'], ['String', 'name'], ['Object', 'value']], 'since': 1}, {'method': True, 'name': 'nvim_win_del_var', 'return_type': 'void', 'parameters': [['Window', 'window'], ['String', 'name']], 'since': 1}, {'method': False, 'deprecated_since': 1, 'name': 'window_set_var', 'return_type': 'Object', 'parameters': [['Window', 'window'], ['String', 'name'], ['Object', 'value']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'window_del_var', 'return_type': 'Object', 'parameters': [['Window', 'window'], ['String', 'name']], 'since': 0}, {'method': True, 'name': 'nvim_win_get_option', 'return_type': 'Object', 'parameters': [['Window', 'window'], ['String', 'name']], 'since': 1}, {'method': True, 'name': 'nvim_win_set_option', 'return_type': 'void', 'parameters': [['Window', 'window'], ['String', 'name'], ['Object', 'value']], 'since': 1}, {'method': True, 'name': 'nvim_win_get_position', 'return_type': 'ArrayOf(Integer, 2)', 'parameters': [['Window', 'window']], 'since': 1}, {'method': True, 'name': 'nvim_win_get_tabpage', 'return_type': 'Tabpage', 'parameters': [['Window', 'window']], 'since': 1}, {'method': True, 'name': 'nvim_win_get_number', 'return_type': 'Integer', 'parameters': [['Window', 'window']], 'since': 1}, {'method': True, 'name': 'nvim_win_is_valid', 'return_type': 'Boolean', 'parameters': [['Window', 'window']], 'since': 1}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_line_count', 'return_type': 'Integer', 'parameters': [['Buffer', 'buffer']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_get_lines', 'return_type': 'ArrayOf(String)', 'parameters': [['Buffer', 'buffer'], ['Integer', 'start'], ['Integer', 'end'], ['Boolean', 'strict_indexing']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_set_lines', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['Integer', 'start'], ['Integer', 'end'], ['Boolean', 'strict_indexing'], ['ArrayOf(String)', 'replacement']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_get_var', 'return_type': 'Object', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_get_option', 'return_type': 'Object', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_set_option', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['String', 'name'], ['Object', 'value']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_get_number', 'return_type': 'Integer', 'parameters': [['Buffer', 'buffer']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_get_name', 'return_type': 'String', 'parameters': [['Buffer', 'buffer']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_set_name', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_is_valid', 'return_type': 'Boolean', 'parameters': [['Buffer', 'buffer']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_get_mark', 'return_type': 'ArrayOf(Integer, 2)', 'parameters': [['Buffer', 'buffer'], ['String', 'name']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_add_highlight', 'return_type': 'Integer', 'parameters': [['Buffer', 'buffer'], ['Integer', 'src_id'], ['String', 'hl_group'], ['Integer', 'line'], ['Integer', 'col_start'], ['Integer', 'col_end']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'buffer_clear_highlight', 'return_type': 'void', 'parameters': [['Buffer', 'buffer'], ['Integer', 'src_id'], ['Integer', 'line_start'], ['Integer', 'line_end']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'tabpage_get_windows', 'return_type': 'ArrayOf(Window)', 'parameters': [['Tabpage', 'tabpage']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'tabpage_get_var', 'return_type': 'Object', 'parameters': [['Tabpage', 'tabpage'], ['String', 'name']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'tabpage_get_window', 'return_type': 'Window', 'parameters': [['Tabpage', 'tabpage']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'tabpage_is_valid', 'return_type': 'Boolean', 'parameters': [['Tabpage', 'tabpage']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'ui_detach', 'return_type': 'void', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'ui_try_resize', 'return_type': 'Object', 'parameters': [['Integer', 'width'], ['Integer', 'height']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_command', 'return_type': 'void', 'parameters': [['String', 'command']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_feedkeys', 'return_type': 'void', 'parameters': [['String', 'keys'], ['String', 'mode'], ['Boolean', 'escape_csi']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_input', 'return_type': 'Integer', 'parameters': [['String', 'keys']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_replace_termcodes', 'return_type': 'String', 'parameters': [['String', 'str'], ['Boolean', 'from_part'], ['Boolean', 'do_lt'], ['Boolean', 'special']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_command_output', 'return_type': 'String', 'parameters': [['String', 'str']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_eval', 'return_type': 'Object', 'parameters': [['String', 'expr']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_call_function', 'return_type': 'Object', 'parameters': [['String', 'fname'], ['Array', 'args']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_strwidth', 'return_type': 'Integer', 'parameters': [['String', 'str']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_list_runtime_paths', 'return_type': 'ArrayOf(String)', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_change_directory', 'return_type': 'void', 'parameters': [['String', 'dir']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_current_line', 'return_type': 'String', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_set_current_line', 'return_type': 'void', 'parameters': [['String', 'line']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_del_current_line', 'return_type': 'void', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_var', 'return_type': 'Object', 'parameters': [['String', 'name']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_vvar', 'return_type': 'Object', 'parameters': [['String', 'name']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_option', 'return_type': 'Object', 'parameters': [['String', 'name']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_set_option', 'return_type': 'void', 'parameters': [['String', 'name'], ['Object', 'value']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_out_write', 'return_type': 'void', 'parameters': [['String', 'str']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_err_write', 'return_type': 'void', 'parameters': [['String', 'str']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_report_error', 'return_type': 'void', 'parameters': [['String', 'str']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_buffers', 'return_type': 'ArrayOf(Buffer)', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_current_buffer', 'return_type': 'Buffer', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_set_current_buffer', 'return_type': 'void', 'parameters': [['Buffer', 'buffer']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_windows', 'return_type': 'ArrayOf(Window)', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_current_window', 'return_type': 'Window', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_set_current_window', 'return_type': 'void', 'parameters': [['Window', 'window']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_tabpages', 'return_type': 'ArrayOf(Tabpage)', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_current_tabpage', 'return_type': 'Tabpage', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_set_current_tabpage', 'return_type': 'void', 'parameters': [['Tabpage', 'tabpage']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_subscribe', 'return_type': 'void', 'parameters': [['String', 'event']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_unsubscribe', 'return_type': 'void', 'parameters': [['String', 'event']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_name_to_color', 'return_type': 'Integer', 'parameters': [['String', 'name']], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_color_map', 'return_type': 'Dictionary', 'parameters': [], 'since': 0}, {'method': False, 'deprecated_since': 1, 'name': 'vim_get_api_info', 'return_type': 'Array', 'parameters': [], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_get_buffer', 'return_type': 'Buffer', 'parameters': [['Window', 'window']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_get_cursor', 'return_type': 'ArrayOf(Integer, 2)', 'parameters': [['Window', 'window']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_set_cursor', 'return_type': 'void', 'parameters': [['Window', 'window'], ['ArrayOf(Integer, 2)', 'pos']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_get_height', 'return_type': 'Integer', 'parameters': [['Window', 'window']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_set_height', 'return_type': 'void', 'parameters': [['Window', 'window'], ['Integer', 'height']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_get_width', 'return_type': 'Integer', 'parameters': [['Window', 'window']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_set_width', 'return_type': 'void', 'parameters': [['Window', 'window'], ['Integer', 'width']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_get_var', 'return_type': 'Object', 'parameters': [['Window', 'window'], ['String', 'name']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_get_option', 'return_type': 'Object', 'parameters': [['Window', 'window'], ['String', 'name']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_set_option', 'return_type': 'void', 'parameters': [['Window', 'window'], ['String', 'name'], ['Object', 'value']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_get_position', 'return_type': 'ArrayOf(Integer, 2)', 'parameters': [['Window', 'window']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_get_tabpage', 'return_type': 'Tabpage', 'parameters': [['Window', 'window']], 'since': 0}, {'method': True, 'deprecated_since': 1, 'name': 'window_is_valid', 'return_type': 'Boolean', 'parameters': [['Window', 'window']], 'since': 0}], 'error_types': {'Validation': {'id': 1}, 'Exception': {'id': 0}}}]] 2017-12-11 01:54:14,305 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,313 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 2, b'nvim_eval', [b'globpath(&rtp,"pythonx",1) . "\n" . globpath(&rtp,"rplugin/python3",1)']] 2017-12-11 01:54:14,314 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,331 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,331 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 2, 'nvim_eval', ['globpath(&rtp,"pythonx",1) . "\n" . globpath(&rtp,"rplugin/python3",1)']] 2017-12-11 01:54:14,332 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 2, None, b'/Users/callmekohei/.config/nvim/dein/.cache/.vimrc/.dein/pythonx\n/Users/callmekohei/.config/nvim/testYarp/pythonx\n/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/dein.vim/rplugin/python3\n/Users/callmekohei/.config/nvim/dein/.cache/.vimrc/.dein/rplugin/python3\n/Users/callmekohei/.config/nvim/testYarp/rplugin/python3\n/Users/callmekohei/.config/nvim/deoplete-fsharp/rplugin/python3'] 2017-12-11 01:54:14,332 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,334 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 3, b'nvim_call_function', [b'yarp#core#channel_started', [3, 1]]] 2017-12-11 01:54:14,334 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,358 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,358 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 3, 'nvim_call_function', ['yarp#core#channel_started', [3, 1]]] 2017-12-11 01:54:14,358 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 3, None, 0] 2017-12-11 01:54:14,359 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,359 [INFO @ neovim_rpc_server.py:notify:229] 38194 - notify channel[1]: [2, 'deoplete_init', []] 2017-12-11 01:54:14,367 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 4, b'nvim_call_function', [b'deoplete#init#_context', [b'Init', []]]] 2017-12-11 01:54:14,367 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,368 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,368 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 4, 'nvim_call_function', ['deoplete#init#_context', ['Init', []]]] 2017-12-11 01:54:14,372 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 4, None, <vim.dictionary object at 0x1092eb2a0>] 2017-12-11 01:54:14,372 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,400 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 5, b'nvim_get_option', [b'isfname']] 2017-12-11 01:54:14,400 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,400 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,400 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 5, 'nvim_get_option', ['isfname']] 2017-12-11 01:54:14,400 [INFO @ neovim_rpc_server.py:process_pendingrequests:368] 38194 - sending result: [1, 5, None, b'@,48-57,/,.,-,,+,,,#,$,%,~,='] 2017-12-11 01:54:14,400 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,401 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 6, b'nvim_call_function', [b'deoplete#util#vimoption2pythonnot', [b'@,48-57,/,.,-,,+,,,#,$,%,~,=']]] 2017-12-11 01:54:14,401 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,402 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,402 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 6, 'nvim_call_function', ['deoplete#util#vimoption2pythonnot', ['@,48-57,/,.,-,,+,,,#,$,%,~,=']]] 2017-12-11 01:54:14,402 [INFO @ neovim_rpc_server.py:process_pendingrequests:368] 38194 - sending result: [1, 6, None, b'[^a-zA-Z@0-9/.+,#$%~=-]'] 2017-12-11 01:54:14,403 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,403 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 7, b'nvim_eval', [b'&l:filetype']] 2017-12-11 01:54:14,404 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,404 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,404 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 7, 'nvim_eval', ['&l:filetype']] 2017-12-11 01:54:14,404 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 7, None, b''] 2017-12-11 01:54:14,404 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,405 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 8, b'nvim_get_current_buf', []] 2017-12-11 01:54:14,405 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,405 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,405 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 8, 'nvim_get_current_buf', []] 2017-12-11 01:54:14,406 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 8, None, <buffer /private/tmp/log_py3_foo_wrap>] 2017-12-11 01:54:14,406 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,407 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 9, b'nvim_buf_line_count', [ExtType(code=0, data=b'\x01')]] 2017-12-11 01:54:14,407 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,407 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,407 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 9, 'nvim_buf_line_count', [<buffer /private/tmp/log_py3_foo_wrap>]] 2017-12-11 01:54:14,407 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 9, None, 45] 2017-12-11 01:54:14,407 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,408 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 10, b'nvim_call_function', [b'getline', [1, 45]]] 2017-12-11 01:54:14,408 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,409 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,409 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 10, 'nvim_call_function', ['getline', [1, 45]]] 2017-12-11 01:54:14,409 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 10, None, <vim.list object at 0x1092eb240>] 2017-12-11 01:54:14,409 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,414 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 11, b'nvim_call_function', [b'exists', [b'neoinclude#include#get_tag_files']]] 2017-12-11 01:54:14,414 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,415 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,415 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 11, 'nvim_call_function', ['exists', ['neoinclude#include#get_tag_files']]] 2017-12-11 01:54:14,415 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 11, None, 0] 2017-12-11 01:54:14,415 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,416 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 12, b'nvim_call_function', [b'tagfiles', []]] 2017-12-11 01:54:14,416 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,416 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,416 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 12, 'nvim_call_function', ['tagfiles', []]] 2017-12-11 01:54:14,417 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 12, None, <vim.list object at 0x1092eb120>] 2017-12-11 01:54:14,417 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,418 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 13, b'nvim_call_function', [b'map', [[], b'fnamemodify(v:val, ":p")']]] 2017-12-11 01:54:14,418 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,418 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,418 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 13, 'nvim_call_function', ['map', [[], 'fnamemodify(v:val, ":p")']]] 2017-12-11 01:54:14,418 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 13, None, <vim.list object at 0x1092eb2a0>] 2017-12-11 01:54:14,418 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,419 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 14, b'nvim_set_var', [b'deoplete#_initialized', True]] 2017-12-11 01:54:14,420 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,420 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,420 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 14, 'nvim_set_var', ['deoplete#_initialized', True]] 2017-12-11 01:54:14,420 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 14, None, True] 2017-12-11 01:54:14,420 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:14,422 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 15, b'nvim_set_var', [b'deoplete#_channel_id', 1]] 2017-12-11 01:54:14,422 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"] 2017-12-11 01:54:14,422 [INFO @ neovim_rpc_server.py:process_pending_requests:328] 38194 - process_pending_requests 2017-12-11 01:54:14,422 [INFO @ neovim_rpc_server.py:process_pending_requests:340] 38194 - get msg from channel [1]: [0, 15, 'nvim_set_var', ['deoplete#_channel_id', 1]] 2017-12-11 01:54:14,423 [INFO @ neovim_rpc_server.py:process_pending_requests:368] 38194 - sending result: [1, 15, None, 1] 2017-12-11 01:54:14,423 [INFO @ neovim_rpc_server.py:process_pending_requests:371] 38194 - sended 2017-12-11 01:54:18,381 [INFO @ neovim_rpc_server.py:notify:229] 38194 - notify channel[1]: [2, 'deoplete_on_event', [{'max_menu_width': 66, 'cwd': '/Users/callmekohei/tmp', 'vars': {'deoplete#complete_method': 'complete', 'deoplete#omni#functions': {}, 'deoplete#_initialized': 1, 'deoplete#auto_complete_delay': 50, 'deoplete#max_abbr_width': 80, 'deoplete#enable_yarp': 0, 'deoplete#_rank': {}, 'deoplete#enable_on_insert_enter': 1, 'deoplete#omni#input_patterns': {}, 'deoplete#sources': {}, 'deoplete#auto_refresh_delay': 500, 'deoplete#_channel_id': 1, 'deoplete#ignore_sources': {}, 'deoplete#max_list': 1000, 'deoplete#member#prefix_patterns': {}, 'deoplete#delimiters': ['/'], 'deoplete#omni_patterns': {}, 'deoplete#enable_refresh_always': 0, 'deoplete#enable_camel_case': 0, 'deoplete#enable_smart_case': 1, 'deoplete#_logging': {}, 'deoplete#auto_complete_start_length': 2, 'deoplete#disable_auto_complete': 0, 'deoplete#_keywordpatterns': {'': '[a-zA-Z_]\k'}, 'deoplete#enable_at_startup': 1, 'deoplete#enable_profile': 0, 'deoplete#_context': {}, 'deoplete#max_menu_width': 40, 'deoplete#keyword_patterns': {}, 'deoplete#_omni_patterns': {'xhtml': ['<', '</', '<[^>]\s[[:alnum:]-]'], 'xml': ['<', '</', '<[^>]\s[[:alnum:]-]'], 'html': ['<', '</', '<[^>]\s[[:alnum:]-]']}, 'deoplete#skip_chars': [], 'deoplete#enable_ignore_case': 1}, 'samefiletypes': [], 'smartcase': 1, 'runtimepath': '/Users/callmekohei/.vim,/usr/local/share/vim/vimfiles,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/vimproc.vim,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/dein.vim,/Users/callmekohei/.config/nvim/dein/.cache/.vimrc/.dein,/usr/local/share/vim/vim80,/Users/callmekohei/.config/nvim/dein/.cache/.vimrc/.dein/after,/usr/local/share/vim/vimfiles/after,/Users/callmekohei/.vim/after,/Users/callmekohei/.config/nvim/testYarp,/Users/callmekohei/.config/nvim/deoplete-fsharp', 'bufvars': {}, 'bufnr': 1, 'changedtick': -1, 'custom': {'source': {'': {}}}, 'omni__omnifunc': '', 'filetype': 'nothing', 'input': '', 'is_windows': False, 'delay': 50, 'bufsize': 56827, 'max_kind_width': 66, 'rpc': 'deoplete_on_event', 'bufpath': '/private/tmp/log_py3_foo_wrap', 'bufname': '/private/tmp/log_py3_foo_wrap', 'event': 'VimLeavePre', 'max_abbr_width': 66, 'sources': [], 'complete_str': '', 'camelcase': 0, 'ignorecase': 1, 'filetypes': ['nothing'], 'keywordpatterns': '[a-zA-Z][a-zA-Z@0-9_À-ÿ]', 'dict__dictionary': '', 'position': [0, 1, 1, 0], 'next_input': "2017-12-11 01:53:30,094 [DEBUG @ msgpack_stream.py:send:33] 38179 - sent [0, 1, b'vim_get_api_info', ()]", 'encoding': 'utf-8'}]] 2017-12-11 01:54:18,384 [INFO @ neovim_rpc_server.py:handle:173] 38194 - unpacked: [0, 16, b'nvim_get_option', [b'isfname']] 2017-12-11 01:54:18,384 [INFO @ neovim_rpc_server.py:notify:73] 38194 - sending notification: ["ex", "call neovim_rpc#_callback()"]


### launch Neovim
`log_py3_rplugin`

2017-12-11 01:57:13,333 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 1, b'vim_get_api_info', ()] 2017-12-11 01:57:13,333 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x01\xb0vim_get_api_info\x90'' 2017-12-11 01:57:13,333 [DEBUG @ base.py:run:138] 38280 - Entering event loop 2017-12-11 01:57:13,333 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,333 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [0, 1, b'poll', []] 2017-12-11 01:57:13,334 [DEBUG @ async_session.py:_on_request:86] 38280 - received request: b'poll', [] 2017-12-11 01:57:13,334 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,334 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,335 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,335 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,335 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,335 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,336 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,336 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 1, None, [1, {b'version': {b'major': 0, b'minor': 2, b'patch': 2, b'api_level': 3, b'api_compatible': 0, b'api_prerelease': False}, b'functions': [{b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_buf_line_count', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'method': False, b'deprecated_since': 1, b'return_type': b'String', b'name': b'buffer_get_line', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index'], [b'String', b'line']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_line', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_del_line', b'since': 0}, {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'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(String)', b'name': b'buffer_get_line_slice', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'method': True, b'return_type': b'ArrayOf(String)', b'name': b'nvim_buf_get_lines', b'since': 1}, {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'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_line_slice', b'since': 0}, {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'method': True, b'return_type': b'void', b'name': b'nvim_buf_set_lines', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_buf_get_var', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_buf_get_changedtick', b'since': 2}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'mode']], b'method': True, b'return_type': b'ArrayOf(Dictionary)', b'name': b'nvim_buf_get_keymap', b'since': 3}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_set_var', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_del_var', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'buffer_set_var', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'buffer_del_var', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_buf_get_option', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_set_option', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 2, b'return_type': b'Integer', b'name': b'nvim_buf_get_number', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'return_type': b'String', b'name': b'nvim_buf_get_name', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_set_name', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'return_type': b'Boolean', b'name': b'nvim_buf_is_valid', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'lnum'], [b'ArrayOf(String)', b'lines']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_insert', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'nvim_buf_get_mark', b'since': 1}, {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'method': True, b'return_type': b'Integer', b'name': b'nvim_buf_add_highlight', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_clear_highlight', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'return_type': b'ArrayOf(Window)', b'name': b'nvim_tabpage_list_wins', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_tabpage_get_var', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_tabpage_set_var', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'method': True, b'return_type': b'void', b'name': b'nvim_tabpage_del_var', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'tabpage_set_var', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'tabpage_del_var', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'return_type': b'Window', b'name': b'nvim_tabpage_get_win', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_tabpage_get_number', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'return_type': b'Boolean', b'name': b'nvim_tabpage_is_valid', b'since': 1}, {b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Dictionary', b'options']], b'method': False, b'return_type': b'void', b'name': b'nvim_ui_attach', b'since': 1}, {b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Boolean', b'enable_rgb']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'ui_attach', b'since': 0}, {b'parameters': [], b'method': False, b'return_type': b'void', b'name': b'nvim_ui_detach', b'since': 1}, {b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'method': False, b'return_type': b'void', b'name': b'nvim_ui_try_resize', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'return_type': b'void', b'name': b'nvim_ui_set_option', b'since': 1}, {b'parameters': [[b'String', b'command']], b'method': False, b'return_type': b'void', b'name': b'nvim_command', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Boolean', b'rgb']], b'method': False, b'return_type': b'Dictionary', b'name': b'nvim_get_hl_by_name', b'since': 3}, {b'parameters': [[b'Integer', b'hl_id'], [b'Boolean', b'rgb']], b'method': False, b'return_type': b'Dictionary', b'name': b'nvim_get_hl_by_id', b'since': 3}, {b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'method': False, b'return_type': b'void', b'name': b'nvim_feedkeys', b'since': 1}, {b'parameters': [[b'String', b'keys']], b'method': False, b'return_type': b'Integer', b'name': b'nvim_input', b'since': 1}, {b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'method': False, b'return_type': b'String', b'name': b'nvim_replace_termcodes', b'since': 1}, {b'parameters': [[b'String', b'str']], b'method': False, b'return_type': b'String', b'name': b'nvim_command_output', b'since': 1}, {b'parameters': [[b'String', b'expr']], b'method': False, b'return_type': b'Object', b'name': b'nvim_eval', b'since': 1}, {b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'method': False, b'return_type': b'Object', b'name': b'nvim_call_function', b'since': 1}, {b'parameters': [[b'String', b'code'], [b'Array', b'args']], b'method': False, b'return_type': b'Object', b'name': b'nvim_execute_lua', b'since': 3}, {b'parameters': [[b'String', b'text']], b'method': False, b'return_type': b'Integer', b'name': b'nvim_strwidth', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'ArrayOf(String)', b'name': b'nvim_list_runtime_paths', b'since': 1}, {b'parameters': [[b'String', b'dir']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_dir', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'String', b'name': b'nvim_get_current_line', b'since': 1}, {b'parameters': [[b'String', b'line']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_line', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'void', b'name': b'nvim_del_current_line', b'since': 1}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'Object', b'name': b'nvim_get_var', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_var', b'since': 1}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'void', b'name': b'nvim_del_var', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_set_var', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_del_var', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'Object', b'name': b'nvim_get_vvar', b'since': 1}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'Object', b'name': b'nvim_get_option', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_option', b'since': 1}, {b'parameters': [[b'String', b'str']], b'method': False, b'return_type': b'void', b'name': b'nvim_out_write', b'since': 1}, {b'parameters': [[b'String', b'str']], b'method': False, b'return_type': b'void', b'name': b'nvim_err_write', b'since': 1}, {b'parameters': [[b'String', b'str']], b'method': False, b'return_type': b'void', b'name': b'nvim_err_writeln', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'ArrayOf(Buffer)', b'name': b'nvim_list_bufs', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Buffer', b'name': b'nvim_get_current_buf', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_buf', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'ArrayOf(Window)', b'name': b'nvim_list_wins', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Window', b'name': b'nvim_get_current_win', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_win', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'ArrayOf(Tabpage)', b'name': b'nvim_list_tabpages', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Tabpage', b'name': b'nvim_get_current_tabpage', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_tabpage', b'since': 1}, {b'parameters': [[b'String', b'event']], b'method': False, b'return_type': b'void', b'name': b'nvim_subscribe', b'since': 1}, {b'parameters': [[b'String', b'event']], b'method': False, b'return_type': b'void', b'name': b'nvim_unsubscribe', b'since': 1}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'Integer', b'name': b'nvim_get_color_by_name', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Dictionary', b'name': b'nvim_get_color_map', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Dictionary', b'name': b'nvim_get_mode', b'since': 2}, {b'parameters': [[b'String', b'mode']], b'method': False, b'return_type': b'ArrayOf(Dictionary)', b'name': b'nvim_get_keymap', b'since': 3}, {b'parameters': [], b'method': False, b'return_type': b'Array', b'name': b'nvim_get_api_info', b'since': 1}, {b'parameters': [[b'Array', b'calls']], b'method': False, b'return_type': b'Array', b'name': b'nvim_call_atomic', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Buffer', b'name': b'nvim_win_get_buf', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'nvim_win_get_cursor', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_cursor', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_win_get_height', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_height', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_win_get_width', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_width', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_win_get_var', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_var', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_del_var', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'window_set_var', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'window_del_var', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_win_get_option', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_option', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'nvim_win_get_position', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Tabpage', b'name': b'nvim_win_get_tabpage', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_win_get_number', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Boolean', b'name': b'nvim_win_is_valid', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'buffer_line_count', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(String)', b'name': b'buffer_get_lines', b'since': 0}, {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'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_lines', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'buffer_get_var', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'buffer_get_option', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_option', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'buffer_get_number', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 1, b'return_type': b'String', b'name': b'buffer_get_name', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_name', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 1, b'return_type': b'Boolean', b'name': b'buffer_is_valid', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'buffer_get_mark', b'since': 0}, {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'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'buffer_add_highlight', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_clear_highlight', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(Window)', b'name': b'tabpage_get_windows', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'tabpage_get_var', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'deprecated_since': 1, b'return_type': b'Window', b'name': b'tabpage_get_window', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'deprecated_since': 1, b'return_type': b'Boolean', b'name': b'tabpage_is_valid', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'ui_detach', b'since': 0}, {b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'ui_try_resize', b'since': 0}, {b'parameters': [[b'String', b'command']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_command', b'since': 0}, {b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_feedkeys', b'since': 0}, {b'parameters': [[b'String', b'keys']], b'method': False, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'vim_input', b'since': 0}, {b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'method': False, b'deprecated_since': 1, b'return_type': b'String', b'name': b'vim_replace_termcodes', b'since': 0}, {b'parameters': [[b'String', b'str']], b'method': False, b'deprecated_since': 1, b'return_type': b'String', b'name': b'vim_command_output', b'since': 0}, {b'parameters': [[b'String', b'expr']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_eval', b'since': 0}, {b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_call_function', b'since': 0}, {b'parameters': [[b'String', b'text']], b'method': False, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'vim_strwidth', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(String)', b'name': b'vim_list_runtime_paths', b'since': 0}, {b'parameters': [[b'String', b'dir']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_change_directory', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'String', b'name': b'vim_get_current_line', b'since': 0}, {b'parameters': [[b'String', b'line']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_current_line', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_del_current_line', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_get_var', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_get_vvar', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_get_option', b'since': 0}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_option', b'since': 0}, {b'parameters': [[b'String', b'str']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_out_write', b'since': 0}, {b'parameters': [[b'String', b'str']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_err_write', b'since': 0}, {b'parameters': [[b'String', b'str']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_report_error', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(Buffer)', b'name': b'vim_get_buffers', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Buffer', b'name': b'vim_get_current_buffer', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_current_buffer', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(Window)', b'name': b'vim_get_windows', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Window', b'name': b'vim_get_current_window', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_current_window', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(Tabpage)', b'name': b'vim_get_tabpages', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Tabpage', b'name': b'vim_get_current_tabpage', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_current_tabpage', b'since': 0}, {b'parameters': [[b'String', b'event']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_subscribe', b'since': 0}, {b'parameters': [[b'String', b'event']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_unsubscribe', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'vim_name_to_color', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Dictionary', b'name': b'vim_get_color_map', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Array', b'name': b'vim_get_api_info', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Buffer', b'name': b'window_get_buffer', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'window_get_cursor', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'window_set_cursor', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'window_get_height', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'window_set_height', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'window_get_width', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'window_set_width', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'window_get_var', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'window_get_option', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'window_set_option', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'window_get_position', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Tabpage', b'name': b'window_get_tabpage', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Boolean', b'name': b'window_is_valid', b'since': 0}], b'ui_events': [{b'parameters': [[b'Integer', b'rows'], [b'Integer', b'columns']], b'name': b'resize', b'since': 3}, {b'parameters': [], b'name': b'clear', b'since': 3}, {b'parameters': [], b'name': b'eol_clear', b'since': 3}, {b'parameters': [[b'Integer', b'row'], [b'Integer', b'col']], b'name': b'cursor_goto', b'since': 3}, {b'parameters': [[b'Boolean', b'enabled'], [b'Array', b'cursor_styles']], b'name': b'mode_info_set', b'since': 3}, {b'parameters': [], b'name': b'update_menu', b'since': 3}, {b'parameters': [], b'name': b'busy_start', b'since': 3}, {b'parameters': [], b'name': b'busy_stop', b'since': 3}, {b'parameters': [], b'name': b'mouse_on', b'since': 3}, {b'parameters': [], b'name': b'mouse_off', b'since': 3}, {b'parameters': [[b'String', b'mode'], [b'Integer', b'mode_idx']], b'name': b'mode_change', b'since': 3}, {b'parameters': [[b'Integer', b'top'], [b'Integer', b'bot'], [b'Integer', b'left'], [b'Integer', b'right']], b'name': b'set_scroll_region', b'since': 3}, {b'parameters': [[b'Integer', b'count']], b'name': b'scroll', b'since': 3}, {b'parameters': [[b'Dictionary', b'attrs']], b'name': b'highlight_set', b'since': 3}, {b'parameters': [[b'String', b'str']], b'name': b'put', b'since': 3}, {b'parameters': [], b'name': b'bell', b'since': 3}, {b'parameters': [], b'name': b'visual_bell', b'since': 3}, {b'parameters': [], b'name': b'flush', b'since': 3}, {b'parameters': [[b'Integer', b'fg']], b'name': b'update_fg', b'since': 3}, {b'parameters': [[b'Integer', b'bg']], b'name': b'update_bg', b'since': 3}, {b'parameters': [[b'Integer', b'sp']], b'name': b'update_sp', b'since': 3}, {b'parameters': [], b'name': b'suspend', b'since': 3}, {b'parameters': [[b'String', b'title']], b'name': b'set_title', b'since': 3}, {b'parameters': [[b'String', b'icon']], b'name': b'set_icon', b'since': 3}, {b'parameters': [[b'Array', b'items'], [b'Integer', b'selected'], [b'Integer', b'row'], [b'Integer', b'col']], b'name': b'popupmenu_show', b'since': 3}, {b'parameters': [], b'name': b'popupmenu_hide', b'since': 3}, {b'parameters': [[b'Integer', b'selected']], b'name': b'popupmenu_select', b'since': 3}, {b'parameters': [[b'Tabpage', b'current'], [b'Array', b'tabs']], b'name': b'tabline_update', b'since': 3}, {b'parameters': [[b'Array', b'content'], [b'Integer', b'pos'], [b'String', b'firstc'], [b'String', b'prompt'], [b'Integer', b'indent'], [b'Integer', b'level']], b'name': b'cmdline_show', b'since': 3}, {b'parameters': [[b'Integer', b'pos'], [b'Integer', b'level']], b'name': b'cmdline_pos', b'since': 3}, {b'parameters': [[b'String', b'c'], [b'Boolean', b'shift'], [b'Integer', b'level']], b'name': b'cmdline_special_char', b'since': 3}, {b'parameters': [[b'Integer', b'level']], b'name': b'cmdline_hide', b'since': 3}, {b'parameters': [[b'Array', b'lines']], b'name': b'cmdline_block_show', b'since': 3}, {b'parameters': [[b'Array', b'lines']], b'name': b'cmdline_block_append', b'since': 3}, {b'parameters': [], b'name': b'cmdline_block_hide', b'since': 3}, {b'parameters': [[b'Array', b'items']], b'name': b'wildmenu_show', b'since': 3}, {b'parameters': [[b'Integer', b'selected']], b'name': b'wildmenu_select', b'since': 3}, {b'parameters': [], b'name': b'wildmenu_hide', b'since': 3}], b'error_types': {b'Exception': {b'id': 0}, b'Validation': {b'id': 1}}, b'types': {b'Buffer': {b'id': 0, b'prefix': b'nvimbuf'}, b'Window': {b'id': 1, b'prefix': b'nvimwin'}, b'Tabpage': {b'id': 2, b'prefix': b'nvimtabpage'}}}]] 2017-12-11 01:57:13,337 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, [1, {b'version': {b'major': 0, b'minor': 2, b'patch': 2, b'api_level': 3, b'api_compatible': 0, b'api_prerelease': False}, b'functions': [{b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_buf_line_count', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'method': False, b'deprecated_since': 1, b'return_type': b'String', b'name': b'buffer_get_line', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index'], [b'String', b'line']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_line', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'index']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_del_line', b'since': 0}, {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'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(String)', b'name': b'buffer_get_line_slice', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'method': True, b'return_type': b'ArrayOf(String)', b'name': b'nvim_buf_get_lines', b'since': 1}, {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'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_line_slice', b'since': 0}, {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'method': True, b'return_type': b'void', b'name': b'nvim_buf_set_lines', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_buf_get_var', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_buf_get_changedtick', b'since': 2}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'mode']], b'method': True, b'return_type': b'ArrayOf(Dictionary)', b'name': b'nvim_buf_get_keymap', b'since': 3}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_set_var', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_del_var', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'buffer_set_var', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'buffer_del_var', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_buf_get_option', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_set_option', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 2, b'return_type': b'Integer', b'name': b'nvim_buf_get_number', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'return_type': b'String', b'name': b'nvim_buf_get_name', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_set_name', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'return_type': b'Boolean', b'name': b'nvim_buf_is_valid', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'lnum'], [b'ArrayOf(String)', b'lines']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_insert', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'nvim_buf_get_mark', b'since': 1}, {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'method': True, b'return_type': b'Integer', b'name': b'nvim_buf_add_highlight', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'method': True, b'return_type': b'void', b'name': b'nvim_buf_clear_highlight', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'return_type': b'ArrayOf(Window)', b'name': b'nvim_tabpage_list_wins', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_tabpage_get_var', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_tabpage_set_var', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'method': True, b'return_type': b'void', b'name': b'nvim_tabpage_del_var', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'tabpage_set_var', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'tabpage_del_var', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'return_type': b'Window', b'name': b'nvim_tabpage_get_win', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_tabpage_get_number', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'return_type': b'Boolean', b'name': b'nvim_tabpage_is_valid', b'since': 1}, {b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Dictionary', b'options']], b'method': False, b'return_type': b'void', b'name': b'nvim_ui_attach', b'since': 1}, {b'parameters': [[b'Integer', b'width'], [b'Integer', b'height'], [b'Boolean', b'enable_rgb']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'ui_attach', b'since': 0}, {b'parameters': [], b'method': False, b'return_type': b'void', b'name': b'nvim_ui_detach', b'since': 1}, {b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'method': False, b'return_type': b'void', b'name': b'nvim_ui_try_resize', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'return_type': b'void', b'name': b'nvim_ui_set_option', b'since': 1}, {b'parameters': [[b'String', b'command']], b'method': False, b'return_type': b'void', b'name': b'nvim_command', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Boolean', b'rgb']], b'method': False, b'return_type': b'Dictionary', b'name': b'nvim_get_hl_by_name', b'since': 3}, {b'parameters': [[b'Integer', b'hl_id'], [b'Boolean', b'rgb']], b'method': False, b'return_type': b'Dictionary', b'name': b'nvim_get_hl_by_id', b'since': 3}, {b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'method': False, b'return_type': b'void', b'name': b'nvim_feedkeys', b'since': 1}, {b'parameters': [[b'String', b'keys']], b'method': False, b'return_type': b'Integer', b'name': b'nvim_input', b'since': 1}, {b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'method': False, b'return_type': b'String', b'name': b'nvim_replace_termcodes', b'since': 1}, {b'parameters': [[b'String', b'str']], b'method': False, b'return_type': b'String', b'name': b'nvim_command_output', b'since': 1}, {b'parameters': [[b'String', b'expr']], b'method': False, b'return_type': b'Object', b'name': b'nvim_eval', b'since': 1}, {b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'method': False, b'return_type': b'Object', b'name': b'nvim_call_function', b'since': 1}, {b'parameters': [[b'String', b'code'], [b'Array', b'args']], b'method': False, b'return_type': b'Object', b'name': b'nvim_execute_lua', b'since': 3}, {b'parameters': [[b'String', b'text']], b'method': False, b'return_type': b'Integer', b'name': b'nvim_strwidth', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'ArrayOf(String)', b'name': b'nvim_list_runtime_paths', b'since': 1}, {b'parameters': [[b'String', b'dir']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_dir', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'String', b'name': b'nvim_get_current_line', b'since': 1}, {b'parameters': [[b'String', b'line']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_line', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'void', b'name': b'nvim_del_current_line', b'since': 1}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'Object', b'name': b'nvim_get_var', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_var', b'since': 1}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'void', b'name': b'nvim_del_var', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_set_var', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_del_var', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'Object', b'name': b'nvim_get_vvar', b'since': 1}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'Object', b'name': b'nvim_get_option', b'since': 1}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_option', b'since': 1}, {b'parameters': [[b'String', b'str']], b'method': False, b'return_type': b'void', b'name': b'nvim_out_write', b'since': 1}, {b'parameters': [[b'String', b'str']], b'method': False, b'return_type': b'void', b'name': b'nvim_err_write', b'since': 1}, {b'parameters': [[b'String', b'str']], b'method': False, b'return_type': b'void', b'name': b'nvim_err_writeln', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'ArrayOf(Buffer)', b'name': b'nvim_list_bufs', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Buffer', b'name': b'nvim_get_current_buf', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_buf', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'ArrayOf(Window)', b'name': b'nvim_list_wins', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Window', b'name': b'nvim_get_current_win', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_win', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'ArrayOf(Tabpage)', b'name': b'nvim_list_tabpages', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Tabpage', b'name': b'nvim_get_current_tabpage', b'since': 1}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': False, b'return_type': b'void', b'name': b'nvim_set_current_tabpage', b'since': 1}, {b'parameters': [[b'String', b'event']], b'method': False, b'return_type': b'void', b'name': b'nvim_subscribe', b'since': 1}, {b'parameters': [[b'String', b'event']], b'method': False, b'return_type': b'void', b'name': b'nvim_unsubscribe', b'since': 1}, {b'parameters': [[b'String', b'name']], b'method': False, b'return_type': b'Integer', b'name': b'nvim_get_color_by_name', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Dictionary', b'name': b'nvim_get_color_map', b'since': 1}, {b'parameters': [], b'method': False, b'return_type': b'Dictionary', b'name': b'nvim_get_mode', b'since': 2}, {b'parameters': [[b'String', b'mode']], b'method': False, b'return_type': b'ArrayOf(Dictionary)', b'name': b'nvim_get_keymap', b'since': 3}, {b'parameters': [], b'method': False, b'return_type': b'Array', b'name': b'nvim_get_api_info', b'since': 1}, {b'parameters': [[b'Array', b'calls']], b'method': False, b'return_type': b'Array', b'name': b'nvim_call_atomic', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Buffer', b'name': b'nvim_win_get_buf', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'nvim_win_get_cursor', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_cursor', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_win_get_height', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_height', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_win_get_width', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_width', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_win_get_var', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_var', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_del_var', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'window_set_var', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'window_del_var', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'return_type': b'Object', b'name': b'nvim_win_get_option', b'since': 1}, {b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'return_type': b'void', b'name': b'nvim_win_set_option', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'nvim_win_get_position', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Tabpage', b'name': b'nvim_win_get_tabpage', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Integer', b'name': b'nvim_win_get_number', b'since': 1}, {b'parameters': [[b'Window', b'window']], b'method': True, b'return_type': b'Boolean', b'name': b'nvim_win_is_valid', b'since': 1}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'buffer_line_count', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'start'], [b'Integer', b'end'], [b'Boolean', b'strict_indexing']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(String)', b'name': b'buffer_get_lines', b'since': 0}, {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'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_lines', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'buffer_get_var', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'buffer_get_option', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_option', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'buffer_get_number', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 1, b'return_type': b'String', b'name': b'buffer_get_name', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_set_name', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer']], b'method': True, b'deprecated_since': 1, b'return_type': b'Boolean', b'name': b'buffer_is_valid', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'buffer_get_mark', b'since': 0}, {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'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'buffer_add_highlight', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer'], [b'Integer', b'src_id'], [b'Integer', b'line_start'], [b'Integer', b'line_end']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'buffer_clear_highlight', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(Window)', b'name': b'tabpage_get_windows', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'tabpage_get_var', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'deprecated_since': 1, b'return_type': b'Window', b'name': b'tabpage_get_window', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': True, b'deprecated_since': 1, b'return_type': b'Boolean', b'name': b'tabpage_is_valid', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'ui_detach', b'since': 0}, {b'parameters': [[b'Integer', b'width'], [b'Integer', b'height']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'ui_try_resize', b'since': 0}, {b'parameters': [[b'String', b'command']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_command', b'since': 0}, {b'parameters': [[b'String', b'keys'], [b'String', b'mode'], [b'Boolean', b'escape_csi']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_feedkeys', b'since': 0}, {b'parameters': [[b'String', b'keys']], b'method': False, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'vim_input', b'since': 0}, {b'parameters': [[b'String', b'str'], [b'Boolean', b'from_part'], [b'Boolean', b'do_lt'], [b'Boolean', b'special']], b'method': False, b'deprecated_since': 1, b'return_type': b'String', b'name': b'vim_replace_termcodes', b'since': 0}, {b'parameters': [[b'String', b'str']], b'method': False, b'deprecated_since': 1, b'return_type': b'String', b'name': b'vim_command_output', b'since': 0}, {b'parameters': [[b'String', b'expr']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_eval', b'since': 0}, {b'parameters': [[b'String', b'fname'], [b'Array', b'args']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_call_function', b'since': 0}, {b'parameters': [[b'String', b'text']], b'method': False, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'vim_strwidth', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(String)', b'name': b'vim_list_runtime_paths', b'since': 0}, {b'parameters': [[b'String', b'dir']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_change_directory', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'String', b'name': b'vim_get_current_line', b'since': 0}, {b'parameters': [[b'String', b'line']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_current_line', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_del_current_line', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_get_var', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_get_vvar', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'vim_get_option', b'since': 0}, {b'parameters': [[b'String', b'name'], [b'Object', b'value']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_option', b'since': 0}, {b'parameters': [[b'String', b'str']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_out_write', b'since': 0}, {b'parameters': [[b'String', b'str']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_err_write', b'since': 0}, {b'parameters': [[b'String', b'str']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_report_error', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(Buffer)', b'name': b'vim_get_buffers', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Buffer', b'name': b'vim_get_current_buffer', b'since': 0}, {b'parameters': [[b'Buffer', b'buffer']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_current_buffer', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(Window)', b'name': b'vim_get_windows', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Window', b'name': b'vim_get_current_window', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_current_window', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'ArrayOf(Tabpage)', b'name': b'vim_get_tabpages', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Tabpage', b'name': b'vim_get_current_tabpage', b'since': 0}, {b'parameters': [[b'Tabpage', b'tabpage']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_set_current_tabpage', b'since': 0}, {b'parameters': [[b'String', b'event']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_subscribe', b'since': 0}, {b'parameters': [[b'String', b'event']], b'method': False, b'deprecated_since': 1, b'return_type': b'void', b'name': b'vim_unsubscribe', b'since': 0}, {b'parameters': [[b'String', b'name']], b'method': False, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'vim_name_to_color', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Dictionary', b'name': b'vim_get_color_map', b'since': 0}, {b'parameters': [], b'method': False, b'deprecated_since': 1, b'return_type': b'Array', b'name': b'vim_get_api_info', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Buffer', b'name': b'window_get_buffer', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'window_get_cursor', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'ArrayOf(Integer, 2)', b'pos']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'window_set_cursor', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'window_get_height', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'Integer', b'height']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'window_set_height', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Integer', b'name': b'window_get_width', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'Integer', b'width']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'window_set_width', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'window_get_var', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name']], b'method': True, b'deprecated_since': 1, b'return_type': b'Object', b'name': b'window_get_option', b'since': 0}, {b'parameters': [[b'Window', b'window'], [b'String', b'name'], [b'Object', b'value']], b'method': True, b'deprecated_since': 1, b'return_type': b'void', b'name': b'window_set_option', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'ArrayOf(Integer, 2)', b'name': b'window_get_position', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Tabpage', b'name': b'window_get_tabpage', b'since': 0}, {b'parameters': [[b'Window', b'window']], b'method': True, b'deprecated_since': 1, b'return_type': b'Boolean', b'name': b'window_is_valid', b'since': 0}], b'ui_events': [{b'parameters': [[b'Integer', b'rows'], [b'Integer', b'columns']], b'name': b'resize', b'since': 3}, {b'parameters': [], b'name': b'clear', b'since': 3}, {b'parameters': [], b'name': b'eol_clear', b'since': 3}, {b'parameters': [[b'Integer', b'row'], [b'Integer', b'col']], b'name': b'cursor_goto', b'since': 3}, {b'parameters': [[b'Boolean', b'enabled'], [b'Array', b'cursor_styles']], b'name': b'mode_info_set', b'since': 3}, {b'parameters': [], b'name': b'update_menu', b'since': 3}, {b'parameters': [], b'name': b'busy_start', b'since': 3}, {b'parameters': [], b'name': b'busy_stop', b'since': 3}, {b'parameters': [], b'name': b'mouse_on', b'since': 3}, {b'parameters': [], b'name': b'mouse_off', b'since': 3}, {b'parameters': [[b'String', b'mode'], [b'Integer', b'mode_idx']], b'name': b'mode_change', b'since': 3}, {b'parameters': [[b'Integer', b'top'], [b'Integer', b'bot'], [b'Integer', b'left'], [b'Integer', b'right']], b'name': b'set_scroll_region', b'since': 3}, {b'parameters': [[b'Integer', b'count']], b'name': b'scroll', b'since': 3}, {b'parameters': [[b'Dictionary', b'attrs']], b'name': b'highlight_set', b'since': 3}, {b'parameters': [[b'String', b'str']], b'name': b'put', b'since': 3}, {b'parameters': [], b'name': b'bell', b'since': 3}, {b'parameters': [], b'name': b'visual_bell', b'since': 3}, {b'parameters': [], b'name': b'flush', b'since': 3}, {b'parameters': [[b'Integer', b'fg']], b'name': b'update_fg', b'since': 3}, {b'parameters': [[b'Integer', b'bg']], b'name': b'update_bg', b'since': 3}, {b'parameters': [[b'Integer', b'sp']], b'name': b'update_sp', b'since': 3}, {b'parameters': [], b'name': b'suspend', b'since': 3}, {b'parameters': [[b'String', b'title']], b'name': b'set_title', b'since': 3}, {b'parameters': [[b'String', b'icon']], b'name': b'set_icon', b'since': 3}, {b'parameters': [[b'Array', b'items'], [b'Integer', b'selected'], [b'Integer', b'row'], [b'Integer', b'col']], b'name': b'popupmenu_show', b'since': 3}, {b'parameters': [], b'name': b'popupmenu_hide', b'since': 3}, {b'parameters': [[b'Integer', b'selected']], b'name': b'popupmenu_select', b'since': 3}, {b'parameters': [[b'Tabpage', b'current'], [b'Array', b'tabs']], b'name': b'tabline_update', b'since': 3}, {b'parameters': [[b'Array', b'content'], [b'Integer', b'pos'], [b'String', b'firstc'], [b'String', b'prompt'], [b'Integer', b'indent'], [b'Integer', b'level']], b'name': b'cmdline_show', b'since': 3}, {b'parameters': [[b'Integer', b'pos'], [b'Integer', b'level']], b'name': b'cmdline_pos', b'since': 3}, {b'parameters': [[b'String', b'c'], [b'Boolean', b'shift'], [b'Integer', b'level']], b'name': b'cmdline_special_char', b'since': 3}, {b'parameters': [[b'Integer', b'level']], b'name': b'cmdline_hide', b'since': 3}, {b'parameters': [[b'Array', b'lines']], b'name': b'cmdline_block_show', b'since': 3}, {b'parameters': [[b'Array', b'lines']], b'name': b'cmdline_block_append', b'since': 3}, {b'parameters': [], b'name': b'cmdline_block_hide', b'since': 3}, {b'parameters': [[b'Array', b'items']], b'name': b'wildmenu_show', b'since': 3}, {b'parameters': [[b'Integer', b'selected']], b'name': b'wildmenu_select', b'since': 3}, {b'parameters': [], b'name': b'wildmenu_hide', b'since': 3}], b'error_types': {b'Exception': {b'id': 0}, b'Validation': {b'id': 1}}, b'types': {b'Buffer': {b'id': 0, b'prefix': b'nvimbuf'}, b'Window': {b'id': 1, b'prefix': b'nvimwin'}, b'Tabpage': {b'id': 2, b'prefix': b'nvimtabpage'}}}] 2017-12-11 01:57:13,338 [DEBUG @ base.py:stop:149] 38280 - Stopped event loop 2017-12-11 01:57:13,338 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,338 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,338 [DEBUG @ base.py:run:140] 38280 - Exited event loop 2017-12-11 01:57:13,348 [DEBUG @ session.py:_on_request:200] 38280 - received rpc request, greenlet <greenlet.greenlet object at 0x101a41800> will handle it 2017-12-11 01:57:13,348 [DEBUG @ host.py:_on_request:90] 38280 - calling request handler for "poll", args: "[]" 2017-12-11 01:57:13,348 [DEBUG @ host.py:_on_request:92] 38280 - request handler for 'poll []' returns: ok 2017-12-11 01:57:13,348 [DEBUG @ session.py:handler:186] 38280 - greenlet <greenlet.greenlet object at 0x101a41800> finished executing, sending ok as response 2017-12-11 01:57:13,348 [DEBUG @ async_session.py:send:133] 38280 - sending response to request 1: [1, 1, None, 'ok'] 2017-12-11 01:57:13,348 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [1, 1, None, 'ok'] 2017-12-11 01:57:13,348 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x01\x01\xc0\xa2ok'' 2017-12-11 01:57:13,348 [DEBUG @ session.py:handler:196] 38280 - greenlet <greenlet.greenlet object at 0x101a41800> is now dying... 2017-12-11 01:57:13,348 [DEBUG @ base.py:run:138] 38280 - Entering event loop 2017-12-11 01:57:13,349 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,349 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [2, b'/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein/rplugin/python3/deoplete:function:_deoplete_init', [[]]] 2017-12-11 01:57:13,349 [DEBUG @ async_session.py:_on_notification:102] 38280 - received notification: b'/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein/rplugin/python3/deoplete:function:_deoplete_init', [[]] 2017-12-11 01:57:13,350 [DEBUG @ session.py:_on_notification:215] 38280 - received rpc notification, greenlet <greenlet.greenlet object at 0x101a41800> will handle it 2017-12-11 01:57:13,350 [DEBUG @ host.py:_on_notification:106] 38280 - calling notification handler for "/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein/rplugin/python3/deoplete:function:_deoplete_init", args: "[[]]" 2017-12-11 01:57:13,350 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 2, 'nvim_call_function', ('deoplete#init#_context', ['Init', []])] 2017-12-11 01:57:13,350 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x02\xb2nvim_call_function\x92\xb6deoplete#init#_context\x92\xa4Init\x90'' 2017-12-11 01:57:13,351 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,351 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,351 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,357 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,357 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 2, None, {b'max_menu_width': 66, b'cwd': b'/Users/callmekohei/tmp', b'vars': {b'deoplete#complete_method': b'complete', b'deoplete#omni#functions': {}, b'deoplete#auto_complete_delay': 50, b'deoplete#max_abbr_width': 80, b'deoplete#delimiters': [b'/'], b'deoplete#_rank': {}, b'deoplete#enable_on_insert_enter': 1, b'deoplete#omni#input_patterns': {}, b'deoplete#max_list': 1000, b'deoplete#ignore_sources': {}, b'deoplete#auto_refresh_delay': 500, b'deoplete#member#prefix_patterns': {}, b'deoplete#enable_yarp': 0, b'deoplete#omni_patterns': {}, b'deoplete#enable_refresh_always': 0, b'deoplete#enable_camel_case': 0, b'deoplete#enable_smart_case': 1, b'deoplete#_logging': {}, b'deoplete#auto_complete_start_length': 2, b'deoplete#disable_auto_complete': 0, b'deoplete#sources': {}, b'deoplete#enable_at_startup': 1, b'deoplete#enable_profile': 0, b'deoplete#_context': {}, b'deoplete#max_menu_width': 40, b'deoplete#_keywordpatterns': {b'': b'[a-zA-Z_]\k'}, b'deoplete#keyword_patterns': {}, b'deoplete#_omni_patterns': {b'xhtml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'xml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'html': [b'<', b'</', b'<[^>]\s[[:alnum:]-]']}, b'deoplete#skip_chars': [], b'deoplete#enable_ignore_case': 1}, b'samefiletypes': [], b'smartcase': 1, b'runtimepath': b'/Users/callmekohei/.config/nvim,/etc/xdg/nvim,/Users/callmekohei/.local/share/nvim/site,/usr/local/share/nvim/site,/usr/share/nvim/site,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/vimproc.vim,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/dein.vim,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein,/usr/local/Cellar/neovim/0.2.2/share/nvim/runtime,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein/after,/usr/share/nvim/site/after,/usr/local/share/nvim/site/after,/Users/callmekohei/.local/share/nvim/site/after,/etc/xdg/nvim/after,/Users/callmekohei/.config/nvim/after,/Users/callmekohei/.config/nvim/testYarp,/Users/callmekohei/.config/nvim/deoplete-fsharp', b'bufvars': {}, b'bufnr': 1, b'changedtick': 2, b'custom': {b'source': {b'': {}}}, b'omni__omnifunc': b'', b'filetype': b'nothing', b'input': b'', b'is_windows': False, b'delay': 50, b'bufsize': 0, b'max_kind_width': 66, b'bufpath': b'', b'bufname': b'', b'event': b'Init', b'max_abbr_width': 66, b'sources': [], b'complete_str': b'', b'camelcase': 0, b'ignorecase': 1, b'filetypes': [b'nothing'], b'keywordpatterns': b'[a-zA-Z][a-zA-Z@0-9_\xc3\x80-\xc3\xbf]', b'dictdictionary': b'', b'position': [0, 1, 1, 0], b'next_input': b'', b'encoding': b'utf-8'}] 2017-12-11 01:57:13,357 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, {b'max_menu_width': 66, b'cwd': b'/Users/callmekohei/tmp', b'vars': {b'deoplete#complete_method': b'complete', b'deoplete#omni#functions': {}, b'deoplete#auto_complete_delay': 50, b'deoplete#max_abbr_width': 80, b'deoplete#delimiters': [b'/'], b'deoplete#_rank': {}, b'deoplete#enable_on_insert_enter': 1, b'deoplete#omni#input_patterns': {}, b'deoplete#max_list': 1000, b'deoplete#ignore_sources': {}, b'deoplete#auto_refresh_delay': 500, b'deoplete#member#prefix_patterns': {}, b'deoplete#enable_yarp': 0, b'deoplete#omni_patterns': {}, b'deoplete#enable_refresh_always': 0, b'deoplete#enable_camel_case': 0, b'deoplete#enable_smart_case': 1, b'deoplete#_logging': {}, b'deoplete#auto_complete_start_length': 2, b'deoplete#disable_auto_complete': 0, b'deoplete#sources': {}, b'deoplete#enable_at_startup': 1, b'deoplete#enable_profile': 0, b'deoplete#_context': {}, b'deoplete#max_menu_width': 40, b'deoplete#_keywordpatterns': {b'': b'[a-zA-Z_]\k'}, b'deoplete#keyword_patterns': {}, b'deoplete#_omni_patterns': {b'xhtml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'xml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'html': [b'<', b'</', b'<[^>]\s[[:alnum:]-]']}, b'deoplete#skip_chars': [], b'deoplete#enable_ignore_case': 1}, b'samefiletypes': [], b'smartcase': 1, b'runtimepath': b'/Users/callmekohei/.config/nvim,/etc/xdg/nvim,/Users/callmekohei/.local/share/nvim/site,/usr/local/share/nvim/site,/usr/share/nvim/site,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/vimproc.vim,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/dein.vim,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein,/usr/local/Cellar/neovim/0.2.2/share/nvim/runtime,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein/after,/usr/share/nvim/site/after,/usr/local/share/nvim/site/after,/Users/callmekohei/.local/share/nvim/site/after,/etc/xdg/nvim/after,/Users/callmekohei/.config/nvim/after,/Users/callmekohei/.config/nvim/testYarp,/Users/callmekohei/.config/nvim/deoplete-fsharp', b'bufvars': {}, b'bufnr': 1, b'changedtick': 2, b'custom': {b'source': {b'': {}}}, b'omni__omnifunc': b'', b'filetype': b'nothing', b'input': b'', b'is_windows': False, b'delay': 50, b'bufsize': 0, b'max_kind_width': 66, b'bufpath': b'', b'bufname': b'', b'event': b'Init', b'max_abbr_width': 66, b'sources': [], b'complete_str': b'', b'camelcase': 0, b'ignorecase': 1, b'filetypes': [b'nothing'], b'keywordpatterns': b'[a-zA-Z][a-zA-Z@0-9_\xc3\x80-\xc3\xbf]', b'dictdictionary': b'', b'position': [0, 1, 1, 0], b'next_input': b'', b'encoding': b'utf-8'} 2017-12-11 01:57:13,358 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,383 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 3, 'nvim_get_option', ('isfname',)] 2017-12-11 01:57:13,384 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x03\xafnvim_get_option\x91\xa7isfname'' 2017-12-11 01:57:13,384 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,384 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,384 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,384 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,384 [DEBUG @ msgpack_stream.py:_ondata:56] 38280 - received message: [1, 3, None, b'@,48-57,/,.,-,,+,,,#,$,%,~,='] 2017-12-11 01:57:13,384 [DEBUG @ async_session.py:_onresponse:95] 38280 - received response: None, b'@,48-57,/,.,-,,+,,,#,$,%,~,=' 2017-12-11 01:57:13,384 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,384 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 4, 'nvim_call_function', ('deoplete#util#vimoption2pythonnot', ['@,48-57,/,.,-,,+,,,#,$,%,~,='])] 2017-12-11 01:57:13,385 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x04\xb2nvim_call_function\x92\xda\x00"deoplete#util#vimoption2pythonnot\x91\xbd@,48-57,/,.,-,,+,,,#,$,%,~,='' 2017-12-11 01:57:13,385 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,385 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,385 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,385 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,385 [DEBUG @ msgpack_stream.py:_ondata:56] 38280 - received message: [1, 4, None, b'[^a-zA-Z@0-9/.+,#$%~=-]'] 2017-12-11 01:57:13,385 [DEBUG @ async_session.py:_onresponse:95] 38280 - received response: None, b'[^a-zA-Z@0-9/.+,#$%~=-]' 2017-12-11 01:57:13,385 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,386 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 5, 'nvim_eval', ('&l:filetype',)] 2017-12-11 01:57:13,386 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x05\xa9nvim_eval\x91\xab&l:filetype'' 2017-12-11 01:57:13,386 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,386 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,386 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,386 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,386 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 5, None, b''] 2017-12-11 01:57:13,386 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, b'' 2017-12-11 01:57:13,386 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,386 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 6, 'nvim_get_current_buf', ()] 2017-12-11 01:57:13,386 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x06\xb4nvim_get_current_buf\x90'' 2017-12-11 01:57:13,386 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,387 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,387 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,387 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,387 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 6, None, ExtType(code=0, data=b'\x01')] 2017-12-11 01:57:13,387 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, ExtType(code=0, data=b'\x01') 2017-12-11 01:57:13,387 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,387 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 7, 'nvim_buf_line_count', (ExtType(code=0, data=b'\x01'),)] 2017-12-11 01:57:13,387 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x07\xb3nvim_buf_line_count\x91\xd4\x00\x01'' 2017-12-11 01:57:13,387 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,387 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,388 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,388 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,388 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 7, None, 1] 2017-12-11 01:57:13,388 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, 1 2017-12-11 01:57:13,388 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,388 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 8, 'nvim_call_function', ('getline', [1, 1])] 2017-12-11 01:57:13,388 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x08\xb2nvim_call_function\x92\xa7getline\x92\x01\x01'' 2017-12-11 01:57:13,388 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,388 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,388 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,388 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,388 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 8, None, [b'']] 2017-12-11 01:57:13,388 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, [b''] 2017-12-11 01:57:13,389 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,389 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 9, 'nvim_call_function', ('exists', ['neoinclude#include#get_tag_files'])] 2017-12-11 01:57:13,389 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\t\xb2nvim_call_function\x92\xa6exists\x91\xda\x00!neoinclude#include#get_tag_files'' 2017-12-11 01:57:13,389 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,389 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,389 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,389 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,389 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 9, None, 0] 2017-12-11 01:57:13,389 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, 0 2017-12-11 01:57:13,390 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,390 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 10, 'nvim_call_function', ('tagfiles', [])] 2017-12-11 01:57:13,390 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\n\xb2nvim_call_function\x92\xa8tagfiles\x90'' 2017-12-11 01:57:13,390 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,390 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,390 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,390 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,390 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 10, None, []] 2017-12-11 01:57:13,390 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, [] 2017-12-11 01:57:13,390 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,390 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 11, 'nvim_call_function', ('map', [[], 'fnamemodify(v:val, ":p")'])] 2017-12-11 01:57:13,391 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x0b\xb2nvim_call_function\x92\xa3map\x92\x90\xb8fnamemodify(v:val, ":p")'' 2017-12-11 01:57:13,391 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,391 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,391 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,391 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,391 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 11, None, []] 2017-12-11 01:57:13,391 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, [] 2017-12-11 01:57:13,391 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,391 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 12, 'nvim_set_var', ('deoplete#_initialized', True)] 2017-12-11 01:57:13,391 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x0c\xacnvim_set_var\x92\xb5deoplete#_initialized\xc3'' 2017-12-11 01:57:13,391 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,391 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,391 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,392 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,392 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 12, None, None] 2017-12-11 01:57:13,392 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, None 2017-12-11 01:57:13,392 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,392 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 13, 'nvim_set_var', ('deoplete#_channel_id', 1)] 2017-12-11 01:57:13,392 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\r\xacnvim_set_var\x92\xb4deoplete#_channel_id\x01'' 2017-12-11 01:57:13,392 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:13,392 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,392 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:13,392 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,392 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [1, 13, None, None] 2017-12-11 01:57:13,392 [DEBUG @ async_session.py:_on_response:95] 38280 - received response: None, None 2017-12-11 01:57:13,392 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:13,393 [DEBUG @ session.py:handler:207] 38280 - greenlet <greenlet.greenlet object at 0x101a41800> finished executing 2017-12-11 01:57:13,393 [DEBUG @ session.py:handler:212] 38280 - greenlet <greenlet.greenlet object at 0x101a41800> is now dying... 2017-12-11 01:57:13,393 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:13,393 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:18,854 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:18,854 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [0, 2, b'/Users/callmekohei/.config/nvim/testYarp/rplugin/python3/foo.py:function:Bar', [[]]] 2017-12-11 01:57:18,854 [DEBUG @ async_session.py:_on_request:86] 38280 - received request: b'/Users/callmekohei/.config/nvim/testYarp/rplugin/python3/foo.py:function:Bar', [[]] 2017-12-11 01:57:18,854 [DEBUG @ session.py:_on_request:200] 38280 - received rpc request, greenlet <greenlet.greenlet object at 0x101a41800> will handle it 2017-12-11 01:57:18,855 [DEBUG @ host.py:_on_request:90] 38280 - calling request handler for "/Users/callmekohei/.config/nvim/testYarp/rplugin/python3/foo.py:function:Bar", args: "[[]]" 2017-12-11 01:57:18,858 [DEBUG @ host.py:_on_request:92] 38280 - request handler for '/Users/callmekohei/.config/nvim/testYarp/rplugin/python3/foo.py:function:Bar [[]]' returns: None 2017-12-11 01:57:18,858 [DEBUG @ session.py:handler:186] 38280 - greenlet <greenlet.greenlet object at 0x101a41800> finished executing, sending None as response 2017-12-11 01:57:18,858 [DEBUG @ async_session.py:send:133] 38280 - sending response to request 2: [1, 2, None, None] 2017-12-11 01:57:18,859 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [1, 2, None, None] 2017-12-11 01:57:18,859 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x01\x02\xc0\xc0'' 2017-12-11 01:57:18,859 [DEBUG @ session.py:handler:196] 38280 - greenlet <greenlet.greenlet object at 0x101a41800> is now dying... 2017-12-11 01:57:18,859 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:18,859 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:23,273 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:23,273 [DEBUG @ msgpack_stream.py:_on_data:56] 38280 - received message: [2, b'deoplete_on_event', [{b'max_menu_width': 66, b'cwd': b'/Users/callmekohei/tmp', b'vars': {b'deoplete#complete_method': b'complete', b'deoplete#omni#functions': {}, b'deoplete#_initialized': True, b'deoplete#auto_complete_delay': 50, b'deoplete#max_abbr_width': 80, b'deoplete#delimiters': [b'/'], b'deoplete#_rank': {}, b'deoplete#enable_on_insert_enter': 1, b'deoplete#omni#input_patterns': {}, b'deoplete#max_list': 1000, b'deoplete#_channel_id': 1, b'deoplete#ignore_sources': {}, b'deoplete#auto_refresh_delay': 500, b'deoplete#member#prefix_patterns': {}, b'deoplete#enable_yarp': 0, b'deoplete#omni_patterns': {}, b'deoplete#enable_refresh_always': 0, b'deoplete#enable_camel_case': 0, b'deoplete#enable_smart_case': 1, b'deoplete#_logging': {}, b'deoplete#auto_complete_start_length': 2, b'deoplete#disable_auto_complete': 0, b'deoplete#sources': {}, b'deoplete#enable_at_startup': 1, b'deoplete#enable_profile': 0, b'deoplete#_context': {}, b'deoplete#max_menu_width': 40, b'deoplete#_keywordpatterns': {b'': b'[a-zA-Z_]\k'}, b'deoplete#keyword_patterns': {}, b'deoplete#_omni_patterns': {b'xhtml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'xml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'html': [b'<', b'</', b'<[^>]\s[[:alnum:]-]']}, b'deoplete#skip_chars': [], b'deoplete#enable_ignore_case': 1}, b'samefiletypes': [], b'smartcase': 1, b'runtimepath': b'/Users/callmekohei/.config/nvim,/etc/xdg/nvim,/Users/callmekohei/.local/share/nvim/site,/usr/local/share/nvim/site,/usr/share/nvim/site,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/vimproc.vim,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/dein.vim,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein,/usr/local/Cellar/neovim/0.2.2/share/nvim/runtime,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein/after,/usr/share/nvim/site/after,/usr/local/share/nvim/site/after,/Users/callmekohei/.local/share/nvim/site/after,/etc/xdg/nvim/after,/Users/callmekohei/.config/nvim/after,/Users/callmekohei/.config/nvim/testYarp,/Users/callmekohei/.config/nvim/deoplete-fsharp', b'bufvars': {}, b'bufnr': 1, b'changedtick': -1, b'custom': {b'source': {b'': {}}}, b'omni__omnifunc': b'', b'filetype': b'nothing', b'input': b'', b'is_windows': False, b'delay': 50, b'bufsize': 0, b'max_kind_width': 66, b'rpc': b'deoplete_on_event', b'bufpath': b'', b'bufname': b'', b'event': b'VimLeavePre', b'max_abbr_width': 66, b'sources': [], b'complete_str': b'', b'camelcase': 0, b'ignorecase': 1, b'filetypes': [b'nothing'], b'keywordpatterns': b'[a-zA-Z][a-zA-Z@0-9_\xc3\x80-\xc3\xbf]', b'dictdictionary': b'', b'position': [0, 1, 1, 0], b'next_input': b'', b'encoding': b'utf-8'}]] 2017-12-11 01:57:23,273 [DEBUG @ async_session.py:_on_notification:102] 38280 - received notification: b'deoplete_on_event', [{b'max_menu_width': 66, b'cwd': b'/Users/callmekohei/tmp', b'vars': {b'deoplete#complete_method': b'complete', b'deoplete#omni#functions': {}, b'deoplete#_initialized': True, b'deoplete#auto_complete_delay': 50, b'deoplete#max_abbr_width': 80, b'deoplete#delimiters': [b'/'], b'deoplete#_rank': {}, b'deoplete#enable_on_insert_enter': 1, b'deoplete#omni#input_patterns': {}, b'deoplete#max_list': 1000, b'deoplete#_channel_id': 1, b'deoplete#ignore_sources': {}, b'deoplete#auto_refresh_delay': 500, b'deoplete#member#prefix_patterns': {}, b'deoplete#enable_yarp': 0, b'deoplete#omni_patterns': {}, b'deoplete#enable_refresh_always': 0, b'deoplete#enable_camel_case': 0, b'deoplete#enable_smart_case': 1, b'deoplete#_logging': {}, b'deoplete#auto_complete_start_length': 2, b'deoplete#disable_auto_complete': 0, b'deoplete#sources': {}, b'deoplete#enable_at_startup': 1, b'deoplete#enable_profile': 0, b'deoplete#_context': {}, b'deoplete#max_menu_width': 40, b'deoplete#_keywordpatterns': {b'': b'[a-zA-Z_]\k'}, b'deoplete#keyword_patterns': {}, b'deoplete#_omni_patterns': {b'xhtml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'xml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'html': [b'<', b'</', b'<[^>]\s[[:alnum:]-]*']}, b'deoplete#skip_chars': [], b'deoplete#enable_ignore_case': 1}, b'samefiletypes': [], b'smartcase': 1, b'runtimepath': b'/Users/callmekohei/.config/nvim,/etc/xdg/nvim,/Users/callmekohei/.local/share/nvim/site,/usr/local/share/nvim/site,/usr/share/nvim/site,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/vimproc.vim,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/dein.vim,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein,/usr/local/Cellar/neovim/0.2.2/share/nvim/runtime,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein/after,/usr/share/nvim/site/after,/usr/local/share/nvim/site/after,/Users/callmekohei/.local/share/nvim/site/after,/etc/xdg/nvim/after,/Users/callmekohei/.config/nvim/after,/Users/callmekohei/.config/nvim/testYarp,/Users/callmekohei/.config/nvim/deoplete-fsharp', b'bufvars': {}, b'bufnr': 1, b'changedtick': -1, b'custom': {b'source': {b'': {}}}, b'omniomnifunc': b'', b'filetype': b'nothing', b'input': b'', b'is_windows': False, b'delay': 50, b'bufsize': 0, b'max_kind_width': 66, b'rpc': b'deoplete_on_event', b'bufpath': b'', b'bufname': b'', b'event': b'VimLeavePre', b'max_abbr_width': 66, b'sources': [], b'complete_str': b'', b'camelcase': 0, b'ignorecase': 1, b'filetypes': [b'nothing'], b'keywordpatterns': b'[a-zA-Z][a-zA-Z@0-9_\xc3\x80-\xc3\xbf]', b'dict__dictionary': b'', b'position': [0, 1, 1, 0], b'next_input': b'', b'encoding': b'utf-8'}] 2017-12-11 01:57:23,274 [DEBUG @ session.py:_on_notification:215] 38280 - received rpc notification, greenlet <greenlet.greenlet object at 0x101a41800> will handle it 2017-12-11 01:57:23,274 [DEBUG @ host.py:_on_notification:106] 38280 - calling notification handler for "deoplete_on_event", args: "[{b'max_menu_width': 66, b'cwd': b'/Users/callmekohei/tmp', b'vars': {b'deoplete#complete_method': b'complete', b'deoplete#omni#functions': {}, b'deoplete#_initialized': True, b'deoplete#auto_complete_delay': 50, b'deoplete#max_abbr_width': 80, b'deoplete#delimiters': [b'/'], b'deoplete#_rank': {}, b'deoplete#enable_on_insert_enter': 1, b'deoplete#omni#input_patterns': {}, b'deoplete#max_list': 1000, b'deoplete#_channel_id': 1, b'deoplete#ignore_sources': {}, b'deoplete#auto_refresh_delay': 500, b'deoplete#member#prefix_patterns': {}, b'deoplete#enable_yarp': 0, b'deoplete#omni_patterns': {}, b'deoplete#enable_refresh_always': 0, b'deoplete#enable_camel_case': 0, b'deoplete#enable_smart_case': 1, b'deoplete#_logging': {}, b'deoplete#auto_complete_start_length': 2, b'deoplete#disable_auto_complete': 0, b'deoplete#sources': {}, b'deoplete#enable_at_startup': 1, b'deoplete#enable_profile': 0, b'deoplete#_context': {}, b'deoplete#max_menu_width': 40, b'deoplete#_keywordpatterns': {b'': b'[a-zA-Z_]\k'}, b'deoplete#keyword_patterns': {}, b'deoplete#_omni_patterns': {b'xhtml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'xml': [b'<', b'</', b'<[^>]\s[[:alnum:]-]'], b'html': [b'<', b'</', b'<[^>]\s[[:alnum:]-]']}, b'deoplete#skip_chars': [], b'deoplete#enable_ignore_case': 1}, b'samefiletypes': [], b'smartcase': 1, b'runtimepath': b'/Users/callmekohei/.config/nvim,/etc/xdg/nvim,/Users/callmekohei/.local/share/nvim/site,/usr/local/share/nvim/site,/usr/share/nvim/site,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/vimproc.vim,/Users/callmekohei/.config/nvim/dein/repos/github.com/Shougo/dein.vim,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein,/usr/local/Cellar/neovim/0.2.2/share/nvim/runtime,/Users/callmekohei/.config/nvim/dein/.cache/init.vim/.dein/after,/usr/share/nvim/site/after,/usr/local/share/nvim/site/after,/Users/callmekohei/.local/share/nvim/site/after,/etc/xdg/nvim/after,/Users/callmekohei/.config/nvim/after,/Users/callmekohei/.config/nvim/testYarp,/Users/callmekohei/.config/nvim/deoplete-fsharp', b'bufvars': {}, b'bufnr': 1, b'changedtick': -1, b'custom': {b'source': {b'': {}}}, b'omni__omnifunc': b'', b'filetype': b'nothing', b'input': b'', b'is_windows': False, b'delay': 50, b'bufsize': 0, b'max_kind_width': 66, b'rpc': b'deoplete_on_event', b'bufpath': b'', b'bufname': b'', b'event': b'VimLeavePre', b'max_abbr_width': 66, b'sources': [], b'complete_str': b'', b'camelcase': 0, b'ignorecase': 1, b'filetypes': [b'nothing'], b'keywordpatterns': b'[a-zA-Z][a-zA-Z@0-9_\xc3\x80-\xc3\xbf]*', b'dict__dictionary': b'', b'position': [0, 1, 1, 0], b'next_input': b'', b'encoding': b'utf-8'}]" 2017-12-11 01:57:23,275 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 14, 'nvim_get_option', ('isfname',)] 2017-12-11 01:57:23,275 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x0e\xafnvim_get_option\x91\xa7isfname'' 2017-12-11 01:57:23,276 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:23,276 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:23,276 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:23,311 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:23,312 [DEBUG @ msgpack_stream.py:_ondata:56] 38280 - received message: [1, 14, None, b'@,48-57,/,.,-,,+,,,#,$,%,~,='] 2017-12-11 01:57:23,312 [DEBUG @ async_session.py:_onresponse:95] 38280 - received response: None, b'@,48-57,/,.,-,,+,,,#,$,%,~,=' 2017-12-11 01:57:23,312 [DEBUG @ session.py:response_cb:148] 38280 - response is available for greenlet <greenlet.greenlet object at 0x101a41800>, switching back 2017-12-11 01:57:23,312 [DEBUG @ msgpack_stream.py:send:33] 38280 - sent [0, 15, 'nvim_call_function', ('deoplete#util#vimoption2pythonnot', ['@,48-57,/,.,-,,+,,,#,$,%,~,='])] 2017-12-11 01:57:23,312 [DEBUG @ base.py:send:113] 38280 - Sending 'b'\x94\x00\x0f\xb2nvim_call_function\x92\xda\x00"deoplete#util#vimoption2pythonnot\x91\xbd@,48-57,/,.,-,,+,,,#,$,%,~,='' 2017-12-11 01:57:23,312 [DEBUG @ session.py:_yielding_request:152] 38280 - yielding from greenlet <greenlet.greenlet object at 0x101a41800> to wait for response 2017-12-11 01:57:23,313 [DEBUG @ msgpack_stream.py:_on_data:54] 38280 - waiting for message... 2017-12-11 01:57:23,313 [DEBUG @ msgpack_stream.py:_on_data:59] 38280 - unpacker needs more data... 2017-12-11 01:57:23,313 [DEBUG @ base.py:_on_error:166] 38280 - 32 2017-12-11 01:57:23,313 [DEBUG @ base.py:stop:149] 38280 - Stopped event loop 2017-12-11 01:57:23,313 [DEBUG @ base.py:run:140] 38280 - Exited event loop



## Screen shot (if possible)

### Vim8
![screen shot 2017-12-11 at 2 02 35](https://user-images.githubusercontent.com/17691683/33807281-912a045c-de17-11e7-952c-a44ef77c64e6.png)

### Neovim
![screen shot 2017-12-11 at 2 03 03](https://user-images.githubusercontent.com/17691683/33807288-9a471336-de17-11e7-8ea2-0243731f63ab.png)
roxma commented 6 years ago

Did you mean the gdb is started in both screenshots? But it is not visible with the ps command when using vim8?

callmekohei commented 6 years ago

Hello! (^_^)/

I mean ...

Vim8 ---> gdb not launch Neovim ---> gdb launch

roxma commented 6 years ago

Unfortunately I cannot reproduce the issue on my system

callmekohei commented 6 years ago

Oh...

Ok! I try again it.

(^_^)/

callmekohei commented 6 years ago

Hmmm...

It's same...

So , I try to reinstall vim8.

$ brew info vim
vim: stable 8.0.1350 (bottled), HEAD
Vi 'workalike' with many additional features
https://vim.sourceforge.io/
Conflicts with:
  ex-vi (because vim and ex-vi both install bin/ex and bin/view)
/usr/local/Cellar/vim/8.0.1350 (1,423 files, 22.8MB) *
  Built from source on 2017-11-30 at 18:31:12 with: --with-python3
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/vim.rb
==> Dependencies
Optional: lua ✘, luajit ✔, gettext ✔
==> Requirements
Required: ruby >= 1.8 ✔, perl >= 5.3 ✔
Recommended: python ✔
Optional: python3 ✔
==> Options
--with-client-server
    Enable client/server mode
--with-custom-perl
    Build with a custom Perl instead of the Homebrew version.
--with-custom-python
    Build with a custom Python 2 instead of the Homebrew version.
--with-custom-ruby
    Build with a custom Ruby instead of the Homebrew version.
--with-gettext
    Build vim with National Language Support (translated messages, keymaps)
--with-lua
    Build vim with lua support
--with-luajit
    Build with luajit support
--with-override-system-vi
    Override system vi
--with-python3
    Build vim with python3 instead of python[2] support
--with-tcl
    Build vim with tcl support
--without-perl
    Build vim without perl support
--without-python
    Build vim without python support
--without-ruby
    Build vim without ruby support
--HEAD
    Install HEAD version

I'll try to reinstall following:

$ brew install vim --HEAD --with-python3
roxma commented 6 years ago

I can see the gdb process via ps -ef | grep gdb

But I cannot see it with the command: :r! ps --forest -f on vim8

man ps

...

       By default, ps selects all processes with the same effective user ID
       (euid=EUID) as the current user and associated with the same terminal as the
       invoker.  It displays the process ID (pid=PID), the terminal associated with
       the process (tname=TTY), the cumulated CPU time in [DD-]hh:mm:ss format
       (time=TIME), and the executable name (ucmd=CMD).  Output is unsorted by
       default.
`:r! ps --forest -f` on vim8

UID        PID  PPID  C STIME TTY          TIME CMD
roxma     5244 15242  0 10:53 pts/9    00:00:00 -bash
roxma     8812  5244  3 11:12 pts/9    00:00:00  \_ /usr/bin/vim
roxma     8918  8812  0 11:12 pts/9    00:00:00      \_ /bin/bash -c (ps -f --forest) >/tmp/vspXmew/8 2>&1
roxma     8919  8918  0 11:12 pts/9    00:00:00          \_ ps -f --forest

[roxma@roxma-pc ~]$ ps -ef | grep gdb
roxma     8858  8856  0 11:12 ?        00:00:00 gdb

`:r! ps --forest -f` on neovim

UID        PID  PPID  C STIME TTY          TIME CMD
roxma     5244 15242  0 10:53 pts/9    00:00:00 -bash
roxma    10076  5244  4 11:16 pts/9    00:00:00  \_ nvim txt
roxma    10078 10076  0 11:16 pts/9    00:00:00      \_ python3 -c import sys; sys.path.remove(""); import neovim; neovim.start_host() script_host.py
roxma    10080 10076  1 11:16 pts/9    00:00:00      \_ python3 -c import sys; sys.path.remove(""); import neovim; neovim.start_host() /home/roxma/dotfiles/vim/.config/nvim/plugged/LanguageClient-neovim/rplugin/python3/LanguageClient /home/roxma/dotfiles/vim/.config/nvim/plugged/nvim-yarp/rplugin/python3/foo.py
roxma    10114 10080  1 11:16 pts/9    00:00:00      |   \_ gdb
roxma    10124 10076  0 11:16 pts/9    00:00:00      \_ /bin/bash -c (ps --forest -f) >/tmp/nvimQUPEF0/6 2>&1
roxma    10125 10124  0 11:16 pts/9    00:00:00          \_ ps --forest -f

There's no tty attached to the gdb process. But it is started.

roxma commented 6 years ago

You could use pstree {vim's pid} to see the gdb process

callmekohei commented 6 years ago

Thank you! I'll try it ! (^_^)/

callmekohei commented 6 years ago

So, I try it. (^_^)/

I find GDB !!!!


minimal.vim

"----------------------------------------------------------
" manual plugin
"----------------------------------------------------------
set runtimepath+=/Users/callmekohei/.config/nvim/testYarp
set runtimepath+=/Users/callmekohei/.config/nvim/dein/repos/github.com/roxma/nvim-yarp
set runtimepath+=/Users/callmekohei/.config/nvim/dein/repos/github.com/roxma/vim-hug-neovim-rpc

"----------------------------------------------------------
" Neovim's Python provider
"----------------------------------------------------------
if has('nvim')
    let g:python_host_prog = '/usr/local/bin/python2.7'
    let g:python3_host_prog = '/usr/local/bin/python3.6'
endif

"----------------------------------------------------------
" Basic
"----------------------------------------------------------
set nocompatible
syntax enable
filetype plugin indent on

" Mouse ( see :help mouse-using )
set mouse=nvic

"----------------------------------------------------------
" Char code
"----------------------------------------------------------
set encoding=utf-8
set fileencodings=utf-8,iso-2022-jp,euc-jp,sjis

Vim8

$ vim -N -u minimal.vim
: call Bar()

tmp$ ps
  PID TTY           TIME CMD
45996 ttys000    0:00.02 -bash
46022 ttys000    0:00.18 vim -N -u minimal.vim
46028 ttys001    0:00.01 -bash
tmp$ pstree 46022
-+= 46022 callmekohei vim -N -u minimal.vim
 \-+= 46024 callmekohei /usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/Re
   \--- 46025 callmekohei gdb
callmekohei commented 6 years ago

Thank you !!!!