lib/coopt.js
function getLineReplRegExp(rxa, tasks) {
	var r = '', sf = null;
	function rxItem(o, i, a) {
		var s = util.isRegExp(o) ? o.source : escapeRegExp(o);
		if (s) {
			r += (sf ? sf(true, s) : '(?:' + s + ')') + (i < (a.length - 1) ? '|' : '');
		}
	}
	if (Array.isArray(rxa) && rxa.length) {
		rxa.forEach(rxItem);
		// join tasks with or clause
		r += '|';
	}
	var tsks = Array.isArray(tasks) ? tasks : [];
	if (tsks.indexOf(chgLog) < 0) {
		tsks.push(chgLog);
	}
	sf = committer.skipTaskGen;
	tsks.forEach(rxItem);
	return new RegExp('^.*(' + r + ').*$\n?\r?', 'gmi');
}
function getLineReplRegExp(rxa, tasks) {
	var r = '', sf = null;
	function rxItem(o, i, a) {
		var s = util.isRegExp(o) ? o.source : escapeRegExp(o);
		if (s) {
			r += (sf ? sf(true, s) : '(?:' + s + ')') + (i < (a.length - 1) ? '|' : '');
		}
	}
	if (Array.isArray(rxa) && rxa.length) {
		rxa.forEach(rxItem);
		// join tasks with or clause
		r += '|';
	}
	var tsks = Array.isArray(tasks) ? tasks : [];
	if (tsks.indexOf(chgLog) < 0) {
		tsks.push(chgLog);
	}
	sf = committer.skipTaskGen;
	tsks.forEach(rxItem);
	return new RegExp('^.*(' + r + ').*$\n?\r?', 'gmi');
}
function getLineReplRegExp ( rxa , tasks ) { var r = '' , sf = null ; function rxItem ( o , i , a ) { var s = util . isRegExp ( o ) ? o . source : escapeRegExp ( o ) ; if ( s ) { r += ( sf ? sf ( true , s ) : '(?:' + s + ')' ) + ( i < ( a . length - 1 ) ? '|' : '' ) ; } } if ( Array . isArray ( rxa ) && rxa . length ) { rxa . forEach ( rxItem ) ; // join tasks with or clause r += '|' ; } var tsks = Array . isArray ( tasks ) ? tasks : [ ] ; if ( tsks . indexOf ( chgLog ) < 0 ) { tsks . push ( chgLog ) ; } sf = committer . skipTaskGen ; tsks . forEach ( rxItem ) ; return new RegExp ( '^.*(' + r + ').*$\n?\r?' , 'gmi' ) ; }
Creates a regular expression for replacing line items

@param rxa
the optional {Array} of {RegExp} or strings (strings will be
escaped) that will be included in the final expression
(concatenated via OR in final expression)
@param tasks
an optional {Array} of task names to replace using the generated
sequence syntax (concatenated via OR in final expression)
@returns {RegExp} the generated regular expression
Creates a regular expression for replacing line items