Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement persistent server #382

Merged
merged 2 commits into from
Feb 18, 2020
Merged

Implement persistent server #382

merged 2 commits into from
Feb 18, 2020

Conversation

glacambre
Copy link
Owner

Currently buggy if :qall! is used.

Closes #197

@glacambre glacambre force-pushed the impl_single_server branch 30 times, most recently from dd15ad2 to 0909fc0 Compare January 26, 2020 19:20
@glacambre glacambre force-pushed the impl_single_server branch 5 times, most recently from 9243431 to b7d5660 Compare February 2, 2020 08:02
@glacambre
Copy link
Owner Author

glacambre commented Feb 4, 2020

Summing up what I know about the failure:

  • It only happens on firefox on windows (firefox on linux and chrome on windows are fine).
  • It seems to happen because neovim hangs (it's not replying with a port number).
  • It seems to be related to the number of neovim instances that are created (it's always the last test that fails, removing tests makes the issue disappear, adding killPreloadedInstance calls to other tests makes it reappear).
  • It looks like the neovim instances started by the testsuite do not die, even though they should thanks to the fix I implemented in Force exit if :qall doesn't work #198.

Maybe firefox has a hard limit on the number of concurrent native messengers an extension can have?

I guess I should fix :qall! not working and see if that fixes my problem.

Currently buggy if `:qall!` is used.

Closes #197
@@ -211,6 +211,18 @@ You can chose to use an external command line (and thus save a line of space) by
let fc['.*'] = { 'cmdline' : 'firenvim' }
```

### Using a single neovim instance

Firenvim can be made to use a single neovim instance. To do so, set the `server` setting to `'persistent'`. Firenvim will automatically start an instance on Firefox's startup and then launch a new one every time the previous one is `:quit`'ed. In this mode, every new Firenvim window is actually a Neovim floating window. This means that having the cursor move to another window/opening new floating windows can be pretty confusing and should be avoided.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

really cool!

NB: will hopefully be less confusing after tabgrid is finished. neovim/neovim#7541

@glacambre glacambre merged commit 763ee48 into master Feb 18, 2020
@glacambre glacambre deleted the impl_single_server branch February 18, 2020 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Permit setting firenvim to use --remote instead of starting a new neovim instance
2 participants