function attacher( options ) {
	var opts;
	var err;

	// Set default options:
	opts = copy( defaults );

	// NOTE: cannot use `arguments.length` check, as `options` may be explicitly passed as `undefined`
	if ( options !== void 0 ) {
		err = validate( opts, options );
		if ( err ) {
			throw err;
		}
	}
	return linter( opts );
}
Attaches a plugin to a remark processor to lint expected HTML sections.

@param {Options} [options] - plugin options
@param {Object} [options.schema] - schema for expected HTML sections
@throws {TypeError} options argument must be an object
@throws {TypeError} must provide valid options
@returns {Function} transform function

@example
var remark = require( 'remark' );

var str = [
    '<section class="usage">',
    '',
    '## Usage',
    '',
    '</section>',
    '',
    '<!-- /.usage -->',
    '',
    '<section class="examples">',
    '',
    '## Examples',
    '',
    '</section>',
    '',
    '<!-- /.examples -->',
    ''
].join( '\n' );

remark().use( lint ).process( str, done );

function done( error ) {
    if ( error ) {
        throw error;
    }
}