-// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+// Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license
package edu.berkeley.sbp.chr;
import java.io.*;
Character ret = __next();
if (ret==null) return null;
char c = ret.charValue();
- if (indent) {
- if (ret==CharAtom.left) System.out.print("\033[31m{\033[0m");
- else if (ret==CharAtom.right) System.out.print("\033[31m}\033[0m");
- else System.out.print(c+"");
- }
return ret;
}
public Character __next() throws IOException {
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;
- int end = r.getEnd().getScalar()+1;
+ int start = r.getStart().getScalar();
+ int end = r.getEnd().getScalar();
if (start < 0) start = 0;
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);
- return StringUtil.escapify(ret, "\n\r");
+ cachesubstring(end-(maxLength/2-5), end);
+ return StringUtil.escapify(ret, "\n\r\t");
}
private String cachesubstring(int start, int end) {
return cache.substring(start, end);
}
+ public void close() { }
}