JavaScript Outline Tree is getting smarter

The JavaScriptOutlineTree class is getting smarter in the next release of RSTALanguageSupport.

As previously reported a little while ago, the outline tree has recently been able to recognize JS classes created by defining members on a prototype.  That functionality has just been extended in a couple of ways:  first, defining an entire prototype at once is now handled correctly (e.g. adding all fields to a prototype at once):

Recognizing prototypes

Recognizing prototypes

Next, Object.create() is parsed properly; all property descriptors passed in as the second argument to the method are properly added to the desired prototype:

Recognizing Object.create()

Recognizing Object.create()

Further, as the JS parser is smart enough to figure this stuff out now, you can quickly navigate to these newly-identified class members via Ctrl+Shift+O.  Pretty nice!

Only a couple of new things might get added before the next release – code completion for built-in objects such as Math, Object, JSON, etc.  Beyond that, I’d like to add some form of language support for Angular and possibly jQuery, but we’ll see.  As a large part of the JS language support was written by someone other than myself, who hasn’t been active recently, it might take a little bit of time for me to figure out the best way to add such features in (the JS language support is currently designed to support code completion for server-side scripting as well as browser-based JS work, so things aren’t as simple as they might seem).

Comments are closed.