On Mar 24, 2010, at 3:53 AM, Laurent PETIT wrote:
2010/3/24 Konrad Hinsen <konrad.hin...@fastmail.net>:

The original version (. object method) still could have an interest
where IDEs could guess the method names to propose based on what they
could infer from the object arg.
With the (.methodName object) version, the IDE usually can make
methode name completions based on everything but the object source
code which has not been yet entered by the user, and this is less than
ideal :-(.

So some IDEs (like ccw) try hard doing completion based on the start
of the method name type by the user (and it is currently slow with ccw
because it searches for matches in all available classes in the
project's classpath), some base their search only on classes that are
imported in the current namespace (which is less than ideal given that
generally the objects are not referred to directly in the ns and thus
do not require an import statement for their class/interface).

Clojure IDEs that do completions (like MCLIDE, SLIME and ccw) could benefit from having collections of method names and other Clojure properties available for efficient access without loading the associated code. Such as if jars included a compilation/database built from a static analysis of the Clojure code.

Other information of interest includes cross references like the callers of a function (see XREF for Common Lisp). The Swank server used by SLIME and MCLIDE already provides an interface to support such references and completions in these IDEs.

Some require the user to write an "intermediate" form of source code, e.g.
by prefixing the method name with the class name to narrow the search,
e.g. type "String.le" to have code completion on "String.length", and
when you accept the code completion, it is transformed back into
.length in the editor ...

-- Terje Norderhaug
  te...@in-progress.com




--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

To unsubscribe from this group, send email to clojure+unsubscribegooglegroups.com or 
reply to this email with the words "REMOVE ME" as the subject.

Reply via email to