On 20/01/2013, at 2:20 PM, john skaller wrote: > You will be able to do this:
Done .. > flx p.flx > flx p.fdoc > flx p The webserver now chooses hyperlinks from felix include directives the same way. Now the issues.. i do not really like that you can have both fred.fdoc and fred.flx. One advantage if that you can modify the fred.flx file and try it out, then merge the changes into the fred.fdoc file when you're happy, or simply delete fred.flx if you're not. Or you can flx_tangle fred.fdoc to overwrite your changes. For the library, it is possible to run flx_tangle on the fdoc files to extract the *.flx files. However the install process does NOT respect time stamps. On the other hand flx and the webserver base their choice on timestamps. Syntactically, a *.flx file can do anything a *.fdoc file can, even contain slideshows :) With two constraints: @felix commands mark text which is merged for parsing. So at the moment a library file can be documented but you cannot also include regression test code. The other caveat is that you have to start *.fdoc files containing code with a blank line or Felix cannot parse it. This is a limitation of dypgen: we do not want to match arbitrary @t because that means a possibly null pointer to t, so we require newline @ which excludes a @ at the start of a file. The constraint is probably temporary. Although you can now put @ commands in a *.flx file, the webserver cannot parse them (Felix can though!). Note the documentation generators that scan the libraries have not yet been updated to support fdocs. The misc/vim/syntax/felix.vim allows *.flx files to be colourised properly. [The same syntax should work for fdoc extensions, I just haven't done it yet] [If anyone has a emacs mode for Felix please contribute it!, similarly for Eclipse, Visual Studio] So I'm uncomfortable with the two files and the timestamp selection. Future directions. Well here's the rub: I know how to generalise this system to be very powerful. In fact @fdoc format can be used to do anything, including construct a complete build system. I know this because @interscript did precisely that. in interscript a @command we nothing more or less than completely arbitrary Python script. [You just learned ALL of interscript in two seconds, apart from the libraries .. :] LP was judged to get in the way of developers, it was removed to remove the barrier to contributing. Now part of that's been put back because (a) there are hardly any contributors anyhow and (b) I simply cannot document the library any other way. -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122412 _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language