// Select line - Repeat to select next lines // Suggested shortcut: C+l // Author: AhLeung Cheng https://plus.google.com/+AhLeungCheng // GNU General Public License if (textArea.getSelectionCount() == 0) { caretLine = textArea.getCaretLine(); lineEndOffset = textArea.getLineEndOffset(caretLine); textArea.setSelection(new Selection.Range(textArea.getLineStartOffset(caretLine), textArea.getBufferLength() >= lineEndOffset? lineEndOffset : lineEndOffset-1)); } else { int[] lines = textArea.getSelectedLines(); endLine = lines[lines.length-1]; endOffset = buffer.getLineEndOffset(endLine); if (endLine==buffer.getLineCount()-1) endOffset--; startOffset = buffer.getLineStartOffset(lines[0]); s = textArea.getSelection(0); if (s.getStart()!=startOffset || s.getEnd()!=endOffset) textArea.setSelection(new Selection.Range(startOffset, endOffset)); else if (endLine!=buffer.getLineCount()-1) { endLine++; endOffset = buffer.getLineEndOffset(endLine); if (endLine==buffer.getLineCount()-1) endOffset--; textArea.setSelection(new Selection.Range(startOffset, endOffset)); } }