Re: Continue Eclipse Freemarker DLTK?
Daniel Dekany <[email protected]> Thu, 25 Jul 2013 18:53:40 +0200
| Newsgroups | gmane.comp.web.freemarker.devel |
|---|---|
| Message-ID | <[email protected]> |
Thursday, July 25, 2013, 5:43:30 PM, Angelo zerr wrote: > I agree with your suggestion. > > My first step is to swith to 2.3. I think the Outline is not really > important for the moment and AST is not important for the moment. > If you are OK, I would like to manage with 2.3 the 2 features (which already works with 3.0) : > > * syntax errors > * dbgp debugger > > Are you OK with that? What do you mean by "manage with 2.3"? You want to modify FM, or it's plugin development only? I'm OK with both, except that you will have to send a signed Contributor License Agreement for modifying FM itself. -- Thanks, Daniel Dekany > Regards Angelo > > > 2013/7/25 Daniel Dekany <[email protected]> > Thursday, July 25, 2013, 4:40:28 PM, Angelo zerr wrote: > >> Hi Daniel, >> >> OK I understand why you don't want expose the AST API. Thank's for your information. >> >> The DLTK ASTNode is used for several features like folding, >> refactoring, search, codeassist. >> >> You can read info about ASTNode at >> http://wiki.eclipse.org/DLTK_Core_Architecture >> It's difficult for me to tell you now which info are required to >> build a DLTK ASTNode. > > Then, to start somewhere... I think, org.freemarker:tooling will give > you an abstract FTLVisitor class, which however will only have two > kind of visit-s for now: visit(ElementInfo) and visit(ExpressionInfo). > (That's so that the plugin or other tools won't assume that they know > all the directives and expression types.) (Note that the 3.0 API > didn't visit expressions at all, only elements.) And then I start > adding properties to these XxxInfo-s as the need arises. Like, > isFoldable(), isOutlineNode and getOutlineNodeLabel for starters. The > initial "accept" method of the tools API could have a Query object (a > JavaBean again) as parameter, in which you can specify what are you > interested in (like, folding and/or outline nodes and/or variables > used, etc). So as you move ahead, we will see if it's appropriate at > all. And of course I'm open for suggestions. > >> I will try to switch to 2.3 and I will see what we need. >> >> My work about AST was very simply (I have just managed #assign in >> the AST to display the variable name of assign in the Outline View). >> But perhaps for Freemarker, the Outline View should display more >> info like JBoss IDE > > JBoss IDE's outline is useless IMAO. It shows far too much. After all, > the goal of an outline view is to show you a summary that's good for > navigation (among others). Although I'm not entirely sure how the > outlook should look. It has to show #macro and #function, and that's > already useful, but what else? > >> and your idea about freemaker-tool.jar is perhaps a good idea. > > (I wonder what's the proper term is. "tooling" or "tools"? Like > "FreeMarker Tooling API" or "FreeMarker Tools API"... or even > "tool-helpers"...) > >> I have not experimented a lot the capability of the DLTK ASTNode >> but at the end of the http://wiki.eclipse.org/DLTK_Core_Architecture >> it says "Use of the DLTK AST is not mandatory, but some DLTK >> features like folding may rely on it and it can greatly simplify implementation." >> >> For the completion (interpolation) I don't use the ASTNode but I >> think I should to use it (so I need a more complex AST). > > For that you need the variable names used, in a hierarchy. Like, on > the top-level you have "user" and "department", but after "user." the > possibilities are different, like "user.name" etc. If DLTK can extract > such info from the AST, we might as well add that in ExpressionInfo. > Also there's the case where some of the data-model variables has a > known class (that's not a FreeMarker feature). > >> So I must switch to 2.3, my first idea is to try to remove the use >> of DLTK ASTNode an dmanage other features like syntax errors and debug. >> >> Regards Angelo > > -- > Thanks, > Daniel Dekany > > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > FreeMarker-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freemarker-devel > ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk