scala-ide/scala-ide-play2 — pull request #122 by dotta (2013-05-09 20:59:26+00:00)
Title:  Completion for Controller methods on route files

* At a high level, the action completion engine executes the
following steps:

1) parse the action input to extrapolate the fully qualified
name that will be used to compute the proposals.
`ActionRouteInput` is the class that encapsulates the logic
for parsing the action input.

2) Using the presentation compiler, retrieves the symbol for the
fully qualified name found at point 1). This is done by
`MembersComputer$MembersLocator.prefixSymbol`. The instantiated
`MembersLocator` depends on the action input.

3) The interesting members for the `prefixSymbol` found at step 2)
are filtered based on the type of the symbol. The filtering logic
is encapsulated in the different subclasses of `MembersComputer`.

4) The members returned by 3) are then checked against the action
input. The members that match the action input are then transformed
into action proposals that will be displayed to the user.

5) The proposals may be sorted first by the kind of member (types
are shown before packages), and then alphabetically.

* Supports both Scala and Java.

* Supports action input syntax for both standard controller invocation,
and the new syntax for controller classes instantiation that was
introduced in Play 2.1.

Fixes #83