Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Add support for NeoVim #1287
I understand that this may not be immediately feasible due to the still-unstable nature of NeoVim, but I'd like to make the request anyway.
First, powerline fails when it tries to access the bindeval method which NeoVim does not support. I attempted to do some initial debugging, and discovered that Powerline relies on Vim's 7.4 Python API when it detects a version greater than 703. NeoVim reports as version 704 right now, but has not added support for Vim's 7.4 Python API (see discussion on neovim/neovim#1898), which apparently includes the bindeval method. After attempting to work around this by modifying powerline's version checking, I'm still seeing the following issue:
I'm not sure what's going on here that it cannot find "powerline". Executing
For the record, I'm running the latest NeoVim (NVIM 0.0.0-alpha+201501262108) on Mac OS 10.10, with Python 2.7 installed through homebrew, and powerline 2.0 installed through pip.
will add variable
is fine, but
(in all cases: repeated for each segment function which bothers to use some interface with Vim) is not and I do not need tests to say that this would not work.
The only alternative approach I can see is
, but as you see there will be a lag between when things needed from NeoVim are computed and when they are displayed. In this case it may though can appear that I can afford waiting until computed things are processed, so there will be no lag, but I am not sure. Rewrite is needed in any case.
There is also an alternative where statusline function constantly computes things and sends them to powerline and powerline constantly sends back an updates to &statusline when they are ready, but this is no different regarding how segment functions need to be rewritten and this variant is rather not compatible with Vim.
Some things in a list may be replaced with NeoVim events which is a bit faster.
referenced this issue
Jan 28, 2015
Is there not some way to at least get this working, even if it doesn't perform optimally? I tried bumping the version conditionals from
If I add a test for
So, I'm wondering exactly what features are broken and/or whether <=703 do currently work, and if so, how to properly force Powerline to use the older bindings with NeoVim.
I've noticed no new activity on this issue or the related Neovim issues. Are there simply irreconcilable differences between Neovim and Powerline such that there are no plans for Powerline to support Neovim?
I'd like to know if you see any hope of resolving the problems here, or if I should give up my hope of using Powerline in Neovim.