Example #1
0
 public static void main(final String[] argv) throws IOException {
   final String filea = argv[argv.length - 2];
   final String fileb = argv[argv.length - 1];
   final String[] a = DiffPrint.slurp(filea);
   final String[] b = DiffPrint.slurp(fileb);
   final Diff d = new Diff(a, b);
   char style = 'n';
   for (int i = 0; i < argv.length - 2; ++i) {
     final String f = argv[i];
     if (f.startsWith("-")) {
       for (int j = 1; j < f.length(); ++j) {
         switch (f.charAt(j)) {
           case 'e': // Ed style
             style = 'e';
             break;
           case 'c': // Context diff
             style = 'c';
             break;
           case 'u':
             style = 'u';
             break;
         }
       }
     }
   }
   final boolean reverse = style == 'e';
   final Diff.change script = d.diff_2(reverse);
   if (script == null) {
     System.err.println("No differences");
   } else {
     Base p;
     switch (style) {
       case 'e':
         p = new EdPrint(a, b);
         break;
       case 'c':
         p = new ContextPrint(a, b);
         break;
       case 'u':
         p = new UnifiedPrint(a, b);
         break;
       default:
         p = new NormalPrint(a, b);
     }
     p.print_header(filea, fileb);
     p.print_script(script);
   }
 }