Thursday, October 13, 2011

Manage Cabal packages from inside EclipseFP

I'm thinking the new version of EclipseFP will not bundle the Haskell code we use, but will download it from Hackage, which would make sense: we would be able to update the Haskell side without requiring a EclipseFP upgrade, and vice versa. I would expect Haskell developers would be quite used to install packages from Hackage using cabal install. However, let's try to minimize the number of things that a user would need to go outside of EclipseFP to do on a normal Haskell project. So I've added another view:

This view lets you see the list of packages you've installed, with their version, or the full list from Hackage, that you can filter by typing the prefix of the name you're looking for. From there you can install the packages as either Global or User, see the package information, or click on the "More Information" link to open the Hackage page directly.
You can also update the list. This GUI is only a wrapper above the cabal list and cabal info commands.
Hopefully this will be useful to people! Should I add a text field somewhere to be able to specify more options to cabal install, or is that overkill for a GUI?


Tyler Breisacher said...

Oooo that looks nice. If someone thinks it's overkill they can just not use that view. That's one great thing about Eclipse -- the GUI itself is extremely modular. I vote yes on this!

Alejandro Serrano said...

It looks great. I would just change some bits of the interface to be cleaner, but I think the idea is wonderful :)

JP Moresmau said...

OK, I'll add a text box to provide additional flags to install. Alejandro, what would you change?

Thanks all for the feedback!

Alejandro Serrano said...

I've drawn my idea of the best interface for this in
The "refresh", "show installed only" and "install selected package" would be shown in the toolbar Eclipse has for each view. When clicking "install selected package", a dropdown would appear letting the user choose "For current user only" or "For all users".
Just some small bits: for the search box I would use the special "search box" style for text boxes (I used that in Hoogle view), and I would also include a link to "View in Browser" for installed packages (I could make the Browser show not installed packages also, just tell me).