Bug fixes for IdeaVim and Code With Me #819
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a number of bugs in IdeaVim when being used in Code With Me scenarios, mainly when installed on the host, but also fixes issues when installed on both host and guest (JetBrains Client)
Primarily, it updates the API used to get the editors that are in use by the host, correctly ignoring the non-local, hidden editors used by remote guests, and ensures that any editor listeners are only working with local editors. It fixes the following issues:
<C-^>
) on the host could switch to the last selected file on the guest (VIM-3274)There is a minor change in behaviour when a new editor is created. Previously, IdeaVim would incorrectly register listeners and initialise options, etc. for all windows. Now it only initialises editors that are supported by IdeaVim. This means local editors, but it's also dependent on the
'ideavimsupport'
option to decide if it should handle single line editors or editors inside dialogs. Previously, because the listeners were always registered, changing the'ideavimsupport'
option would allow these editors to immediately start working. Now, they are only possibly initialised at creation time. If the option is changed, the editor would need to be closed and reopened. I do not expect this option to be changed during an interactive session, so I believe this is reasonable.There are other issues outstanding for remote development scenarios, where IdeaVim is installed in the Client. This is currently blocked waiting a means to debug this scenario. I'll take a look when I get debugging working.