anchor.diff:  import 'package:path/path.dart';
   
   final argParser = new ArgParser(allowTrailingOptions: true)
  +  ..addFlag('help')
     ..addOption('replace', allowMultiple: true)
  +  ..addFlag('replaceFromTo',
  +      defaultsTo: true,
  +      help: 'Whether to infer replacements from the from & to args')
     ..addOption('edit-command',
         help:
             'Command to run on existing files. The path of the file is appended to the command')
  
positive.code:   final verbose = argResults['verbose'];
    final strict = argResults['strict'];
    final allowInflections = argResults['inflections'];
  
    if (argResults.rest.length != 2)
      throw 'Invalid arguments: expected `from to`, got `${argResults.rest.join(' ')}`';
  
    String from = argResults.rest[0];
    String to = argResults.rest[1];
  
    final replacer =
        new Replacer(strict: strict, allowInflections: allowInflections);
    replacer.addReplacements(
        basenameWithoutExtension(from), basenameWithoutExtension(to));
  
    for (final repl in argResults['replace'] ?? []) {
      final split = repl.split(':');
  
negative.code: final caseInsensitiveTransforms = <_StringTransform>[
    (s) => s.replaceAll('-', '_'),
    (s) => s.replaceAll('_', '-'),
    (s) => s.replaceAll('/', '.'),
    (s) => s.replaceAll('.', '/'),
    (s) => decamelize(s, '_'),
    (s) => decamelize(s, '-'),
  ];
  