Mercurial Hosting > luan
changeset 1967:b35e1ccac1bb
fix end-of-line
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 10 Jun 2025 18:42:46 -0600 |
parents | f2967524725b |
children | 2ea6ab849e1a |
files | src/luan/modules/swing/TextAreaLuan.java |
diffstat | 1 files changed, 20 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/luan/modules/swing/TextAreaLuan.java Sun Jun 08 09:28:26 2025 -0600 +++ b/src/luan/modules/swing/TextAreaLuan.java Tue Jun 10 18:42:46 2025 -0600 @@ -13,6 +13,9 @@ import javax.swing.JTextArea; import javax.swing.UIManager; import javax.swing.Timer; +import javax.swing.ActionMap; +import javax.swing.Action; +import javax.swing.AbstractAction; import javax.swing.text.DefaultCaret; import javax.swing.text.BadLocationException; import javax.swing.text.View; @@ -173,6 +176,18 @@ ; } + private final Action endParagraphAction = new AbstractAction() { + @Override public void actionPerformed(ActionEvent e) { + int pos = getCaretPosition(); + String text = getText(); + int len = text.length(); + while (pos < len && text.charAt(pos) != '\n') { + pos++; + } + setCaretPosition(pos); + } + }; + private boolean showWhitespace = false; private List<Range> highlights = Collections.emptyList(); @@ -186,8 +201,11 @@ setCaret(flatLafCaret); } getDocument().addDocumentListener(new WeakDocumentListener(ldl)); - getActionMap().put( DefaultEditorKit.selectWordAction, SwingLuan.selectWordAction ); - getActionMap().put( DefaultEditorKit.selectLineAction, SwingLuan.selectWordAndDotsAction ); + ActionMap actions = getActionMap(); + actions.put( DefaultEditorKit.selectWordAction, SwingLuan.selectWordAction ); + actions.put( DefaultEditorKit.selectLineAction, SwingLuan.selectWordAndDotsAction ); + actions.put( DefaultEditorKit.beginLineAction, actions.get(DefaultEditorKit.beginParagraphAction) ); + actions.put( DefaultEditorKit.endLineAction, endParagraphAction ); } @Override public void updateUI() {