anchor.diff:      OptionHandler('${Flags.codegenShards}=.+', setCodegenShards),
       OptionHandler(Flags.cfeOnly, setCfeOnly),
       OptionHandler(Flags.debugGlobalInference, passThrough),
  -    OptionHandler('--out=.+|-o.*', setOutput, multipleArguments: true),
  +    OptionHandler('--output(?:=.+)?|--out(?:=.+)?|-o.*', setOutput,
  +        multipleArguments: true),
       OptionHandler('-O.*', setOptimizationLevel),
       OptionHandler(Flags.allowMockCompilation, ignoreOption),
       OptionHandler(Flags.fastStartup, ignoreOption),
  
positive.code: 
    void setOutput(Iterator<String> arguments) {
      outputSpecified = true;
      String path;
      if (arguments.current == '-o') {
        if (!arguments.moveNext()) {
          helpAndFail('Error: Missing file after -o option.');
        }
        path = arguments.current;
      } else {
        path = extractParameter(arguments.current);
      }
      out = Uri.base.resolve(fe.nativeToUriPath(path));
    }
  
negative.code:       passThrough(argument);
        return;
      }
      helpAndFail("Unsupported dump-info format '$argument', "
          "supported formats are: json or binary");
    }
  
    String nullSafetyMode = null;
    void setNullSafetyMode(String argument) {
      if (nullSafetyMode != null && nullSafetyMode != argument) {
        helpAndFail("Cannot specify both $nullSafetyMode and $argument.");
      }
      nullSafetyMode = argument;
      passThrough(argument);
  