I figured that to be able to support different backend providers, possibly simultaneously, drastic changes to API would be required. So I looked at what ide-backend and build-backend do at the moment, and devised somewhat of a unified interface.
Most commands/settings/actions are moved to backend provider, while ide-haskell provides a service to display tooltips and messages, react to events (like mouse hover or buffer save), and some utility functions.
This is a major architecture change, although build-backend did work very similarly to this. I will test this branch for a while, and if everything goes well, will merge it. Bear this in mind when developing new backends.
I figured that to be able to support different backend providers, possibly simultaneously, drastic changes to API would be required. So I looked at what ide-backend and build-backend do at the moment, and devised somewhat of a unified interface.
Most commands/settings/actions are moved to backend provider, while ide-haskell provides a service to display tooltips and messages, react to events (like mouse hover or buffer save), and some utility functions.
This is a major architecture change, although build-backend did work very similarly to this. I will test this branch for a while, and if everything goes well, will merge it. Bear this in mind when developing new backends.