Vigemus / iron.nvim

Interactive Repl Over Neovim
BSD 3-Clause "New" or "Revised" License
978 stars 81 forks source link

Fixes problems with ReplRestart #389

Open frere-jacques opened 3 weeks ago

frere-jacques commented 3 weeks ago

If one opens a REPL and then Restarts a REPL, one gets errors about wrong buffer ids.

The reason is that core.repl_restart deletes the old buffer. But the default of close_window_on_exit, will try to delete it too.

Also if one calls IronRestart from a code buffer, changes are done to meta, but new_meta is returned.

I made a commit that fixes this, by not altering meta, but altering new_meta. Also it will be checked in the on exit option, whether the buffer still exist.

I will create a merge request.

I also observed that many functions will differ strongly whether the cursor is on code buffer or repl buffer. One could change that if the get_ft would check on empty file type, if the buffer is the buffer of a repl and then use the ft from store. I checked that, but I am unsure whether this could have some side effects.

See https://github.com/Vigemus/iron.nvim/issues/387#issue-2471884954