public Document(final String str, final CellAttributes defaultColor) {
this.defaultColor = defaultColor;
- // TODO: set different colors based on file extension
+ // Set colors to resemble the Borland IDE colors, but for Java
+ // language keywords.
highlighter.setJavaColors();
String [] rawLines = str.split("\n");
return dirty;
}
+ /**
+ * Unset the dirty flag.
+ */
+ public void setNotDirty() {
+ dirty = false;
+ }
+
/**
* Save contents to file.
*
// If at the beginning of a word already, push past it.
if ((getChar() != -1)
&& (getRawLine().length() > 0)
- && !Character.isSpace((char) getChar())
+ && !Character.isWhitespace((char) getChar())
) {
left();
}
// int line = lineNumber;
while ((getChar() == -1)
|| (getRawLine().length() == 0)
- || Character.isSpace((char) getChar())
+ || Character.isWhitespace((char) getChar())
) {
if (left() == false) {
return;
assert (getChar() != -1);
- if (!Character.isSpace((char) getChar())
+ if (!Character.isWhitespace((char) getChar())
&& (getRawLine().length() > 0)
) {
// Advance until at the beginning of the document or a whitespace
// is encountered.
- while (!Character.isSpace((char) getChar())) {
+ while (!Character.isWhitespace((char) getChar())) {
int line = lineNumber;
if (left() == false) {
// End of document, bail out.
}
if (lineNumber != line) {
// We wrapped a line. Here that counts as whitespace.
- if (!Character.isSpace((char) getChar())) {
+ if (!Character.isWhitespace((char) getChar())) {
// We found a character immediately after the line.
// Done!
return;
}
assert (getChar() != -1);
- if (!Character.isSpace((char) getChar())
+ if (!Character.isWhitespace((char) getChar())
&& (getRawLine().length() > 0)
) {
// Advance until at the end of the document or a whitespace is
// encountered.
- while (!Character.isSpace((char) getChar())) {
+ while (!Character.isWhitespace((char) getChar())) {
line = lineNumber;
if (right() == false) {
// End of document, bail out.
}
if (lineNumber != line) {
// We wrapped a line. Here that counts as whitespace.
- if (!Character.isSpace((char) getChar())
+ if (!Character.isWhitespace((char) getChar())
&& (getRawLine().length() > 0)
) {
// We found a character immediately after the line.
}
if (lineNumber != line) {
// We wrapped a line. Here that counts as whitespace.
- if (!Character.isSpace((char) getChar())) {
+ if (!Character.isWhitespace((char) getChar())) {
// We found a character immediately after the line.
// Done!
return;
}
assert (getChar() != -1);
- if (Character.isSpace((char) getChar())) {
+ if (Character.isWhitespace((char) getChar())) {
// Advance until at the end of the document or a non-whitespace
// is encountered.
- while (Character.isSpace((char) getChar())) {
+ while (Character.isWhitespace((char) getChar())) {
if (right() == false) {
// End of document, bail out.
return;
return lines.get(lineNumber).getDisplayLength();
}
+ /**
+ * Get the entire contents of the document as one string.
+ *
+ * @return the document contents
+ */
+ public String getText() {
+ StringBuilder sb = new StringBuilder();
+ for (Line line: getLines()) {
+ sb.append(line.getRawString());
+ sb.append("\n");
+ }
+ return sb.toString();
+ }
+
}