JSDOC/BuildDocs.js
[gnome.introspection-doc-generator] / JSDOC / PrettyPrint.js
index 22564a5..eb2d94c 100644 (file)
@@ -4,11 +4,23 @@
 TokenReader = imports.TokenReader.TokenReader;
 ScopeParser= imports.ScopeParser.ScopeParser;
 TokenStream = imports.TokenStream.TokenStream;
+TextStream = imports.TextStream.TextStream;
+
+function  escapeHTML(str) { 
+    return str.replace(/&/g,'&').
+            replace(/>/g,'>'). 
+            replace(/</g,'&lt;'). 
+            replace(/"/g,'&quot;');
+};
 
 function toPretty(str)
 {
-    var tr = new TokenReader();
-    var toks = tr.tokenize(str,false); // dont merge xxx + . + yyyy etc.
+    
+    var txs = new TextStream(str);
+    var tr = new TokenReader({ keepComments : true, keepWhite : true });
+    var toks = tr.tokenize(txs)
+    
     var sp = new ScopeParser(new TokenStream(toks));
     sp.buildSymbolTree();
    // sp.mungeSymboltree();
@@ -33,7 +45,7 @@ function toPretty(str)
             return 'string';
         }
         // other 'vary things??
-        if (tok.is('NAME') || tok.data == '.' || tok.name == 'THIS')) {
+        if (tok.is('NAME') || tok.data == '.' || tok.name == 'THIS') {
             return 'var';
         }
         if (/^[a-z]+/i.test(tok.data)) {
@@ -59,18 +71,10 @@ function toPretty(str)
                 continue;
                 
         }
-        r += escapeHTML(toks[i].data).replace(/\n/g, '<BR>');
+        r += escapeHTML(toks[i].data).replace(/\n/g, "<BR/>\n");
     }
     if (cs.length) r +='</span>';
     return '<code class="jsdoc-pretty">'+r+'</code>';
     
         
 }
-function  escapeHTML() {                                        
-    return(                                                                 
-        this.replace(/&/g,'&amp;').                                         
-            replace(/>/g,'&gt;').                                           
-            replace(/</g,'&lt;').                                           
-            replace(/"/g,'&quot;')                                         
-    );                                                                      
-};
\ No newline at end of file