Skip to content

Commit

Permalink
514 - Paste issue since jline#479
Browse files Browse the repository at this point in the history
  • Loading branch information
jbonofre committed Apr 4, 2020
1 parent db9f36e commit 93bfe1e
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java
Expand Up @@ -5644,10 +5644,28 @@ public boolean mouse() {
}

public boolean beginPaste() {
String str = doReadStringUntil(BRACKETED_PASTE_END);
final Object SELF_INSERT = new Object();
final Object END_PASTE = new Object();
KeyMap<Object> keyMap = new KeyMap<>();
keyMap.setUnicode(SELF_INSERT);
keyMap.setNomatch(SELF_INSERT);
keyMap.setAmbiguousTimeout(0);
keyMap.bind(END_PASTE, BRACKETED_PASTE_END);
StringBuilder sb = new StringBuilder();
while (true) {
Object b = doReadBinding(keyMap, null);
if (b == END_PASTE) {
break;
}
String s = getLastBinding();
if ("\r".equals(s)) {
s = "\n";
}
sb.append(s);
}
regionActive = RegionType.PASTE;
regionMark = getBuffer().cursor();
getBuffer().write(str.replace('\r', '\n'));
getBuffer().write(sb.toString().replace('\r', '\n'));
return true;
}

Expand Down

0 comments on commit 93bfe1e

Please sign in to comment.