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;
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");
}