diff options
author | Paul Phillips <paulp@improving.org> | 2011-02-11 04:00:46 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-02-11 04:00:46 +0000 |
commit | e9f1ccb0308f207303af2507415379c4d8dbcd6a (patch) | |
tree | 63405092a3b6eee03ee1ecef6a7da1578dd23b42 /src/jline | |
parent | 8e380b67366ab83d81fd401632af17d7cc0c2205 (diff) | |
download | scala-e9f1ccb0308f207303af2507415379c4d8dbcd6a.tar.gz scala-e9f1ccb0308f207303af2507415379c4d8dbcd6a.tar.bz2 scala-e9f1ccb0308f207303af2507415379c4d8dbcd6a.zip |
This addresses a few long standing irritations ...
This addresses a few long standing irritations with jline, rewriting
chunks of it along the way. No longer does columnar output spill over
and double space everything if you're unlucky with the chosen widths.
Pagination works for a higher definition of work. Etc.
Also, for those who enjoy operating missile systems from their repls,
crash recovery now requests your permission before replaying the
session.
Closes #4194, no review.
Diffstat (limited to 'src/jline')
4 files changed, 10 insertions, 8 deletions
diff --git a/src/jline/project/build.properties b/src/jline/project/build.properties index c6143fe8df..3ecffcd808 100644 --- a/src/jline/project/build.properties +++ b/src/jline/project/build.properties @@ -3,6 +3,6 @@ project.organization=org.improving project.name=jline sbt.version=0.7.5.RC0 project.version=0.98 -#build.scala.versions=2.8.1 -build.scala.versions=2.9.0-SNAPSHOT +build.scala.versions=2.8.1 +/*build.scala.versions=2.9.0-SNAPSHOT*/ project.initialize=false diff --git a/src/jline/project/plugins/project/build.properties b/src/jline/project/plugins/project/build.properties index f39984bd73..0b7014c531 100644 --- a/src/jline/project/plugins/project/build.properties +++ b/src/jline/project/plugins/project/build.properties @@ -1,3 +1,3 @@ #Project properties -#Fri Jan 21 08:49:59 PST 2011 +#Thu Feb 10 14:58:03 PST 2011 plugin.uptodate=true diff --git a/src/jline/src/main/java/scala/tools/jline/WindowsTerminal.java b/src/jline/src/main/java/scala/tools/jline/WindowsTerminal.java index 66d2c69f8d..4c70155f59 100644 --- a/src/jline/src/main/java/scala/tools/jline/WindowsTerminal.java +++ b/src/jline/src/main/java/scala/tools/jline/WindowsTerminal.java @@ -196,6 +196,8 @@ public class WindowsTerminal if (indicator == SPECIAL_KEY_INDICATOR.code || indicator == NUMPAD_KEY_INDICATOR.code) { int c = readCharacter(in); WindowsKey key = WindowsKey.valueOf(c); + if (key == null) + return 0; switch (key) { case UP_ARROW_KEY: diff --git a/src/jline/src/main/java/scala/tools/jline/console/ConsoleReader.java b/src/jline/src/main/java/scala/tools/jline/console/ConsoleReader.java index bff0a10648..861c2d58bd 100644 --- a/src/jline/src/main/java/scala/tools/jline/console/ConsoleReader.java +++ b/src/jline/src/main/java/scala/tools/jline/console/ConsoleReader.java @@ -219,7 +219,7 @@ public class ConsoleReader * * @return false if we failed (e.g., the buffer was empty) */ - final boolean resetLine() throws IOException { + protected final boolean resetLine() throws IOException { if (buf.cursor == 0) { return false; } @@ -378,7 +378,7 @@ public class ConsoleReader * @param str * @return */ - final String expandEvents(String str) throws IOException { + protected String expandEvents(String str) throws IOException { StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); @@ -650,7 +650,7 @@ public class ConsoleReader /** * Move the visual cursor backwards without modifying the buffer cursor. */ - private void back(final int num) throws IOException { + protected void back(final int num) throws IOException { if (num == 0) return; if (terminal.isAnsiSupported()) { int width = getTerminal().getWidth(); @@ -736,7 +736,7 @@ public class ConsoleReader return backspace(1) == 1; } - private boolean moveToEnd() throws IOException { + protected boolean moveToEnd() throws IOException { return moveCursor(buf.length() - buf.cursor) > 0; } @@ -1502,7 +1502,7 @@ public class ConsoleReader * * @return true if successful */ - private boolean complete() throws IOException { + protected boolean complete() throws IOException { // debug ("tab for (" + buf + ")"); if (completers.size() == 0) { return false; |