docs: function (options) {
    var userOptions = options || {};
    var configFile = userOptions.configFile;
  
    var compile = through.obj(function (file, encoding, cb) {
  
      if (file.isNull()) {
        return cb();
      }
      if (file.isStream()) {
        this.emit('error', new PluginError(PLUGIN_NAME, 'Streams are not supported!'));
        return cb();
      }
  
      // load our config from sassLint and the user provided options if available
      file.sassConfig = lint.getConfig(userOptions, configFile);
      // save the config file within the file object for access when this file is piped around
      file.userOptions = userOptions;
      file.configFile = configFile;
  
      // lint the file and pass the user defined options and config path to sass lint to handle
      try {
        file.sassLint = [
          lint.lintFileText({
            'text': file.contents,
            'format': path.extname(file.path).replace('.', ''),
            'filename': path.relative(process.cwd(), file.path)
          }, userOptions, configFile)];
      } catch(e) {
        this.emit('error', new PluginError(PLUGIN_NAME, e.message));
      }
  
      this.push(file);
      cb();
    });
    return compile;
  }