docs: function create(context) {
      const settings = Object.assign({}, defaults, context.options[0]);
  
      function check(setting, node, list, format) {
          const val = settings[setting];
          const lines = list.map(line);
  
          if ((isLongerThan(val, lines) || isAlways(val)) && hasDuplicates(lines)) {
              const message = messages.always[setting];
              const fix = (f) => f.replaceTextRange(node.range, format(node));
              context.report({ node, message, fix });
          }
  
          if (isNever(val) && hasMultiple(lines)) {
              const message = messages.never[setting];
              context.report({ node, message });
          }
      }
  
      return {
          CallExpression(node) {
              if (!isAmdCall(node) || node.arguments.length < 2) return;
  
              const args = withoutModuleId(node.arguments);
              const deps = args[0];
              const func = args[1];
  
              if (!isArrayExpr(deps) || !isFunctionExpr(func)) return;
  
              const indent = indentation(func);
  
              check("paths", deps, deps.elements, formatPaths(indent));
              check("names", func, func.params, formatNames(indent, context));
          }
      };
  }