Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
72 lines
1.6 KiB
Python
72 lines
1.6 KiB
Python
from importlib.util import find_spec
|
|
|
|
if find_spec('pynvim'):
|
|
from pynvim import attach, setup_logging
|
|
else:
|
|
from neovim import attach, setup_logging
|
|
|
|
import sys
|
|
import importlib
|
|
from os import environ
|
|
|
|
assert __name__ == "__main__"
|
|
|
|
if "" in sys.path:
|
|
sys.path.remove("")
|
|
|
|
serveraddr = sys.argv[1]
|
|
yarpid = int(sys.argv[2])
|
|
module = sys.argv[3]
|
|
module_obj = None
|
|
nvim = None
|
|
|
|
environ['NVIM_YARP_MODULE'] = module
|
|
|
|
setup_logging(module)
|
|
|
|
def on_request(method, args):
|
|
if hasattr(module_obj, method):
|
|
return getattr(module_obj, method)(*args)
|
|
else:
|
|
raise Exception('method %s not found' % method)
|
|
|
|
|
|
def on_notification(method, args):
|
|
if hasattr(module_obj, method):
|
|
getattr(module_obj, method)(*args)
|
|
else:
|
|
raise Exception('method %s not found' % method)
|
|
pass
|
|
|
|
|
|
def on_setup():
|
|
pass
|
|
|
|
try:
|
|
# create another connection to avoid synchronization issue?
|
|
if len(serveraddr.split(':')) == 2:
|
|
serveraddr, port = serveraddr.split(':')
|
|
port = int(port)
|
|
nvim = attach('tcp', address=serveraddr, port=port)
|
|
else:
|
|
nvim = attach('socket', path=serveraddr)
|
|
|
|
sys.modules['vim'] = nvim
|
|
sys.modules['nvim'] = nvim
|
|
|
|
paths = nvim.eval(r'globpath(&rtp,"pythonx",1) . "\n" .'
|
|
r' globpath(&rtp,"rplugin/python3",1)')
|
|
for path in paths.split("\n"):
|
|
if not path:
|
|
continue
|
|
if path not in sys.path:
|
|
sys.path.append(path)
|
|
|
|
module_obj = importlib.import_module(module)
|
|
|
|
nvim.call('yarp#core#channel_started', yarpid, nvim.channel_id)
|
|
|
|
nvim.run_loop(on_request, on_notification, on_setup)
|
|
finally:
|
|
nvim.close()
|