2 // <script type="text/javascript">
4 TokenReader = imports.TokenReader.TokenReader;
5 ScopeParser= imports.ScopeParser.ScopeParser;
6 TokenStream = imports.TokenStream.TokenStream;
7 TextStream = imports.TextStream.TextStream;
9 function escapeHTML() {
11 this.replace(/&/g,'&').
14 replace(/"/g,'"')
18 function toPretty(str)
21 var txs = new TextStream(File.read(str));
22 var tr = TokenReader({ keepComments : true, keepWhite : true });
23 var toks = tr.tokenize(txs)
25 var sp = new ScopeParser(new TokenStream(toks));
27 // sp.mungeSymboltree();
29 r += sp.warnings.join("<BR>");
35 var cs = ''; // current style..
39 if (tok.is("WHIT") || tok.is("COMM") ) {
40 if (tok.data.indexOf("/") > -1) {
43 return cs; // keep the same..
48 // other 'vary things??
49 if (tok.is('NAME') || tok.data == '.' || tok.name == 'THIS') {
52 if (/^[a-z]+/i.test(tok.data)) {
57 // loop through and print it...?
60 for (var i = 0;i < toks.length; i++) {
61 var ns = toStyle(toks[i]);
64 if (cs.length) r +='</span>';
65 r +='<span class="jsdoc-'+ns+'">';
68 if (toks[i].identifier) {
70 r += '<span class="with-ident2">' +
71 escapeHTML(toks[i].data) + '</span>';
75 r += escapeHTML(toks[i].data).replace(/\n/g, '<BR>');
77 if (cs.length) r +='</span>';
78 return '<code class="jsdoc-pretty">'+r+'</code>';