diff --git a/src/internal/QCodeEditor.cpp b/src/internal/QCodeEditor.cpp index 04875ec..3695bd7 100644 --- a/src/internal/QCodeEditor.cpp +++ b/src/internal/QCodeEditor.cpp @@ -842,6 +842,17 @@ void QCodeEditor::keyPressEvent(QKeyEvent *e) setTextCursor(textCursor()); // scroll to the cursor return; } + + if (e->key() == Qt::Key_Home) + { + auto cursor = textCursor(); + cursor.movePosition(QTextCursor::StartOfLine); + auto line = cursor.block().text(); + QString startingSpaces = QRegularExpression("^\\s*").match(line).captured(); + cursor.movePosition(QTextCursor::Right, QTextCursor::MoveAnchor, startingSpaces.count()); + setTextCursor(cursor); + return; + } QTextEdit::keyPressEvent(e); }