@Override protected int getTo(EditorBuffer buffer) { return buffer.getSize(); } };
@Override protected int getTo(EditorBuffer buffer) { return buffer.getSize(); } };
boolean isEmpty() { return buffer.getSize() == 0 && buffer.getLines().size() == 1; }
@Override void perform(Editor editor, EditorBuffer buffer) throws IOException { int a = Math.min(count, buffer.getSize() - buffer.getCursor()); while (a-- > 0) { buffer.moveRight((char)c); } buffer.moveLeft(); } }
@Override void perform(Editor editor, EditorBuffer buffer) throws IOException { int size = editor.buffer.getSize(); int cursor = editor.buffer.getCursor(); editor.killBuffer.setLength(0); while (cursor < size && editor.buffer.charAt(cursor) != ' ') { editor.killBuffer.append(editor.buffer.charAt(cursor++)); } while (cursor < size && editor.buffer.charAt(cursor) == ' ') { editor.killBuffer.append(editor.buffer.charAt(cursor++)); } } };
@Override String execute(Editor editor, EditorBuffer buffer, int[] sequence, boolean flush) throws IOException { buffer.moveRightBy(buffer.getSize() - buffer.getCursor()); buffer.replace(""); return null; } };
@Override void perform(Editor editor, EditorBuffer buffer) throws IOException { if (buffer.getCursor() < buffer.getSize()) { char c = buffer.charAt(buffer.getCursor()); if (Character.isUpperCase(c)) { c = Character.toLowerCase(c); } else if (Character.isLowerCase(c)) { c = Character.toUpperCase(c); } buffer.moveRight(c); if (buffer.getCursor() > editor.getCursorBound()) { buffer.moveLeft(); } } } };
@Override void perform(Editor editor, EditorBuffer buffer) throws IOException { int count = 0; boolean chars = false; while (true) { if (buffer.getCursor() < buffer.getSize()) { char c = buffer.charAt(buffer.getCursor()); if (!Character.isLetterOrDigit(c)) { if (!chars) { count++; buffer.moveRight(); } else { break; } } else { chars = true; count++; buffer.moveRight(); } } else { break; } } editor.killBuffer.setLength(0); while (count-- > 0) { editor.killBuffer.appendCodePoint(buffer.del()); } editor.killBuffer.reverse(); } };
@Override protected int getTo(EditorBuffer buffer) { return buffer.getSize(); } };
@Override protected int getTo(EditorBuffer buffer) { return buffer.getSize(); } };
@Override void perform(Editor editor, EditorBuffer buffer) throws IOException { if (buffer.getSize() > 2) { int pos = buffer.getCursor(); if (pos > 0) { if (pos < buffer.getSize()) { if (buffer.moveLeft()) { char a = buffer.charAt(pos - 1); char b = buffer.charAt(pos); buffer.moveRight(b); // Should be assertion buffer.moveRight(a); // Should be assertion // A bit not great : need to find a better way to do that... if (editor.console.getMode() == Mode.VI_MOVE && buffer.getCursor() > editor.getCursorBound()) { buffer.moveLeft(); } } } else { if (buffer.moveLeft() && buffer.moveLeft()) { char a = buffer.charAt(pos - 2); char b = buffer.charAt(pos - 1); buffer.moveRight(b); // Should be assertion buffer.moveRight(a); // Should be assertion } } } } } };
public void testAppend2() throws IOException { buffer.append("abc"); assertFalse(buffer.hasNext()); assertEquals(3, buffer.getSize()); assertEquals("abc", buffer.getLine()); }
public void testAppend1() throws IOException { buffer.append('a'); assertFalse(buffer.hasNext()); assertEquals(1, buffer.getSize()); assertEquals("a", buffer.getLine()); }
public void testAppend3() throws IOException { buffer.append("a\rc"); assertFalse(buffer.hasNext()); assertEquals(2, buffer.getSize()); assertEquals("ac", buffer.getLine()); }
public void testReadLine() throws IOException { for (String test : new String[]{"a\n","a\r\n"}) { resetConsole(); buffer.append(test); assertTrue(buffer.hasNext()); assertEquals("a", buffer.next()); assertFalse(buffer.hasNext()); assertEquals(0, buffer.getSize()); } // for (String test : new String[]{"a\n\n"}) { resetConsole(); buffer.append(test); assertTrue(buffer.hasNext()); assertEquals("a", buffer.next()); assertEquals("", buffer.next()); assertFalse(buffer.hasNext()); assertEquals(0, buffer.getSize()); } }
@Override void perform(Editor editor, EditorBuffer buffer) throws IOException { int a = Math.min(count, buffer.getSize() - buffer.getCursor()); while (a-- > 0) { buffer.moveRight((char)c); } buffer.moveLeft(); } }
@Override String execute(Editor editor, EditorBuffer buffer, int[] sequence, boolean flush) throws IOException { buffer.moveRightBy(buffer.getSize() - buffer.getCursor()); buffer.replace(""); return null; } };