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);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								};
							 |