Allow auto matching of string/char literals.

This commit is contained in:
Roberto Raggi
2009-09-22 11:25:29 +02:00
parent 65a544793e
commit 8290563cd2
2 changed files with 10 additions and 4 deletions

View File

@@ -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;