Hi Lee,

Again, thanks for a thourough and constructive feedback !

2010/7/8 Lee Spector <lspec...@hampshire.edu>

>
> I spent a bunch of time today in CCW 0.0.59.RC2, in "default" mode, and
> thought I'd report my experience:
>
> - Lots of very nice features and I really appreciate having this -- please
> don't take my criticisms below in the wrong way!
>
> - There are some cases in which the indentation doesn't follow the rules
> that I'd expect, e.g. from emacs and other lisp editors. For example, if you
> auto-indent this:
>
> (def a1 '((2 1 2)
>           (1 0 0)
>           (0 0 1)))
>
> then I think the "(1" should align under the "(2" but it doesn't. Other
> problematic cases include indentation after a line like "(list foo", which I
> think should align under the "f", and indentation under "(cond x y" which I
> think should align under the "x".
>

Yes, currently I've taken the simple (and reproducible) approach of doing
indentation based only on structure. () forms are considered calls, [] and
{} forms are considered data.

The '(()) form or `(()) form are special cases: sometimes they will mean
calls (call templates in macros), sometimes they will mean data.

Having hard-coded specific lists of different behaviours for certain kinds
of calls (e.g.) is not excluded for the future. Added this issue to remind
us of this: http://code.google.com/p/counterclockwise/issues/detail?id=122 (so
you can star it)


- The automatic insertion of closing brackets has been driving me crazy,
> although I realize that others will differ on this. I type the closing
> brackets without thinking and then I have lots of extra closes, indentation
> breaks (because it currently only works when everything is matched), etc. I
> also tend to type sloppily with a lot of backspaces to clean up as I go, and
> if I try to do this after typing an opening bracket or even a quotation mark
> (") my backspace only erases one character, leaving the other. So a lot of
> my typing produces a mess that I don't immediately notice and then have to
> go back and clean up. In addition, I often want to wrap an existing form
> with another call and while I know CCW provides structure-oriented ways to
> do this I often just want to type "(wrapper " before it and ")" after -- but
> then I end up with an extra ")" in the before part that has to be deleted in
> a somewhat awkward way... Again, I know CCW supports a whole different and
> perhaps better way to do this stuff once one commits to it and internalizes
> it, but as somebody who has been typing in a more free-form way for many
> years I'm really finding this cumbersome. On a couple of occasions I found
> myself typing code into a plain text editor to avoid these issues and then
> pasting it into eclipse... surely a bad sign.
>

Yeah, I definitely recon that the "automatically add the closing bracket"
must work with "jump after the closing bracket", "forward-delete" and
"backward-delete" as a whole, or not at all.

So the insertion of the closing bracket will probably be removed from the
"default" mode in the next release :
http://code.google.com/p/counterclockwise/issues/detail?id=123

- Symbol completion: It took me a while and some digging to figure out that
> this is invoked with control-. (on a mac, anyway), and that one hits that
> multiple times to cycle through the matches. Did I miss that being mentioned
> in introductory materials, or is this another place where Eclipse experience
> is assumed? (I see the text at
> http://code.google.com/p/counterclockwise/wiki/Documentation#Code_completionbut
>  this doesn't actually tell you how to invoke it.) If not then it should
> probably be added.


Here the default behaviour offered by Eclipse on your platform will take
place. Documentation updated.


> BTW, is there a way to get a popup menu of the options, or some other
> listing of them without going through them one by one?
>

There is already a "Clojure" menu and a contextual menu (when in an editor)
with a "Clojure" menu entry, which list available "commands" (those that are
considered commands by Eclipse, and are customizable by you the user via
Window > General > Keys menu).

If you were talking about this menu and find it incomplete, I would
appreciated if you could take the time to precisely list the missing pieces,
so that I can concentrate on adding them, and not hunting them :-)


> - Arglist-on-space: This is something I've mentioned in other threads, with
> respect to other editors, but I really found myself longing for it today as
> I worked in Eclipse and it seemed like it might be possible given the other
> infrastructure that is there. The idea is that when you type something like
> "(nth " a mini-buffer somewhere shows the argument list(s) like "([coll
> index] [coll index not-found])". In the feature as it existed in MCL (among
> other systems, I think) you didn't have to hit any other keys or do anything
> else -- as soon as you hit a space after the function name the arglist would
> appear in another buffer, and a quick glance jogged the memory about the
> arguments and their order. It may be that Clojure's flexibility with
> argument lists makes this unusually difficult to do correctly all of the
> time, but I'd find it really useful even if it didn't perform flawlessly. I
> currently find (as a new user, still) that I keep having to go to the repl
> to type things like "(doc nth)" to remember the order of arguments. While
> "doc" is great this does require me to switch to the repl and type/eval a
> form, and it's really nice to avoid that by having arglists appear
> automatically all of the time.
>

Of course, this is possible in Eclipse, just not done yet. Added a specific
issue for tracking this particular feature ( which I recon is super
practical ! ) :
http://code.google.com/p/counterclockwise/issues/detail?id=124


> Again, I offer these as what I hope are constructive suggestions...
>
> Thanks, -Lee
>
> --
> Lee Spector, Professor of Computer Science
> School of Cognitive Science, Hampshire College
> 893 West Street, Amherst, MA 01002-3359
> lspec...@hampshire.edu, http://hampshire.edu/lspector/
> Phone: 413-559-5352, Fax: 413-559-5438
>
> Check out Genetic Programming and Evolvable Machines:
> http://www.springer.com/10710 - http://gpemjournal.blogspot.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<clojure%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>

-- 
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

Reply via email to