Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Status, question on potential enhancements, etc. #4

Closed
laurentpetit opened this issue Jun 14, 2012 · 6 comments
Closed

Status, question on potential enhancements, etc. #4

laurentpetit opened this issue Jun 14, 2012 · 6 comments

Comments

@laurentpetit
Copy link
Collaborator

Hello,

I don't know where else to start discussing this, so why not the bug tracker?

In a nutshell: I'm considering dropping the current "legacy" code used by Counterclockwise (the Eclipse plugin for Clojure) in favor of a shared external library like clojure-complete.

So in order to evaluate the feasibility, here are some questions:

  • a feature I'd like to have in Counterclockwise is "Textmate-completion" style, e.g. asking completion for "sbc" would match "set-bundle-classloader!" var. This feature does not exist yet in Counterclockwise, so I'm considering either adding it to Counterclockwise's legacy code, or contributing it to clojure-complete, if it's an enhancement that you'd like to have.
  • a feature Counterclockwise had is completion for java interop calls. e.g. ".toSr" would get suggestions for ".toString", etc. There are several things to discuss about the detail, but I'm willing to contribute.
  • question about function ns-java-methods: I see ":when (static? ..." where I would have expected ":when (not (static? ..."
@ninjudd
Copy link
Owner

ninjudd commented Jun 14, 2012

Hey Laurent,

This sounds like a great idea. I'd be happy to take any enhancements to clojure-complete you need to support Counterclockwise. Textmate-completion is certainly something I'd like to see!

As far as java completion goes, I didn't consider tackling instance method completion because the instance type is unknown when you are typing the method. That's why ns-java-methods only returns static method names.

On Jun 14, 2012, at 2:46 PM, Laurent Petit wrote:

Hello,

I don't know where else to start discussing this, so why not the bug tracker?

In a nutshell: I'm considering dropping the current "legacy" code used by Counterclockwise (the Eclipse plugin for Clojure) in favor of a shared external library like clojure-complete.

So in order to evaluate the feasibility, here are some questions:

  • a feature I'd like to have in Counterclockwise is "Textmate-completion" style, e.g. asking completion for "sbc" would match "set-bundle-classloader!" var. This feature does not exist yet in Counterclockwise, so I'm considering either adding it to Counterclockwise's legacy code, or contributing it to clojure-complete, if it's an enhancement that you'd like to have.
  • a feature Counterclockwise had is completion for java interop calls. e.g. ".toSr" would get suggestions for ".toString", etc. There are several things to discuss about the detail, but I'm willing to contribute.
  • question about function ns-java-methods: I see ":when (static? ..." where I would have expected ":when (not (static? ..."

Reply to this email directly or view it on GitHub:
#4

@trptcolin
Copy link
Collaborator

Awesome, I'd love to see more folks using & hacking on this.

For REPLy's needs, instance method completion for imported classes would be awesome. I've had it on my to-do list for awhile. Your ns-java-methods change seems right to me as well - it might already work after dropping that in.

The "sbc"=>"set-bundle-classloader" style of completion sounds cool, but I wonder if all clients would want it. Maybe it could be turned on/off with a setting? Not sure whether that complexity is warranted or not. I can definitely imagine using this in REPLy, either way.

@kotarak
Copy link

kotarak commented Jun 14, 2012

There is also split at ./- which might interesting. So s-b-c would complete to set-bundle-classloader, while sbc would not.

It might also be interesting to return more information than just strings. For functions the arglists might be interesting, or that fact whether something is a function or a macro. This could be displayed in the user interface.

@kotarak
Copy link

kotarak commented Jun 14, 2012

As for the method completion: It could be limited to methods of import'd classes. That would be better than nothing and have a certain probability of matching.

@laurentpetit
Copy link
Collaborator Author

Folks, I'm really excited that you answered so positively, quickly and massively to my questions.

Since it seems that each of these questions rewards interest, let's track each of them in its own issue, so that we can work on them at its own peace.

I'll port the comments each of you have already written here in the newly created issues (not having time to do it right now, probably later this day).

@laurentpetit
Copy link
Collaborator Author

Ok, created Issues #5 and #6 to track specifics about texmate-like completion & interop call completion, respectively.

@kotarak : wrt the question you're asking on the returned information, I think it's cross-everything and deserves its own location to be discussed on. In the next weeks, I'll come up with more precise "needs" Eclipse may have wrt displayed information, and then it'll be interesting to devise how to do this: core functions as-is and "decorator" mappers for enhancing the contents, etc. (we may well find that getting rid of the vars/classes, etc. in the current first and unique "pass" may not serve different rendering clients well, I've not yet put too much thoughts about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants