add maxLength argument to Input.showRegion()
[sbp.git] / src / edu / berkeley / sbp / chr / CharInput.java
index a03f940..3ebbb88 100644 (file)
@@ -157,7 +157,7 @@ public class CharInput extends Cartesian.Input<Character> {
         if (i>0) { r.unread(CharAtom.left); redent(i-1); return; }
     }
 
-    public String showRegion(Region<Character> rc) {
+    public String showRegion(Region<Character> rc, int maxLength) {
         if (cache == null) return null;
         Cartesian.Region r = (Cartesian.Region)rc;
         int start = r.getStart().getScalar()+1;
@@ -166,10 +166,10 @@ public class CharInput extends Cartesian.Input<Character> {
         if (end < start) end = start;
         if (end > cache.length()) end = cache.length();
         String ret;
-        if (end-start < 60) ret = cachesubstring(start, end);
-        else ret = cachesubstring(start, start+25) +
+        if (end-start < maxLength) ret = cachesubstring(start, end);
+        else ret = cachesubstring(start, start+(maxLength/2-5)) +
                  "..." +
-                 cachesubstring(end-25, end);
+                 cachesubstring(end-(maxLength/2-5), end);
         return StringUtil.escapify(ret, "\n\r");
     }