@@ -31,6 +31,7 @@ import com.intellij.util.EventDispatcher
3131import com.intellij.util.messages.MessageBusConnection
3232import com.intellij.util.ui.JBUI
3333import java.awt.Color
34+ import java.awt.event.InputEvent
3435import java.awt.event.KeyEvent
3536import java.util.*
3637import javax.swing.KeyStroke
@@ -57,32 +58,31 @@ class AutoDevInput(
5758 }
5859
5960 DumbAwareAction .create {
60- object : AnAction () {
61- override fun actionPerformed (actionEvent : AnActionEvent ) {
62- val editor = editor ? : return
63- // Insert a new line
64- CommandProcessor .getInstance().executeCommand(project, {
65- val eol = " \n "
66- val document = editor.document
67- val caretOffset = editor.caretModel.offset
68- val lineEndOffset = document.getLineEndOffset(document.getLineNumber(caretOffset))
69- val textAfterCaret = document.getText(TextRange (caretOffset, lineEndOffset))
70-
71- WriteCommandAction .runWriteCommandAction(project) {
72- if (textAfterCaret.isBlank()) {
73- document.insertString(caretOffset, eol)
74- } else {
75- document.insertString(caretOffset, eol)
76- editor.caretModel.moveToOffset(caretOffset + eol.length)
77- }
78- }
79- }, " Insert New Line" , null )
61+ val editor = editor ? : return @create
62+ // Insert a new line
63+ CommandProcessor .getInstance().executeCommand(project, {
64+ val eol = " \n "
65+ val document = editor.document
66+ val caretOffset = editor.caretModel.offset
67+ val lineEndOffset = document.getLineEndOffset(document.getLineNumber(caretOffset))
68+ val textAfterCaret = document.getText(TextRange (caretOffset, lineEndOffset))
69+
70+ WriteCommandAction .runWriteCommandAction(project) {
71+ if (textAfterCaret.isBlank()) {
72+ document.insertString(caretOffset, eol)
73+ // move to next line
74+ EditorModificationUtil .moveCaretRelatively(editor, 1 )
75+ } else {
76+ document.insertString(caretOffset, eol)
77+ editor.caretModel.moveToOffset(caretOffset + eol.length)
78+ }
8079 }
81- }
80+ }, " Insert New Line " , null )
8281 }.registerCustomShortcutSet(
8382 CustomShortcutSet (
8483 KeyboardShortcut (KeyStroke .getKeyStroke(KeyEvent .VK_ENTER , KeyEvent .CTRL_DOWN_MASK ), null ),
85- KeyboardShortcut (KeyStroke .getKeyStroke(KeyEvent .VK_ENTER , KeyEvent .META_DOWN_MASK ), null )
84+ KeyboardShortcut (KeyStroke .getKeyStroke(KeyEvent .VK_ENTER , KeyEvent .META_DOWN_MASK ), null ),
85+ KeyboardShortcut (KeyStroke .getKeyStroke(KeyEvent .VK_ENTER , KeyEvent .SHIFT_DOWN_MASK ), null ),
8686 ), this
8787 )
8888
@@ -113,6 +113,7 @@ class AutoDevInput(
113113 editor.caretModel.moveToOffset(0 )
114114 editor.scrollPane.setBorder(border)
115115 editor.contentComponent.setOpaque(false )
116+
116117 return editor
117118 }
118119
@@ -160,7 +161,13 @@ class AutoDevInput(
160161 " Append text" ,
161162 " intentions.write.action" ,
162163 {
163- insertStringAndSaveChange(project, text, this .editor!! .document, this .editor!! .document.textLength, false )
164+ insertStringAndSaveChange(
165+ project,
166+ text,
167+ this .editor!! .document,
168+ this .editor!! .document.textLength,
169+ false
170+ )
164171 })
165172 }
166173}
0 commit comments