EclipseFP changes from Summer of Code #20

merged 45 commits into from Jun 28, 2011


None yet

2 participants

serras commented Jun 27, 2011

I'm confident that some of my work for the Summer of Code is OK to got into the main repo, so everybody could have the latest version and sends bugs requests or suggestions.
There is more information about the features I've implemented (extended graphical Cabal file editing, package browser, HLint integration) in and

Thank you very much :)

serras added some commits Jun 5, 2011
@serras serras Created project and item types for Haskell Browser. eeba1b8
@serras serras Change Package to HaskellPackage to avoid collision with java.lang.
Added methods for serializing and deserializing messages in JSON.
@serras serras - Preferences changes to get scion-browser executable path.
- Load scion-browser and communicate with it.
@serras serras Loading of database, working on UI for non-blocking loading and
@serras serras Kill scion-browser when Eclipse is closed or when a new version of
scion-browser is selected.
@serras serras Added icons and some documentation. e370817
@serras serras This version shows package information. ae89628
@serras serras Added Modules view. Added an image cache for better performance. 81c3b38
@serras serras Allow to change between flat and hierarchical style of modules. 2a203f9
@serras serras Remove some warnings. 7aad654
@serras serras Work on types and functions views. 99f50f2
@serras serras Solved bug for type synonyms. Added Haskell Browser perspective. 76ecbcb
@serras serras Show element documentation and Hackage page when double click. df8f3a7
@serras serras Small changes 5767ca1
@serras serras Moved part of the browser plugin to ui plugin, so further changes
would not create a cycle in the build.
@serras serras Group instances from the same typeclass or applied to the same type
in the Browser.
@serras serras Refactored some parts of the views to static methods. Added classes to
represent Hoogle queries results.
@serras serras Refactoring in HtmlUtil to use less code and allow more customization. c1712c0
@serras serras More refactoring: moved different views into different packages so the
browser package didn't become very large, moved HtmlUtil to the
browser.util package and moved the way to show text into the views to
the corresponding Declaration elements.
@serras serras Add Hoogle view. f8f4370
@serras serras Added browser as plug-in of Haskell feature a4891e7
@serras serras Moved message literals in code to UITexts. dc573e5
@serras serras Added Hoogle view to Haskell perspective. 1e5dc7a
@serras serras Now the Hoogle view wraps together several definitions of the same
element defined in different modules. Added support for Hackage
browsing when double clicked an element from Hoogle view.
@serras serras Refactored Cabal editor sections to allow widgets different from text
fields to be in the editor.
@serras serras Moved overview page to a new package. Added support for drop-down form
entries, and changed "License" property in Cabal editor to use it.
@serras serras Added "Advanced" page to Cabal editor. Create superclass for all Cabal
form pages to handle laziness in the page creation.
@serras serras Work on the Overview page: added build options, working on data files. e3756e0
@serras serras Finish work on data files. 3044d42
@serras serras Always rebuild database if scion-browser is present, don't ask the
user everytime he or she starts the environment.
@serras serras Work on more editors for Cabal: source directories, modules list,
extensions list and part of dependencies manager.
@serras serras Work on Dependencies selector. 01ba360
@serras serras More work on Cabal editor: creating widgets for Library page. 03a423b
@serras serras Small visual tweaks 4287833
@serras serras Work on Library page for Cabal editor, which should be completed by now.
Includes bug fixing of haskell.core.cabalmodel.ValuePosition and
haskell.core.cabalmodel.PackageDescription for adding and deleting
stanzas and elements.
@serras serras Created Executables page layout. 7815aee
@serras serras Work on Executables page. 43b037d
@serras serras Finished Executables page. a0781bf
@serras serras Added copyright notices. a33ae30
@serras serras Make scion-browser automatically compilable by the system, as happens
with scion-server.
@serras serras Start working on HLint integration. Added builder to haskell.core
package. HLint uses JParsec as dependency.
@serras serras Switched to JavaCC parser for HLint output and finish it. 43b0869
@serras serras Make HLint integration work.
Changed the names of some markers, so the the Cabal builder doesn't
remove all of them in each clean.
@serras serras Make HLint work asynchronous (advice from Eclipse plug-ins book). 374a066
@serras serras Merge remote-tracking branch 'upstream/master'
@JPMoresmau JPMoresmau merged commit f0e9e75 into JPMoresmau:master Jun 28, 2011

A couple of issues at first: your code doesn't compile with JDK 1.5. So far we have kept that compatibility. Especially for something trivial like String.isEmpty(), there are easy alternatives. Same thing for the Eclipse Version, I seem to have some problems building on Galileo (HaskellNature overrides non existing methods from the super class).
Is there instructions somewhere to build the JavaCC parser in the hlint project?


I have just pushed some changes to make everything compile under Java 1.5, and I've also commited the generated hlint parser files to simplify matters.


Can't build scion-browser on windows. Dependency on unix package, you see. Which renders it unusable to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment