monotone-commits-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-commits-diffs] net.venge.monotone.colored-diff: 6932e29a4cbee


From: code
Subject: [Monotone-commits-diffs] net.venge.monotone.colored-diff: 6932e29a4cbeefeb1e14d10d0ac0e543af34f7a7
Date: Sun, 16 Jan 2011 13:55:03 GMT

revision:            6932e29a4cbeefeb1e14d10d0ac0e543af34f7a7
date:                2011-01-16T13:52:31
author:              Richard Hopkins
branch:              net.venge.monotone.colored-diff
changelog:
Simplification of colorization purposes

The end game is to provide the user a simple map of purposes to a
given output color - via get_output_color. To help this, different
commands in Monotone may map to a single purpose such as files
being added (mtn status), and lines being added (mtn diff) both
represent an addition - so they are now treated as such.

In passing, also sorted the purposes alphabetically wherever they
are used for readability, with the exception for normal+reset as
these are special cases and should stand alone to reflect that.

manifest:
format_version "1"

new_manifest [a34e36be939fc29d172affa4008d4f45464c4ff3]

old_revision [1e72ca225f53020031d2534130f74866f2c78b9a]

patch "cmd_diff_log.cc"
 from [97def6b81f1f91c45d2dce1d7155f111319df3b1]
   to [b29176c79dadb1d9a4a97b59dc9eacc8f14ad968]

patch "colorizer.cc"
 from [f6834808b449eeed8b68236160931f1f69dd27e1]
   to [e95e4da35986b1b33fef3de093d319d7701ff3a7]

patch "colorizer.hh"
 from [048936d14b4373d0148bf8991791364c2a5395ae]
   to [43cf62c869f21fa9696c17905f204509c70addf3]

patch "diff_output.cc"
 from [9aab77314ce27866f7fee966936480d03fa13220]
   to [2bff19e8c9119725593b8a5e7241e7a28abc1dbc]

patch "rev_output.cc"
 from [c36ffcf8412298362035f4c5d9c1ef8bc8b149d7]
   to [fec6728d80bca2d8d13ab49bb4ecd03310879fe5]

patch "std_hooks.lua"
 from [6228376d2dfa906746aa1a6f13b5fcdf0f260b5a]
   to [063f7f36a7e3e5454eb9a14118083ccc37f3d361]
============================================================
--- diff_output.cc	9aab77314ce27866f7fee966936480d03fa13220
+++ diff_output.cc	2bff19e8c9119725593b8a5e7241e7a28abc1dbc
@@ -186,14 +186,14 @@ void unidiff_hunk_writer::insert_at(size
 {
   b_len++;
   hunk.push_back(color.colorize(string("+") + b[b_pos],
-                                    colorizer::diff_add));
+                                    colorizer::add));
 }
 
 void unidiff_hunk_writer::delete_at(size_t a_pos)
 {
   a_len++;
   hunk.push_back(color.colorize(string("-") + a[a_pos],
-                                    colorizer::diff_delete));
+                                    colorizer::remove));
 }
 
 void unidiff_hunk_writer::flush_hunk(size_t pos)
@@ -243,8 +243,8 @@ void unidiff_hunk_writer::flush_hunk(siz
         find_encloser(a_begin + first_mod, encloser);
         ss << " @@";
 
-        ost << color.colorize(ss.str(), colorizer::diff_separator);
-        ost << color.colorize(encloser, colorizer::diff_encloser);
+        ost << color.colorize(ss.str(), colorizer::separator);
+        ost << color.colorize(encloser, colorizer::encloser);
         ost << '\n';
       }
       copy(hunk.begin(), hunk.end(), ostream_iterator<string>(ost, "\n"));
@@ -375,8 +375,8 @@ void cxtdiff_hunk_writer::flush_hunk(siz
         find_encloser(a_begin + min(first_insert, first_delete),
                       encloser);
 
-        ost << color.colorize("***************", colorizer::diff_separator)
-            << color.colorize(encloser, colorizer::diff_encloser) << '\n';
+        ost << color.colorize("***************", colorizer::separator)
+            << color.colorize(encloser, colorizer::encloser) << '\n';
       }
 
       ost << "*** " << (a_begin + 1) << ',' << (a_begin + a_len) << " ****\n";
@@ -414,17 +414,17 @@ void cxtdiff_hunk_writer::flush_pending_
   if (inserts.empty() && !deletes.empty())
   {
     prefix = "-";
-    p = colorizer::diff_delete;
+    p = colorizer::remove;
   }
   else if (deletes.empty() && !inserts.empty())
   {
     prefix = "+";
-    p = colorizer::diff_add;
+    p = colorizer::add;
   }
   else
   {
     prefix = "!";
-    p = colorizer::diff_change;
+    p = colorizer::change;
   }
 
   for (vector<size_t>::const_iterator i = deletes.begin();
@@ -506,10 +506,10 @@ make_diff(string const & filename1,
       // It doesn't make sense to output that.
       if (filename2 == "/dev/null")
         ost << color.colorize(string("# ") + filename1 + " is binary",
-                              colorizer::diff_comment) << "\n";
+                              colorizer::comment) << "\n";
       else
         ost << color.colorize(string("# ") + filename2 + " is binary",
-                              colorizer::diff_comment) << "\n";
+                              colorizer::comment) << "\n";
       return;
     }
 
@@ -599,9 +599,11 @@ make_diff(string const & filename1,
     {
       case unified_diff:
       {
-        ost << color.colorize(string("--- ") + filename1, colorizer::diff_delete)
+        ost << color.colorize(string("--- ") + filename1,
+                              colorizer::remove)
             << '\t' << id1 << '\n';
-        ost << color.colorize(string("+++ ") + filename2, colorizer::diff_add)
+        ost << color.colorize(string("+++ ") + filename2,
+                              colorizer::add)
             << '\t' << id2 << '\n';
 
         unidiff_hunk_writer hunks(lines1, lines2, 3, ost, pattern, color);
@@ -610,9 +612,11 @@ make_diff(string const & filename1,
       }
       case context_diff:
       {
-        ost << color.colorize(string("*** ") + filename1, colorizer::diff_delete)
+        ost << color.colorize(string("*** ") + filename1,
+                              colorizer::remove)
             << '\t' << id1 << '\n';
-        ost << color.colorize(string("--- ") + filename2, colorizer::diff_add)
+        ost << color.colorize(string("--- ") + filename2,
+                              colorizer::add)
             << '\t' << id2 << '\n';
 
         cxtdiff_hunk_writer hunks(lines1, lines2, 3, ost, pattern, color);
============================================================
--- std_hooks.lua	6228376d2dfa906746aa1a6f13b5fcdf0f260b5a
+++ std_hooks.lua	063f7f36a7e3e5454eb9a14118083ccc37f3d361
@@ -1544,22 +1544,17 @@ function get_output_color(purpose)
 		normal = "",
 		reset = "reset",
 		
-		diff_add = "green",
-		diff_change = "magenta",
-		diff_comment = "cyan",
-		diff_delete = "red",
-		diff_encloser = "bold",
-		diff_separator = "bold",
-		
-		log_revision = "bold",
-		rev_header = "bold",
-
-		status_added = "green",
-		status_dropped = "red",
-		status_patched = "blue",
-		status_renamed = "yellow",
-		status_set = "cyan",
-		status_unset = "magenta"
+                add = "green",
+                change = "blue",
+                comment = "yellow",
+                encloser = "magenta",
+                log_revision = "bold",
+                remove = "red",
+                rename = "yellow",
+                rev_header = "bold",
+                separator = "bold",
+                set = "cyan",
+                unset = "magenta"
 	}
 
 	local chosen_color = color_table[purpose]
============================================================
--- cmd_diff_log.cc	97def6b81f1f91c45d2dce1d7155f111319df3b1
+++ cmd_diff_log.cc	b29176c79dadb1d9a4a97b59dc9eacc8f14ad968
@@ -399,23 +399,23 @@ void dump_header(std::string const & rev
 
   vector<string> lines;
   split_into_lines(summary(), lines);
-  out << colorizer.colorize("#", colorizer::diff_comment) << "\n";
+  out << colorizer.colorize("#", colorizer::comment) << "\n";
   if (!summary().empty())
     {
-      out << colorizer.colorize(revs, colorizer::diff_comment);
-      out << colorizer.colorize("#", colorizer::diff_comment) << "\n";
+      out << colorizer.colorize(revs, colorizer::comment);
+      out << colorizer.colorize("#", colorizer::comment) << "\n";
 
       for (vector<string>::iterator i = lines.begin();
            i != lines.end(); ++i)
         out << colorizer.colorize(string("# ") + *i,
-                                  colorizer::diff_comment) << "\n";
+                                  colorizer::comment) << "\n";
     }
   else
     {
       out << colorizer.colorize(string("# ") + _("no changes"),
-                                colorizer::diff_comment) << "\n";
+                                colorizer::comment) << "\n";
     }
-  out << colorizer.colorize("#", colorizer::diff_comment) << "\n";
+  out << colorizer.colorize("#", colorizer::comment) << "\n";
 }
 
 CMD_PRESET_OPTIONS(diff)
============================================================
--- rev_output.cc	c36ffcf8412298362035f4c5d9c1ef8bc8b149d7
+++ rev_output.cc	fec6728d80bca2d8d13ab49bb4ecd03310879fe5
@@ -156,7 +156,7 @@ revision_summary(revision_t const & rev,
       for (set<file_path>::const_iterator i = cs.nodes_deleted.begin();
             i != cs.nodes_deleted.end(); ++i)
         out << color.colorize((F("  dropped  %s") %*i).str(),
-                              colorizer::status_dropped) << '\n';
+                              colorizer::remove) << '\n';
 
       for (map<file_path, file_path>::const_iterator
             i = cs.nodes_renamed.begin();
@@ -164,22 +164,22 @@ revision_summary(revision_t const & rev,
         out << color.colorize((F("  renamed  %s\n"
                                  "       to  %s") % i->first
                                  % i->second).str(),
-                              colorizer::status_renamed) << '\n';
+                              colorizer::rename) << '\n';
 
       for (set<file_path>::const_iterator i = cs.dirs_added.begin();
             i != cs.dirs_added.end(); ++i)
         out << color.colorize((F("  added    %s") % *i).str(),
-                              colorizer::status_added) << '\n';
+                              colorizer::add) << '\n';
 
       for (map<file_path, file_id>::const_iterator i = cs.files_added.begin();
             i != cs.files_added.end(); ++i)
         out << color.colorize((F("  added    %s") % i->first).str(),
-                              colorizer::status_added) << '\n';
+                              colorizer::add) << '\n';
 
       for (map<file_path, pair<file_id, file_id> >::const_iterator
               i = cs.deltas_applied.begin(); i != cs.deltas_applied.end(); ++i)
         out << color.colorize((F("  patched  %s") % i->first).str(),
-                              colorizer::status_patched) << '\n';
+                              colorizer::change) << '\n';
 
       for (map<pair<file_path, attr_key>, attr_value >::const_iterator
              i = cs.attrs_set.begin(); i != cs.attrs_set.end(); ++i)
@@ -188,7 +188,7 @@ revision_summary(revision_t const & rev,
                                  "       to  %s")
                                % i->first.first % i->first.second
                                % i->second).str(),
-                              colorizer::status_set) << '\n';
+                              colorizer::set) << '\n';
 
       // FIXME: naming here could not be more inconsistent
       // the cset calls it attrs_cleared
@@ -201,7 +201,7 @@ revision_summary(revision_t const & rev,
         out << color.colorize((F("  attr on  %s\n"
                                  "    unset  %s") % i->first
                                  % i->second).str(),
-                              colorizer::status_unset) << '\n';
+                              colorizer::unset) << '\n';
 
       out << '\n';
     }
============================================================
--- colorizer.cc	f6834808b449eeed8b68236160931f1f69dd27e1
+++ colorizer.cc	e95e4da35986b1b33fef3de093d319d7701ff3a7
@@ -22,52 +22,32 @@ string colorizer::purpose_to_name(colori
   {
     case normal:
       return "normal";
-
     case reset:
       return "reset";
 
-    case diff_add:
-      return "diff_add";
-
-    case diff_change:
-      return "diff_change";
-
-    case diff_comment:
-      return "diff_comment";
-
-    case diff_delete:
-      return "diff_delete";
-
-    case diff_encloser:
-      return "diff_encloser";
-
-    case diff_separator:
-      return "diff_separator";
-
+    case add:
+      return "add";
+    case change:
+      return "change";
+    case comment:
+      return "comment";
+    case encloser:
+      return "encloser";
     case log_revision:
       return "log_revision";
-
+    case remove:
+      return "remove";
+    case rename:
+      return "rename";
     case rev_header:
       return "rev_header";
+    case separator:
+      return "separator";
+    case set:
+      return "set";
+    case unset:
+      return "unset";
 
-    case status_added:
-      return "status_added";
-
-    case status_dropped:
-      return "status_dropped";
-
-    case status_patched:
-      return "status_patched";
-
-    case status_renamed:
-      return "status_renamed";
-
-    case status_set:
-      return "status_set";
-
-    case status_unset:
-      return "status_unset";
-
     default:
       I(false); // should never get here
   }
@@ -120,20 +100,18 @@ colorizer::colorizer(bool enable, lua_ho
     {
       colormap.insert(map_output_color(normal));
       colormap.insert(map_output_color(reset));
-      colormap.insert(map_output_color(diff_encloser));
-      colormap.insert(map_output_color(diff_add));
-      colormap.insert(map_output_color(diff_delete));
-      colormap.insert(map_output_color(diff_change));
-      colormap.insert(map_output_color(diff_comment));
-      colormap.insert(map_output_color(diff_separator));
+
+      colormap.insert(map_output_color(add));
+      colormap.insert(map_output_color(change));
+      colormap.insert(map_output_color(comment));
+      colormap.insert(map_output_color(encloser));
       colormap.insert(map_output_color(log_revision));
+      colormap.insert(map_output_color(remove));
+      colormap.insert(map_output_color(rename));
       colormap.insert(map_output_color(rev_header));
-      colormap.insert(map_output_color(status_added));
-      colormap.insert(map_output_color(status_dropped));
-      colormap.insert(map_output_color(status_patched));
-      colormap.insert(map_output_color(status_renamed));
-      colormap.insert(map_output_color(status_set));
-      colormap.insert(map_output_color(status_unset));
+      colormap.insert(map_output_color(separator));
+      colormap.insert(map_output_color(set));
+      colormap.insert(map_output_color(unset));
     }
 }
 
============================================================
--- colorizer.hh	048936d14b4373d0148bf8991791364c2a5395ae
+++ colorizer.hh	43cf62c869f21fa9696c17905f204509c70addf3
@@ -18,21 +18,19 @@ struct colorizer {
 
   typedef enum { normal = 0,
                  reset,
-                 diff_encloser,
-                 diff_add,
-                 diff_delete,
-                 diff_change,
-                 diff_comment,
-                 diff_separator,
+
+                 add,
+                 change,
+                 comment,
+                 encloser,
                  log_revision,
+                 remove,
+                 rename,
                  rev_header,
-                 status_added,
-                 status_dropped,
-                 status_patched,
-                 status_renamed,
-                 status_set,
-                 status_unset
-                 } purpose;
+                 separator,
+                 set,
+                 unset
+                } purpose;
 
   colorizer(bool enable, lua_hooks & lh);
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]