Commit 8290563c authored by Roberto Raggi's avatar Roberto Raggi

Allow auto matching of string/char literals.

parent 65a54479
......@@ -1276,7 +1276,7 @@ QString CPPEditor::autoComplete(QTextCursor &cursor, const QString &textToInsert
const bool checkBlockEnd = m_allowSkippingOfBlockEnd;
m_allowSkippingOfBlockEnd = false; // consume blockEnd.
if (!contextAllowsAutoParentheses(cursor))
if (!contextAllowsAutoParentheses(cursor, textToInsert))
return QString();
QString text = textToInsert;
......@@ -1374,9 +1374,14 @@ int CPPEditor::paragraphSeparatorAboutToBeInserted(QTextCursor &cursor)
return 0;
}
bool CPPEditor::contextAllowsAutoParentheses(const QTextCursor &cursor) const
bool CPPEditor::contextAllowsAutoParentheses(const QTextCursor &cursor,
const QString &textToInsert) const
{
if (! MatchingText::shouldInsertMatchingText(cursor))
QChar ch;
if (! textToInsert.isEmpty())
ch = textToInsert.at(0);
if (! (MatchingText::shouldInsertMatchingText(cursor) || ch == QLatin1Char('\'') || ch == QLatin1Char('"')))
return false;
CPlusPlus::TokenUnderCursor tokenUnderCursor;
......
......@@ -217,7 +217,8 @@ protected:
bool autoBackspace(QTextCursor &cursor);
int paragraphSeparatorAboutToBeInserted(QTextCursor &cursor);
bool contextAllowsAutoParentheses(const QTextCursor &cursor) const;
bool contextAllowsAutoParentheses(const QTextCursor &cursor,
const QString &textToInsert = QString()) const;
private Q_SLOTS:
void updateFileName();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment