diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 5046a8c9a21584d034f5f85f444b6dcaa9b87010..b0caaeb35b0ddb69c97e6aaabf6b7fc43dde9ac0 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -1862,5 +1862,3 @@ SemanticInfo SemanticHighlighter::semanticInfo(const Source &source) return semanticInfo; } - - diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index 4c7c0a038f5e063ebdd6b79037f01d687634b37f..63a4d4c6cc179317898dce87ef4191a983b1e90d 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -46,6 +46,7 @@ #include <cplusplus/ResolveExpression.h> #include <cplusplus/LookupContext.h> +#include <cplusplus/MatchingText.h> #include <cplusplus/Overview.h> #include <cplusplus/ExpressionUnderCursor.h> #include <cplusplus/TokenUnderCursor.h> @@ -1510,11 +1511,14 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item) if (endWithSemicolon) extraChars += QLatin1Char(';'); } else if (autoParenthesesEnabled) { - extraChars += QLatin1Char(')'); - --cursorOffset; - if (endWithSemicolon) { - extraChars += QLatin1Char(';'); + const QChar lookAhead = m_editor->characterAt(m_editor->position() + 1); + if (MatchingText::shouldInsertMatchingText(lookAhead)) { + extraChars += QLatin1Char(')'); --cursorOffset; + if (endWithSemicolon) { + extraChars += QLatin1Char(';'); + --cursorOffset; + } } } }