Index: src/document/katedocument.cpp =================================================================== --- src/document/katedocument.cpp +++ src/document/katedocument.cpp @@ -2951,6 +2951,18 @@ return false; } + // Check if entered closing bracket is already balanced + const QChar typedChar = chars.at(0); + const QChar openBracket = matchingStartBracket(typedChar, false); + if (!openBracket.isNull()) { + KTextEditor::Cursor curPos = view->cursorPosition(); + if ((characterAt(curPos) == typedChar) && findMatchingBracket(curPos, 123/*Which value may best?*/).isValid()) { + // Do nothing + view->cursorRight(); + return true; + } + } + /** * auto bracket handling for newly inserted text * remember if we should auto add some @@ -2966,7 +2978,7 @@ /** * closing bracket for the autobracket we inserted earlier? */ - if ( m_currentAutobraceClosingChar == chars[0] && m_currentAutobraceRange ) { + if (m_currentAutobraceClosingChar == typedChar && m_currentAutobraceRange) { // do nothing m_currentAutobraceRange.reset(nullptr); view->cursorRight();