Community
Participate
Working Groups
Gosia mentioned on the Orion call today that the web tools js content assist support is enough to keep her in the Eclipse IDE and out of Orion. In the past we've talked about developing a "killer" js content assist that was best of breed, but it seems for our June release we should at least look at what kind of cheap solution would be "good enough" for a web tools user to consider moving to Orion. The content assist wouldn't necessarily have to be as good as web tools, but good enough so that other Orion features (like jslint) would make it compelling for an Eclipse user to move to Orion without feeling like they were giving up too much.
Now that Mark has done work in bug 343774, maybe this is easier to hand off to someone for experimentation? Marking 0.2M8 as this seems to be a self-hosting blocker, but note we don't have anyone assigned to it yet.
(In reply to comment #0) We're already running JSLint, and it's smart enough to know what names are defined in a given scope. Maybe the content assist can take advantage of that? If I could press Ctrl+Space and see the variables from my current function appear in the suggestion list, I'd consider that a big win.
We have only content assist for keywords, but I think this is all we will be able to do for 0.2.
Somewhat related: There's an example plugin at [1] that uses the language js parser to provide identifier completion. However it is woefully unaware of scope rules, so it offers a lot of irrelevant suggestions. But language js seems like a good starting point for doing something smarter. [1] http://mamacdon.github.com/0.2/plugins/language/languagejsPlugin.html
marking 0.4 for visibility, since this is mentioned as potential theme for 0.4 (but it is not assigned yet)
I'm going to work on some incremental improvements here. The problem with using an existing parser is likely that they won't handle malformed scripts very well. When invoking content assist, the script is almost never well-formed. I'm going to start by picking off the low-hanging fruit and we can go from there.
Marking this fixed based on the work in M2 (see blocker bugs). Further improvements can be captured in different bugs.