atom-haskell-archive / haskell-ghc-mod

haskell-ghc-mod atom package
https://atom.io/packages/haskell-ghc-mod
MIT License
69 stars 20 forks source link

Unified pluggable interface #59

Closed lierdakil closed 8 years ago

lierdakil commented 8 years ago

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.