34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var _ = require('lodash'); | ||
|  | 
 | ||
|  | module.exports = function generateDocsFromComments(log) { | ||
|  |   return { | ||
|  |     $runAfter: ['files-read'], | ||
|  |     $runBefore: ['parsing-tags'], | ||
|  |     $process: function(docs) { | ||
|  |       var commentDocs = []; | ||
|  |       docs = _.filter(docs, function(doc) { | ||
|  |         if (doc.docType !== 'atScriptFile') { | ||
|  |           return true; | ||
|  |         } else { | ||
|  |           _.forEach(doc.fileInfo.comments, function(comment) { | ||
|  | 
 | ||
|  |             // we need to check for `/**` at the start of the comment to find all the jsdoc style comments
 | ||
|  |             comment.range.toString().replace(/^\/\*\*([\w\W]*)\*\/$/g, function(match, commentBody) { | ||
|  | 
 | ||
|  |               // Create a doc from this comment
 | ||
|  |               commentDocs.push({ | ||
|  |                 fileInfo: doc.fileInfo, | ||
|  |                 startingLine: comment.range.start.line, | ||
|  |                 endingLine: comment.range.end.line, | ||
|  |                 content: commentBody, | ||
|  |                 codeTree: comment.treeAfter, | ||
|  |                 docType: 'atScriptDoc' | ||
|  |               }); | ||
|  |             }); | ||
|  |           }); | ||
|  |         } | ||
|  |       }); | ||
|  |       return docs.concat(commentDocs); | ||
|  |     } | ||
|  |   }; | ||
|  | }; |