google / vroom

Launch vim tests
Apache License 2.0
275 stars 27 forks source link

Rewrite neovim_mod.py to use neovim's remote screen facility #100

Open martindemello opened 8 years ago

martindemello commented 8 years ago

Promoting @tarruda 's comment on #83 into its own bug:

The only way to truly fix neovim_mod.py is to refactor it to use the new remote screen facility and parse screen updates according to your expectations. Unfortunately there's no documentation explaining on how to do it, but there is a complete implementation of a remote neovim UI in the python-client package: https://github.com/neovim/python-client/tree/master/neovim/ui

FWIW we also use this facility to test neovim with the lua client. here's an example test: https://github.com/neovim/neovim/blob/master/test/functional/ui/mouse_spec.lua and here is the screen class that implements an abstract screen for testing: https://github.com/neovim/neovim/blob/master/test/functional/ui/screen.lua

martindemello commented 8 years ago

Additional problem: the fake shell isn't working either

examples/continuations.vroom
FAILED on line 44: Suspected error message:
E485: Can't read file /tmp/nvimbs4Xc1/1

Messages:

E485: Can't read file /tmp/nvimbs4Xc1/1

Failed command on line 44:
:.!echo "Hello"

Last few commands (most recent last) were:
iHello<ESC>
iHello<ESC>
i(regex)<ESC>
iHello<ESC>
:.!echo "Hello"<CR>
dbarnett commented 8 years ago

To clarify, you started to get vroom hooked into neovim's remote screen facility and now you're stuck on something going wrong with the fake shell?

martindemello commented 8 years ago

yes. still not been able to fix that one.